Skip to content

XFCE panel: drive via xfconf-query, Chrome focus-or-launch#18

Merged
kimptoc merged 6 commits intokimptoc:claude/fix-xfce-wallpaper-FK5rhfrom
cattyclaw-bot:claude/fix-xfce-wallpaper-FK5rh
May 1, 2026
Merged

XFCE panel: drive via xfconf-query, Chrome focus-or-launch#18
kimptoc merged 6 commits intokimptoc:claude/fix-xfce-wallpaper-FK5rhfrom
cattyclaw-bot:claude/fix-xfce-wallpaper-FK5rh

Conversation

@cattyclaw-bot
Copy link
Copy Markdown
Contributor

Summary

Six commits that the fork has on top of kimptoc:claude/fix-xfce-wallpaper-FK5rh (clean fast-forward, 0 behind, 6 ahead).

  • becc167 Update README.md
  • 0307658 Revise TODO and DONE items in README
  • d40f1ad Merge upstream/main; fix session-menu via runtime scan
  • c68816d Fix panel-1 layout: drive via xfconf-query instead of static XML
  • 315d024 Revert tasklist to separator for panel-1 expand element
  • a93d8e8 XFCE panel: accept defaults, tweak in-place; Chrome focus-or-launch

Net change: iso.nix (~845 lines touched) and small README.md tweaks. Two files only.

Test plan

  • Boot the ISO; XFCE panel-1 lays out correctly (no static-XML drift)
  • Tasklist replaced with a separator on the panel-1 expand element renders as expected
  • Session menu appears (runtime scan) after the upstream/main merge
  • Chrome launcher: focuses the existing window if one exists, launches otherwise
  • Wallpaper still set correctly on first boot (regression check from earlier commits in this branch)

🤖 Generated with Claude Code

kimptoc and others added 6 commits April 15, 2026 15:42
Updated TODO and DONE sections in README.md.
Resolves README conflict: keep HEAD's detailed DONE items, add litterbox
TODO from upstream, drop wallpaper/resize TODOs (both now fixed).

Fix session-menu (actions plugin) not appearing: the static XML plugin-7
definition is bypassed because xfce4-panel auto-inserts plugins into
panel-1 at startup, reshuffling IDs before the live xfconfd state
diverges from the XML. Apply the same runtime-scan pattern used for the
clock: after the panel restart, iterate plugin IDs looking for the
actions plugin and set appearance=1. If the plugin is absent entirely,
register it as plugin-30 and append its ID to panel-1/plugin-ids before
a final --restart. Full diagnostics logged to ~/myautostart.log.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Root cause: panel-2 worked because it was fully configured via
xfconf-query at runtime. Panel-1 relied on the static XML, which
xfce4-panel overrides on first start by auto-inserting its own
tasklist/pager/separators — pushing clock and systray to the middle
and preventing the actions/session-menu plugin from appearing.

Fix: add an xfconf-query block for panel-1 (plugin-ids + all 6 plugins)
immediately before the panel restart, mirroring the panel-2 approach.
This makes the live xfconfd state authoritative, so after the restart
xfce4-panel sees the correct layout: app-menu | chrome | tasklist(expand)
| systray | clock | session-menu.

Also simplify the post-restart actions scan to a simple belt-and-braces
check (confirm plugin-7 = actions, re-apply appearance=1) now that we
guarantee its existence in the pre-restart block.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The tasklist (plugin-4) caused the clock/systray to shift to the middle
after network connected — likely because xfce4-panel auto-inserts a
second tasklist when network-related windows appear, adding an extra
expand element. The pre-Wednesday separator (plugin-3, expand=true) was
stable and didn't have this problem.

Switch back to separator for the expand element while keeping the
session-menu (plugin-7/actions) and the xfconf-query panel-1 setup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- iso.nix: drop the xfconf-query plugin-ids rewrite (caused "(null)"
  popups + plugin-type reverts under live xfconfd). Accept xfce4-panel
  first-start defaults and only tweak plugin-4 (pager→Chrome launcher),
  plugin-8 (clock HH:MM:SS), plugin-10 (actions appearance), and
  panel-2 autohide.
- iso.nix: gate xfce4-panel --restart on org.xfce.Panel D-Bus name
  ownership to stop the "name not provided by .service files" GTK
  dialog on slow boots.
- iso.nix: wrap Chrome launches in chromeFocusOrLaunch so re-clicking
  the icon focuses the existing window instead of opening duplicates.
- iso.nix: kill+respawn xfdesktop after wallpaper write (--reload
  didn't pick up new last-image values); dump xrandr + final
  /backdrop state for diagnostics on real hardware.
- README.md: replace stale "graphical gnome template" steps with the
  actual nix-build invocation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kimptoc kimptoc merged commit 12ad7b5 into kimptoc:claude/fix-xfce-wallpaper-FK5rh May 1, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants