Refactor screen rotation setup and GTK theme configuration in first-boot process

Update the one-shot script to set screen rotation using kanshi based on kernel command line parameters, replacing the previous wlr-randr method. The script now writes the configuration to ~/.config/kanshi/config and sets the GTK dark theme (PiXnoir or Adwaita-dark) at first login. Additionally, enhance documentation to reflect these changes and clarify the role of the new script in the first-boot process.
This commit is contained in:
nearxos
2026-02-23 09:59:32 +02:00
parent fd4e54f125
commit 8b4930d4b9
13 changed files with 488 additions and 113 deletions

View File

@@ -8,5 +8,7 @@ first-boot.sh downloads these from `FILE_SERVER` (e.g. `http://10.20.50.1:5000/f
| 99-wallpaper.conf | /etc/lightdm/lightdm.conf.d/99-wallpaper.conf |
| 99-default-session.conf | /etc/lightdm/lightdm.conf.d/99-default-session.conf (rpd-labwc) |
| maliit-keyboard.desktop | /home/pi/.config/autostart/maliit-keyboard.desktop |
| 01-set-rotation-once.desktop | /home/pi/.config/autostart/01-set-rotation-once.desktop (with 01-set-rotation-once.sh) |
| 01-set-rotation-once.desktop | /home/pi/.config/autostart/01-set-rotation-once.desktop (with 01-set-rotation-once.sh; writes kanshi config + dark theme) |
| 02-set-wallpaper-once.desktop | /home/pi/.config/autostart/02-set-wallpaper-once.desktop (with 02-set-wallpaper-once.sh). Wallpaper is also set during first-boot via pcmanfm. |
| wf-panel-pi.ini | Optional: /home/pi/.config/wf-panel-pi/wf-panel-pi.ini (custom taskbar layout and css_path). See TASKBAR-THEME.md. |
| panel-theme.css | Optional: /home/pi/.config/wf-panel-pi/panel-theme.css (custom taskbar CSS). Deploy with wf-panel-pi.ini; see TASKBAR-THEME.md. |

View File

@@ -0,0 +1,44 @@
/* Custom wf-panel-pi theme dark, rounded panel
* Place at ~/.config/wf-panel-pi/panel-theme.css
* Set css_path in wf-panel-pi.ini to this file (absolute path).
*/
/* Panel window */
window {
background-color: transparent;
}
/* Main panel box dark with slight rounding and shadow */
window box {
background-color: rgba(45, 45, 45, 0.96);
border-radius: 10px;
margin: 4px;
padding: 2px 8px;
border: 1px solid rgba(255, 255, 255, 0.06);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
/* Plugin / launcher buttons */
button,
button:hover,
button:active {
background: transparent;
border: none;
border-radius: 6px;
padding: 4px;
color: #e0e0e0;
}
button:hover {
background: rgba(255, 255, 255, 0.08);
}
button:active {
background: rgba(255, 255, 255, 0.12);
}
/* Labels (e.g. clock text) */
label {
color: #e0e0e0;
font-size: 11pt;
}

View File

@@ -0,0 +1,21 @@
# wf-panel-pi custom theme example
# Copy to ~/.config/wf-panel-pi/wf-panel-pi.ini (user pi)
# Optional: copy panel-theme.css to ~/.config/wf-panel-pi/panel-theme.css
# and ensure css_path below points to it. Restart panel: pkill wf-panel-pi
[panel]
# Custom CSS (use absolute path; replace /home/pi with actual $PI_HOME if different)
css_path = /home/pi/.config/wf-panel-pi/panel-theme.css
# Layout
widgets_left = smenu spacing0 spacing4 launchers spacing8 window-list
widgets_center = none
widgets_right = tray power ejecter updater spacing2 connect spacing2 bluetooth spacing2 netman spacing2 volumepulse spacing2 clock spacing2 batt spacing2 squeek
# Size and position
icon_size = 28
minimal_height = 28
position = top
# Dark background (ARGB)
background_color = #2D2D2DFF
# Optional: autohide
autohide = false
autohide_duration = 300