Skip to content

Add rotating backgrounds feature toggle#5253

Open
dabit wants to merge 1 commit intobasecamp:devfrom
dabit:cycle-backgrounds
Open

Add rotating backgrounds feature toggle#5253
dabit wants to merge 1 commit intobasecamp:devfrom
dabit:cycle-backgrounds

Conversation

@dabit
Copy link
Copy Markdown

@dabit dabit commented Apr 7, 2026

Some themes ship with multiple beautiful backgrounds and choosing just one means missing out on the rest. This PR adds background cycling as a first-class Omarchy feature so users can enjoy all of them automatically.

Accessible via the SUPER+CTRL+O trigger menu → Toggle → Cycle Backgrounds.

When enabled, a systemd user timer fires omarchy-theme-bg-next hourly to
automatically cycle through the active theme's backgrounds. The timer runs
inside the user session, ensuring WAYLAND_DISPLAY and DBUS_SESSION_BUS_ADDRESS
are available (unlike cron). KillMode=none is set on the service so systemd
doesn't kill the newly launched swaybg process when cleaning up the cgroup.

The feature is opt-in — nothing is auto-enabled on install.

Changes

  • bin/omarchy-toggle-bg-cycle — enables/disables omarchy-bg-cycle.timer via systemctl --user, with notify-send feedback
  • config/systemd/user/omarchy-bg-cycle.{service,timer} — oneshot service + hourly timer unit files (deployed to ~/.config/systemd/user/ on install)
  • bin/omarchy-menu — adds Cycle Backgrounds entry to the Toggle submenu
image

Copilot AI review requested due to automatic review settings April 7, 2026 17:39
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds a rotating backgrounds feature to Omarchy, allowing users to automatically cycle through their active theme's backgrounds on an hourly schedule via a systemd user timer. The feature is accessible through the SUPER+CTRL+O menu under Toggle → Cycle Backgrounds and is opt-in by default.

Changes:

  • Adds a new bash script omarchy-toggle-bg-cycle to enable/disable the background cycling timer with notify-send feedback
  • Creates systemd user service and timer unit files (omarchy-bg-cycle.service and omarchy-bg-cycle.timer) configured for hourly background cycling
  • Updates the Toggle menu in omarchy-menu to include the new "Cycle Backgrounds" toggle option

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.

File Description
bin/omarchy-toggle-bg-cycle New bash script that toggles the systemd timer on/off via systemctl with user notifications
config/systemd/user/omarchy-bg-cycle.service New oneshot service unit that executes omarchy-theme-bg-next with proper signal handling
config/systemd/user/omarchy-bg-cycle.timer New timer unit that triggers the service on an hourly schedule
bin/omarchy-menu Adds "Cycle Backgrounds" menu item and its case handler to the Toggle submenu

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Adds a systemd timer-based rotating backgrounds feature accessible via
the SUPER+CTRL+O trigger menu → Toggle → Rotating Backgrounds. Enables
or disables an hourly background rotation using omarchy-theme-bg-next.
@dabit dabit force-pushed the cycle-backgrounds branch from 092a3e3 to 1f84461 Compare April 27, 2026 21:24
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