Changing panel height in kde6

I’m unable to reduce panel height bellow 32px

My screen resolution is 1366x768. in this resolution the UI looks so big…

i tried manual options. to edit plasmashellrc file …
but after restarting plasma the manual values automatically changes …

plasmashellrc file…

[ActionsWidget]
ColumnState=AAAA/wAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkkAAAACAQAAAQAAAAAAAAAAAAAAAGT/////AAAAgQAAAAAAAAACAAAA+gAAAAEAAAAAAAABTwAAAAEAAAAAAAAD6AAAAABk

[ConfigDialog]
1366x768 screen: Height=550
1366x768 screen: Width=788

[General]
Number of Actions=0

[KFileDialog Settings]
detailViewIconSize=16

[KPropertiesDialog]
1366x768 screen: Height=568
1366x768 screen: Width=483

[PlasmaViews][Panel 143]
floating=1
panelLengthMode=1
panelVisibility=2

[PlasmaViews][Panel 143][Defaults]
thickness=44

[PlasmaViews][Panel 203]
floating=1
panelLengthMode=1
panelVisibility=2

[PlasmaViews][Panel 203][Defaults]
thickness=32

[PlasmaViews][Panel 71]
floating=0
panelLengthMode=0

[PlasmaViews][Panel 71][Defaults]
thickness=32

[Updates]
performed=/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/containmentactions_middlebutton.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_font_settings.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_rename_timezonedisplay_key.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_migrateiconsetting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/keyboardlayout_remove_shortcut.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/klipper_clear_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/maintain_existing_desktop_icon_sizes.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/mediaframe_migrate_useBackground_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/move_desktop_layout_config.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/no_middle_click_paste_on_panels.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/systemloadviewer_systemmonitor.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/unlock_widgets.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/folderview_fix_recursive_screenmapping.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/digitalclock_migrate_showseconds_setting.js,/usr/share/plasma/shells/org.kde.plasma.desktop/contents/updates/migrate_font_weights.js

whenever i change thickness bellow 32 i rersets to 32…

[PlasmaViews][Panel *][Defaults]
thickness=32

before my desktop looks like this … right panel 20px, top 24px , bottom 32px
old desktop look

but now … right panel 32px , top 32px, bottom 44px
currect look

referances…
https://www.reddit.com/r/kde/comments/1b8sf5p/how_to_make_the_panel_height_less_than_28_pixels/

i use these commands to change the values of my plasma panel. i have a little Script, using these commands, that automatically puts my panel right at start up, in case my machine crashed with the panel down, or sized wrongly, or something like that. Found it helpful to be able to control the panel

#maximum length
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.maximumLength = '3290';"

#minimum length 
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.minimumLength = '3290';"

#location
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "panels()[0].location = \"bottom\""

#postion
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.alignment = \"centre\"";

#thickness
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.height =91"

#panel visibility. These values are available #autohide, windowsgobelow, windowscover, #dodgewindows,  & null.
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "panels()[0].hiding = \"null\""

A little bash script to run on autostart to make F8 able to change the values of the panel hiding abilities. You can modify it at will.

#! /usr/bin/bash
#you may have to install notify-send with 'pacman -S notify-send'

KDEpanelup() { 
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.maximumLength = '3290';";
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.minimumLength = '3290';";
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "panels()[0].location = \"bottom\"";
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.alignment = \"centre\"";
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.height =91";
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "panels()[0].hiding = \"$value\"";sleep 1.4;
};

runmain() {
 if [ $value = "null" ];then 
value="autohide";
notify-send -t 7777 "Panel Is On Auto Hide.";
elif [ $value = "autohide" ];then 
value="dodgewindows";
notify-send -t 7777 "Panel Is On dodge Windows.";
elif [ $value = "dodgewindows" ];then
value="windowsgobelow";
notify-send -t 7777 "Panel Is On windows go below.";
elif [ $value = "windowsgobelow" ];then 
value="null";
notify-send -t 7777 "Panel Is Always Visable.";
fi;
}

#The default value of your panel.	
value='null'
#use 'xinput' to determine your keyboard id number.
#Default key to press is F8.

while : ;do
STATE1=$(xinput --query-state 9);
if [[ $STATE1 = *"key[74]=down"* ]];then runmain;KDEpanelup;fi;
sleep 1
done

if i run just the line for setting height… (can i? or have to run the whole script)
i does nothing my panel id is 71

qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[71]); p.height =22"


No you should be able to use the height setting by itself. Are you sure your panel Ids=71, that seems awfully high. When i use two panels one is 0 and the other 1, how many panels do you use?

#see it this finds the right panel id - between 0 and 99, pressing F8, or reaching 99 for panel Ids breaks the routine.

