Skip to content

Commit d77a783

Browse files
committed
feat: switch to standard bottom panel layout (SteamOS/Nobara style)
1 parent 3d6849e commit d77a783

1 file changed

Lines changed: 16 additions & 50 deletions

File tree

scripts/setup_plasma_panels.js

Lines changed: 16 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Remove all existing panels to start fresh (copying to a static array to prevent mutation issues)
1+
// Remove all existing panels to start fresh
22
var ids = [];
33
for (var i = 0; i < panelIds.length; i++) {
44
ids.push(panelIds[i]);
@@ -10,56 +10,22 @@ for (var i = 0; i < ids.length; i++) {
1010
}
1111
}
1212

13-
// 1. Top Panel (GNOME 2 style)
14-
var topPanel = new Panel();
15-
topPanel.location = "top";
16-
topPanel.height = 28;
13+
// Create standard single bottom panel (SteamOS / Nobara style)
14+
var panel = new Panel();
15+
panel.location = "bottom";
16+
panel.height = 40;
1717

18-
// Add widgets to top panel
19-
var kicker = topPanel.addWidget("org.kde.plasma.kicker");
20-
kicker.currentConfigGroup = ["General"];
21-
kicker.writeConfig("icon", "distributor-logo-fedora");
18+
// Add standard widgets in order
19+
panel.addWidget("org.kde.plasma.kickoff"); // Application Launcher
20+
panel.addWidget("org.kde.plasma.pager"); // Virtual Desktop Switcher
2221

23-
// Active Application Name & Window Actions (macOS style)
24-
var appTitle = topPanel.addWidget("com.github.antroids.application-title-bar");
25-
appTitle.currentConfigGroup = ["Appearance"];
26-
appTitle.writeConfig("widgetElements", "windowCloseButton,windowMinimizeButton,windowMaximizeButton,windowTitle");
27-
appTitle.writeConfig("widgetElementsMaximized", "windowCloseButton,windowMinimizeButton,windowMaximizeButton,windowTitle");
28-
appTitle.writeConfig("windowTitleFontSize", 9);
29-
appTitle.writeConfig("widgetButtonsIconsTheme", 1);
30-
appTitle.currentConfigGroup = ["Behavior"];
31-
appTitle.writeConfig("widgetMouseAreaWheelEnabled", false);
32-
33-
topPanel.addWidget("org.kde.plasma.appmenu"); // Global Application Menu
34-
topPanel.addWidget("org.kde.plasma.panelspacer");
35-
topPanel.addWidget("org.kde.plasma.systemtray");
36-
var clock = topPanel.addWidget("org.kde.plasma.digitalclock");
37-
clock.currentConfigGroup = ["Appearance"];
38-
clock.writeConfig("showDate", true);
39-
clock.writeConfig("dateDisplayFormat", 1); // Always beside time (forces single line)
40-
clock.writeConfig("dateFormat", "custom");
41-
clock.writeConfig("customDateFormat", "ddd d MMM");
42-
clock.writeConfig("useCustomFont", true);
43-
clock.writeConfig("fontFamily", "Inter");
44-
clock.writeConfig("fontSize", 12);
45-
clock.writeConfig("fontStyleName", "SemiBold");
46-
clock.writeConfig("fontWeight", 600);
47-
clock.writeConfig("boldText", true);
48-
clock.writeConfig("autoFontAndSize", false);
49-
50-
// 2. Bottom Panel (GNOME 2 style with Icons-Only Dock)
51-
var bottomPanel = new Panel();
52-
bottomPanel.location = "bottom";
53-
bottomPanel.height = 28;
54-
55-
// Add widgets to bottom panel
56-
bottomPanel.addWidget("org.kde.plasma.showdesktop");
57-
var tasks = bottomPanel.addWidget("org.kde.plasma.icontasks"); // Icons-Only Task Manager
22+
var tasks = panel.addWidget("org.kde.plasma.icontasks"); // Icons-Only Task Manager
5823
tasks.currentConfigGroup = ["General"];
59-
tasks.writeConfig("groupingStrategy", 0); // Do Not Group
60-
tasks.writeConfig("middleClickAction", "Close");
6124
tasks.writeConfig("showOnlyCurrentDesktop", true);
62-
bottomPanel.addWidget("org.kde.plasma.panelspacer");
63-
bottomPanel.addWidget("org.kde.plasma.pager"); // Workspace Switcher
64-
bottomPanel.addWidget("org.kde.plasma.marginsseparator");
65-
bottomPanel.addWidget("org.kde.plasma.trash");
25+
tasks.writeConfig("groupingStrategy", 0); // Do Not Group
26+
tasks.writeConfig("middleClickAction", "Close");
27+
28+
panel.addWidget("org.kde.plasma.panelspacer"); // Spacer to push system tray to the right
29+
panel.addWidget("org.kde.plasma.systemtray");
30+
panel.addWidget("org.kde.plasma.digitalclock");
31+
panel.addWidget("org.kde.plasma.showdesktop");

0 commit comments

Comments
 (0)