From 5b1b915e14505c4e2a2162fb90f0796062b461ee Mon Sep 17 00:00:00 2001 From: clawdie Date: Thu, 4 Jun 2026 08:47:56 +0200 Subject: [PATCH] Merge pull request 'merge/all-three-fixes' (#11) from merge/all-three-fixes into main Reviewed-on: https://code.smilepowered.org/clawdie/clawdie-iso/pulls/11 --- build.sh | 18 ++-- .../clawdie-xfce-visuals-guard.desktop | 8 -- .../clawdie-xfce-visuals-guard.sh | 87 ------------------ live/operator-session/hw-report | 1 - .../icons/clawdie-start-48.png | Bin 0 -> 1364 bytes .../xfconf/xfce-perchannel-xml/displays.xml | 41 +++++++++ .../xfce-perchannel-xml/xfce4-desktop.xml | 22 +++++ .../xfce-perchannel-xml/xfce4-panel.xml | 5 +- 8 files changed, 75 insertions(+), 107 deletions(-) delete mode 100644 live/operator-session/autostart/clawdie-xfce-visuals-guard.desktop delete mode 100755 live/operator-session/clawdie-xfce-visuals-guard.sh create mode 100644 live/operator-session/icons/clawdie-start-48.png create mode 100644 live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml diff --git a/build.sh b/build.sh index 8790182..3a8e90b 100755 --- a/build.sh +++ b/build.sh @@ -969,8 +969,6 @@ configure_live_operator_session() { "${MOUNT_POINT}/usr/local/bin/clawdie-bootstrap-launch.sh" install -m 0755 "${LIVE_SESSION_DIR}/clawdie-noblank-guard.sh" \ "${MOUNT_POINT}/usr/local/bin/clawdie-noblank-guard.sh" - install -m 0755 "${LIVE_SESSION_DIR}/clawdie-xfce-visuals-guard.sh" \ - "${MOUNT_POINT}/usr/local/bin/clawdie-xfce-visuals-guard.sh" install -m 0755 "${LIVE_SESSION_DIR}/hw-report" \ "${MOUNT_POINT}/usr/local/bin/hw-report" @@ -1029,8 +1027,6 @@ EOF "${MOUNT_POINT}/usr/local/etc/xdg/autostart/clawdie-bootstrap.desktop" install -m 0644 "${LIVE_SESSION_DIR}/autostart/clawdie-noblank-guard.desktop" \ "${MOUNT_POINT}/usr/local/etc/xdg/autostart/clawdie-noblank-guard.desktop" - install -m 0644 "${LIVE_SESSION_DIR}/autostart/clawdie-xfce-visuals-guard.desktop" \ - "${MOUNT_POINT}/usr/local/etc/xdg/autostart/clawdie-xfce-visuals-guard.desktop" mkdir -p "${MOUNT_POINT}/usr/local/etc/X11/xorg.conf.d" install -m 0644 "${LIVE_SESSION_DIR}/xorg.conf.d/30-keyboard.conf" \ "${MOUNT_POINT}/usr/local/etc/X11/xorg.conf.d/30-keyboard.conf" @@ -1358,8 +1354,8 @@ EOF fi # Keep a real hostname so startx/xauth do not derive invalid display names # such as bare :0 or /unix:0 on the installer-derived "Amnesiac" profile. - set_config_line "${MOUNT_POINT}/etc/rc.conf" 'hostname="clawdie-live"' - if ! grep -Eq '^hostname="clawdie-live"' "${MOUNT_POINT}/etc/rc.conf"; then + set_config_line "${MOUNT_POINT}/etc/rc.conf" 'hostname="usb.clawdie.home.arpa"' + if ! grep -Eq '^hostname="usb.clawdie.home.arpa"' "${MOUNT_POINT}/etc/rc.conf"; then echo "ERROR: live USB hostname is not configured in /etc/rc.conf" exit 1 fi @@ -1405,12 +1401,11 @@ EOF # hidbus / iichid — HID-over-I²C bridge for modern touchpads / keyboards. # hms / hmt / hkbd — HID mouse / multitouch / keyboard class drivers. # acpi_video — backlight control sysctls (hw.acpi.video.lcd0.brightness). - # acpi_asus / acpi_asus_wmi — ASUS-laptop fn-keys, hotkeys, fan control. No-op on non-ASUS hardware. append_rc_list_values "${MOUNT_POINT}/etc/rc.conf" kld_list \ linux linux64 zfs \ cuse \ hidbus iichid hms hmt hkbd \ - acpi_video acpi_asus acpi_asus_wmi + acpi_video mkdir -p "${MOUNT_POINT}/etc/ssh/sshd_config.d" install -m 0644 "${LIVE_SESSION_DIR}/sshd-live.conf" \ @@ -1546,7 +1541,7 @@ EOF mkdir -p "${MOUNT_POINT}/usr/local/etc/xdg/xfce4/xfconf/xfce-perchannel-xml" cp "${PANEL_SKEL}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" \ "${MOUNT_POINT}/usr/local/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" - for _xfconf_xml in xsettings.xml xfwm4.xml xfce4-desktop.xml xfce4-power-manager.xml; do + for _xfconf_xml in xsettings.xml xfwm4.xml xfce4-desktop.xml xfce4-power-manager.xml displays.xml; do if [ -f "${PANEL_SKEL}/.config/xfce4/xfconf/xfce-perchannel-xml/${_xfconf_xml}" ]; then cp "${PANEL_SKEL}/.config/xfce4/xfconf/xfce-perchannel-xml/${_xfconf_xml}" \ "${MOUNT_POINT}/usr/local/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/${_xfconf_xml}" @@ -1589,9 +1584,14 @@ EOF echo " Installing brand icons..." mkdir -p \ "${MOUNT_POINT}/usr/local/share/clawdie-iso/icons" \ + "${MOUNT_POINT}/usr/local/share/icons/hicolor/48x48/apps" \ "${MOUNT_POINT}/usr/local/share/icons/hicolor/64x64/apps" \ "${MOUNT_POINT}/usr/local/share/icons/hicolor/scalable/apps" cp "${_icons_dir}"/* "${MOUNT_POINT}/usr/local/share/clawdie-iso/icons/" 2>/dev/null || true + if [ -f "${_icons_dir}/clawdie-start-48.png" ]; then + install -m 0644 "${_icons_dir}/clawdie-start-48.png" \ + "${MOUNT_POINT}/usr/local/share/icons/hicolor/48x48/apps/clawdie-start.png" + fi if [ -f "${_icons_dir}/clawdie-start.png" ]; then install -m 0644 "${_icons_dir}/clawdie-start.png" \ "${MOUNT_POINT}/usr/local/share/icons/hicolor/64x64/apps/clawdie-start.png" diff --git a/live/operator-session/autostart/clawdie-xfce-visuals-guard.desktop b/live/operator-session/autostart/clawdie-xfce-visuals-guard.desktop deleted file mode 100644 index 1a10853..0000000 --- a/live/operator-session/autostart/clawdie-xfce-visuals-guard.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Clawdie XFCE Visual Guard -Comment=Re-apply Clawdie live USB theme, icon, and wallpaper settings -Exec=/usr/local/bin/clawdie-xfce-visuals-guard.sh -OnlyShowIn=XFCE; -X-GNOME-Autostart-enabled=true -Terminal=false diff --git a/live/operator-session/clawdie-xfce-visuals-guard.sh b/live/operator-session/clawdie-xfce-visuals-guard.sh deleted file mode 100755 index 97a38e2..0000000 --- a/live/operator-session/clawdie-xfce-visuals-guard.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh -# Best-effort live-session visual guard for XFCE. -# -# XFCE may create monitor-specific desktop keys only after xfdesktop starts, and -# some panel plugins are stricter about themed icon names than absolute paths. -# Re-assert the operator USB visual contract after login without failing the -# session if a component is missing. - -LOG="${HOME}/.clawdie-xfce-visuals-guard.log" -WALLPAPER="/usr/local/share/clawdie-iso/wallpapers/clawdie-operator-bg.png" -START_ICON="clawdie-start" - -log() { - printf '%s %s\n' "$(date -u '+%Y-%m-%dT%H:%M:%SZ')" "$*" >>"$LOG" 2>/dev/null || true -} - -set_xfconf() { - _channel="$1" - _property="$2" - _type="$3" - _value="$4" - - command -v xfconf-query >/dev/null 2>&1 || return 0 - xfconf-query -c "$_channel" -p "$_property" -s "$_value" >/dev/null 2>&1 || \ - xfconf-query -c "$_channel" -p "$_property" -n -t "$_type" -s "$_value" >/dev/null 2>&1 || true -} - -apply_theme() { - set_xfconf xsettings /Net/ThemeName string Greybird - set_xfconf xsettings /Net/IconThemeName string Papirus - set_xfconf xsettings /Net/CursorTheme string DMZ-White - set_xfconf xsettings /Net/CursorSize int 24 - set_xfconf xsettings /Gtk/FontName string "Noto Sans 11" - set_xfconf xsettings /Gtk/MonospaceFontName string "Hack 11" -} - -apply_panel() { - set_xfconf xfce4-panel /plugins/plugin-1/button-icon string "$START_ICON" - set_xfconf xfce4-panel /plugins/plugin-1/show-button-icon bool true - set_xfconf xfce4-panel /plugins/plugin-1/show-button-title bool true - set_xfconf xfce4-panel /panels/panel-1/size uint 40 - set_xfconf xfce4-panel /panels/panel-1/icon-size uint 2 - set_xfconf xfce4-panel /plugins/plugin-8/square-icons bool true -} - -apply_wallpaper() { - [ -f "$WALLPAPER" ] || { - log "wallpaper missing: $WALLPAPER" - return 0 - } - command -v xfconf-query >/dev/null 2>&1 || return 0 - - _bases="$(xfconf-query -c xfce4-desktop -l 2>/dev/null | awk '/\/last-image$/ { sub(/\/last-image$/, ""); print }')" - if [ -z "$_bases" ]; then - _bases='/backdrop/screen0/monitor0/workspace0 -/backdrop/screen0/monitorDefault/workspace0' - fi - - printf '%s\n' "$_bases" | while IFS= read -r _base; do - [ -n "$_base" ] || continue - set_xfconf xfce4-desktop "${_base}/last-image" string "$WALLPAPER" - set_xfconf xfce4-desktop "${_base}/image-path" string "$WALLPAPER" - set_xfconf xfce4-desktop "${_base}/image-style" int 5 - set_xfconf xfce4-desktop "${_base}/image-show" bool true - set_xfconf xfce4-desktop "${_base}/color-style" int 0 - done - - if command -v xfdesktop >/dev/null 2>&1; then - xfdesktop --reload >/dev/null 2>&1 || true - fi -} - -run_once() { - log "applying XFCE visual guard" - apply_theme - apply_panel - apply_wallpaper -} - -# Run more than once because xfdesktop/panel may create monitor/plugin state -# after XDG autostart begins. -sleep 3 -run_once -sleep 7 -run_once -sleep 15 -run_once diff --git a/live/operator-session/hw-report b/live/operator-session/hw-report index 33f0836..013da2e 100755 --- a/live/operator-session/hw-report +++ b/live/operator-session/hw-report @@ -245,7 +245,6 @@ run_shell_if_present usbhid-dump usbhid-dump-version "usbhid-dump --help 2>&1 | run_if_present cat clawdie-live-gpu-log /var/log/clawdie-live-gpu.log run_if_present cat clawdie-noblank-guard-log /home/clawdie/.clawdie-noblank-guard.log -run_if_present cat clawdie-xfce-visuals-guard-log /home/clawdie/.clawdie-xfce-visuals-guard.log run_if_present cat clawdie-touchpad-guard-log /home/clawdie/.clawdie-touchpad-guard.log run_if_present cat sndstat /dev/sndstat run_if_present mixer mixer-s -s diff --git a/live/operator-session/icons/clawdie-start-48.png b/live/operator-session/icons/clawdie-start-48.png new file mode 100644 index 0000000000000000000000000000000000000000..bcae09a54f6917fe11a1ddd58bd064c553bacbd6 GIT binary patch literal 1364 zcmV-a1*`grP)5=y%&1uEU`%-rL{ z?rfodcek_1L%*Ao-R$0T&v(vu?%ml7V;IAo3u$W7($u628ABCn;lCHJn&Nrh4*-^B z&7HV!`^7@UDOh!U&uaoE1C!J53xa|u&>5?*667=}EB%olQOu~=-+CtOScOtx%}wM1 zBEHD#LIet3fsO?$XQK6SK%WvDfJc=JU@&G@W!sJuVa5wz0UcQztoyN)u|>-IVny_t z(8GnfSo?zd$3dP0I4(9nVe=z4$HYlZ5MH=kT|YO>n4u=1H5*8`Ws8)82#By*qDXp< z(y}(xm|-o{SyT5EumIq&IQ$|u0tj$YY>s49P}P@f8lDL&ZfFSz`h(OfY%$SH^#f}$ zrI_?wC9*+6IzU26;BrmFQbgtf95fDRB!cuCXGL>RiUOB8e^u8#8%FF=Cm^7dum->f zwwfrJ-sxvsy%M~%pHXT<7|%(gUZA6!^AB;cHd}lH$JQhEE{-x2z zA5{WUTN}~BdjOs&w)-UmdcVJI^NMi;f2G#S{3dId5QR-3ezmktkVgQ%5}S*nhOB-t zE}_`%XHCCbo70R&3zD98>`h{y&`ShxN zo0IwQ$XkKCuaq?cQvts89Xc4f`oV~cVprc@xNp37ZB@QJ@>1Z>d9@`@S?O6|@^xTo zqMWNaE;UXGdyBd$PyI%>`^C;O z=tbDlYX_lPvNTV7cy(7vete(m!s;G8##Wj#fir^>Jp0d_}|OiQWYBKqOVgP;9A zl3!K|Xrr1*?Kd_iE!^Rs*YYw?pe316!A6;^u3<)0Ain6;>Bjd@g0fEgiWNN$A+`RX zWOhY+nV|*1H%85z)b{!5;e19^z!Gy#_9+5VM1jN3xioV z1kJ${=%{X3C@>%3fU7v+59MAsob(lKZe}k$*%7O&8EoF*3Mgp?Faj+Jb=#}or$UND zn$-J)U4{+#pd+?&8R*@Rs{Xq<|3?ZJ>!T2}GtIQT^1zO-Z~lIeD-E4FdtqUSlyXE>nqvk7Td1Z!hNNzp?>H#hD)+Y@_`hk4VGLsk5&r@8 WcHF2mP0!*00000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml index 3a7d1be..73293f5 100644 --- a/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml +++ b/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml @@ -7,12 +7,34 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml index f72b289..58eba59 100644 --- a/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml +++ b/live/operator-session/panel-skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml @@ -40,6 +40,7 @@ + @@ -93,13 +94,13 @@ - + - +