number=0
while :; do
STATE1=$(xinput --query-state 9);
qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[$number]); p.height =21"
echo 'number='$number
if [ $number -gt 99 ];then break;elif [[ $STATE1 = *"key[74]=down"* ]];then break;fi
number=$((number+1))
sleep 2
done

yes these 3 are my panel ids…

this loop continues …

WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=1
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=2
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=3
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=4
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=5
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=6
..
..
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=96
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=97
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=98
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=99
WARNING: running xinput against an Xwayland server. See the xinput man page for details.

number=100

upto 100

Yes this script wont run in Wayland server, you will have to use the X11 server, this might also be why your panel is acting different.

(the quick way to turn the X11 on, that is if you want to use it.
settings
type sddm
select behaviour
select user & x11
apply
logout, login)

just the warning gone nothing other than that…

Summary
while :; do STATE1=$(xinput --query-state 9); qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[$number]); p.height =21"; echo 'number='$number; if [ $number -gt 99 ];then break;elif [[ $STATE1 = *"key[74]=down"* ]];then break;fi; number=$((number+1)); done
Error: org.freedesktop.DBus.Error.Failed
Error: SyntaxError: Expected token `numeric literal' at line 1

Backtrace:
@:1
number=
bash: [: -gt: unary operator expected

number=1

number=2

number=3

number=4

number=5

number=6

number=7

number=8

number=9

number=10

number=11

number=12

number=13

number=14

number=15

number=16

number=17

number=18

number=19

number=20

number=21

number=22

number=23

number=24

number=25

number=26

number=27

number=28

number=29

number=30

number=31

number=32

number=33

number=34

number=35

number=36

number=37

number=38

number=39

number=40

number=41

number=42

number=43

number=44

number=45

number=46

number=47

number=48

number=49

number=50

number=51

number=52

number=53

number=54

number=55

number=56

number=57

number=58

number=59

number=60

number=61

number=62

number=63

number=64

number=65

number=66

number=67

number=68

number=69

number=70

number=71

number=72

number=73

number=74

number=75

number=76

number=77

number=78

number=79

number=80

number=81

number=82

number=83

number=84

number=85

number=86

number=87

number=88

number=89

number=90

number=91

number=92

number=93

number=94

number=95

number=96

number=97

number=98

number=99

number=100

it looks like you got the wrong keyboard number. Did you use xinput to check your keyboard id?

If it is your main panel try this, or try changing the ‘panelById(panelIds[0])’ to ‘panelById(panelIds[1])’, or ‘panelById(panelIds[2])’, if you have more panels.

qdbus org.kde.plasmashell /PlasmaShell evaluateScript "p = panelById(panelIds[0]); p.height =21"

Is, reboot and change it in the login menu at the bottom left.
No need for start

:slight_smile:

1 Like

nothing work btw :slightly_smiling_face:

Did you try changing it via gui (edit panel mode) to 28 then changing the scale in display config. mind you some themes get in the way so might try changing that as well.

GUI edit option doesn’t have value bellow 32

As i said the theme can get in the way try changing the plasma style or manually changing its config. But i would start from just changing the style.

Plasma themes and plugins | Developer locations here for configs if your using the normal garuda one it should be under usr

this cant be lower than 32
image

other than gui, ->i was trying to edit .plasmashellrc


are you talking about this …

╰─λ la /usr/share/plasma/layout-templates/
 org.garuda.desktop.defaultDock      org.kde.plasma.desktop.defaultPanel
 org.garuda.desktop.defaultPanel     org.kde.plasma.desktop.emptyPanel
 org.kde.plasma.desktop.appmenubar

Ok the values are … in org.kde.plasma.desktop.defaultPanel is

File: /usr/share/plasma/layout-templates/org.kde.plasma.desktop.defaultPanel/contents/layout.js
var panel = new Panel
var panelScreen = panel.screen

// No need to set panel.location as ShellCorona::addPanel will automatically pick one available edge

// For an Icons-Only Task Manager on the bottom, *3 is too much, *2 is too little
// Round down to next highest even number since the Panel size widget only displays
// even numbers
panel.height = 2 * Math.floor(gridUnit * 2.5 / 2)

// Restrict horizontal panel to a maximum size of a 21:9 monitor
const maximumAspectRatio = 21/9;
if (panel.formFactor === "horizontal") {
const geo = screenGeometry(panelScreen);
const maximumWidth = Math.ceil(geo.height * maximumAspectRatio);

if (geo.width > maximumWidth) {
panel.alignment = "center";
panel.minimumLength = maximumWidth;
panel.maximumLength = maximumWidth;
}
}

And the values are … in garuda.desktop.defaultDock is

File: /usr/share/plasma/layout-templates/org.garuda.desktop.defaultPanel/contents/layout.js
var plasma = getApiVersion(1)

// Center Krunner on screen - requires relogin
const krunner = ConfigFile('krunnerrc')
krunner.group = 'General'
krunner.writeEntry('FreeFloating', true);

// Change keyboard repeat delay from default 600ms to 250ms
const kbd = ConfigFile('kcminputrc')
kbd.group = 'Keyboard'
kbd.writeEntry('RepeatDelay', 250);

// Create Top Panel
const panel = new Panel
panel.alignment = "left"
panel.floating = false
panel.height = Math.round(gridUnit * 1.8);
panel.location = "top"

Now, i changed the panel.height = Math.round(gridUnit * 1.8); value to Math.round(gridUnit * 1.0);
but still iam not able to do bellow 32 … Are you talking about this???

in default they said this

 `// For an Icons-Only Task Manager on the bottom, *3 is too much, *2 is too little`
`// Round down to next highest even number since the Panel size widget only displays even numbers`
`panel.height = 2 * Math.floor(gridUnit * 2.5 / 2)`

but idk what is the value of gridUnit there…

Ok, The problem solved

the limiting panel height to 32 is only specific to Dragonized themes …
for default plasma themes no such problems happens…

more specifically : i noticed the issue is related to plasma style . In changing to default breeze style it will fix.

plasma themes are stored in /usr/share/plasma/desktoptheme … but what i should i changed to allow panel height to be <32

Summary
╭─shanku@shanku in /usr/share/plasma/desktoptheme🔒
╰─λ ls
drwxr-xr-x - root  9 Aug 19:27  breeze-dark
drwxr-xr-x - root  9 Aug 19:27  breeze-light
drwxr-xr-x - root  9 Aug 19:27  default
drwxr-xr-x - root 29 Jul 12:54  Dr460nized
drwxr-xr-x - root 29 Jul 12:54  Dr460nized-Candy
drwxr-xr-x - root  9 Aug 19:27  oxygen
drwxr-xr-x - root 29 Jul 12:54  Sweet

╭─shanku@shanku in /usr/share/plasma/desktoptheme/Dr460nized🔒 took 12ms
╰─λ tree
.
├── colors
├── dialogs
│   └── background.svgz
├── metadata.adaptativetrans
├── metadata.json
├── plasmarc
├── preview
│   └── preview.png
└── widgets
├── actionbutton.svgz
├── action-overlays.svgz
├── analog_meter.svgz
├── arrows.svgz
├── background.svgz
├── bar_meter_horizontal.svgz
├── bar_meter_vertical.svgz
├── busywidget.svgz
├── button.svgz
├── checkmarks.svgz
├── clock.svgz
├── configuration-icons.svgz
├── containment-controls.svgz
├── frame.svgz
├── glowbar.svgz
├── lineedit.svg
├── line.svgz
├── listitem.svgz
├── menubaritem.svgz
├── pager.svgz
├── panel-background.svg
├── plot-background.svgz
├── scrollbar.svgz
├── scrollwidget.svgz
├── slider.svgz
├── tabbar.svgz
├── tasks.svgz
├── timer.svgz
├── toolbar.svgz
├── tooltip.svgz
├── translucentbackground.svgz
└── viewitem.svgz

4 directories, 38 files

╭─shanku@shanku in /usr/share/plasma/desktoptheme/breeze-dark🔒 took 13ms
╰─λ tree
.
├── colors
├── metadata.json
└── plasmarc

i can’t found any other file can do something except plasmarc though panel properties stored in plasmashellrc

╭─shanku@shanku in /usr/share/plasma/desktoptheme/Dr460nized🔒 took 13ms
╰─λ cat plasmarc
File: plasmarc
[Theme]
name=Dr460nized

[Wallpaper]
defaultWallpaperTheme=Malefor
defaultFileSuffix=.jpg
defaultWidth=3840
defaultHeight=1920

[Settings]
FallbackTheme=Sweet

[AdaptiveTransparency]
enabled=true

[BlurBehindEffect]
enabled=true

vs the plsamarc in breeze-dark

╭─shanku@shanku in /usr/share/plasma/desktoptheme/breeze-dark🔒 took 4ms
╰─λ cat plasmarc
File: plasmarc
[Wallpaper]
defaultWallpaperTheme=Next
defaultFileSuffix=.png
defaultWidth=1920
defaultHeight=1080

[ContrastEffect]
enabled=true
contrast=0.2
intensity=0.6
saturation=10

[AdaptiveTransparency]
enabled=true

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.