Skip to content

feat: add dynamic background rotation with awww transitions#6129

Open
Rlucca224 wants to merge 1 commit into
basecamp:devfrom
Rlucca224:feat/dynamic-background
Open

feat: add dynamic background rotation with awww transitions#6129
Rlucca224 wants to merge 1 commit into
basecamp:devfrom
Rlucca224:feat/dynamic-background

Conversation

@Rlucca224

Copy link
Copy Markdown

Summary

Adds an optional dynamic background system to Omarchy that rotates wallpapers with smooth animated transitions using `awww`.

Features

  • Static/Dynamic toggle in the Background menu (Style → Background)
  • Animated transitions: fade, wipe, grow, wave, outer
  • Configurable interval (15s to 1h)
  • Configurable transition speed (0.5s to 5s)
  • Stop on fullscreen option
  • Retrocompatible — swaybg static mode remains the default

Files changed

  • `bin/omarchy-menu` — show_background_menu now offers Static/Dynamic choice
  • `bin/omarchy-dynamic-bg-rotate` — wallpaper rotation script
  • `bin/omarchy-dynamic-bg-toggle` — enable/disable timer
  • `bin/omarchy-dynamic-bg-set-interval` — change rotation interval
  • `bin/omarchy-dynamic-bg-set-transition` — change transition type/duration
  • `bin/omarchy-dynamic-bg-toggle-fullscreen` — toggle stop-on-fullscreen
  • `config/omarchy/dynamic-bg/dynamic-bg.conf` — default configuration
  • `config/systemd/user/omarchy-dynamic-bg.{service,timer}` — systemd units
  • `install/omarchy-base.packages` — added `awww` dependency
  • `migrations/1780929365.sh` — migration for existing installs

Copilot AI review requested due to automatic review settings June 23, 2026 21:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds an optional dynamic wallpaper rotation system to Omarchy, integrating a new “Dynamic” mode into the background menu and driving periodic background changes via a user systemd timer using awww transitions.

Changes:

  • Extend omarchy-menu with a Static/Dynamic background selection and dynamic background configuration submenus.
  • Add dynamic background scripts + default config, plus user systemd service/timer units to run rotation periodically.
  • Add awww as a base dependency and include a migration to seed config + units for existing installs.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 5 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
migrations/1780929365.sh Seeds dynamic-bg config + user systemd units for existing installs.
install/omarchy-base.packages Adds awww dependency for animated transitions.
config/systemd/user/omarchy-dynamic-bg.timer Introduces periodic scheduling for background rotation.
config/systemd/user/omarchy-dynamic-bg.service Runs the rotation script as a oneshot service.
config/omarchy/dynamic-bg/dynamic-bg.conf Provides defaults for dynamic background behavior.
bin/omarchy-menu Adds UI flows to enable/configure dynamic backgrounds.
bin/omarchy-dynamic-bg-toggle-fullscreen Toggles the stop-on-fullscreen setting in config.
bin/omarchy-dynamic-bg-toggle Enables/disables the timer and flips the enabled flag in config.
bin/omarchy-dynamic-bg-set-transition Updates transition type/duration values in config.
bin/omarchy-dynamic-bg-set-interval Updates interval in config and the user timer unit.
bin/omarchy-dynamic-bg-rotate Performs the wallpaper rotation using awww per monitor.

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

Comment thread migrations/1780929365.sh
Comment on lines +8 to +12
for unit in omarchy-dynamic-bg.service omarchy-dynamic-bg.timer; do
if [[ ! -f $HOME/.config/systemd/user/$unit ]]; then
cp "$OMARCHY_PATH/config/systemd/user/$unit" "$HOME/.config/systemd/user/$unit"
fi
done
@@ -0,0 +1,6 @@
DYNAMIC_BG_ENABLED=true
Comment on lines +1 to +6
[Unit]
Description=Dynamic background rotation with awww

[Service]
Type=oneshot
ExecStart=%h/.local/share/omarchy/bin/omarchy-dynamic-bg-rotate
@Rlucca224 Rlucca224 force-pushed the feat/dynamic-background branch from 75c6ee3 to 19da9a9 Compare June 23, 2026 22:14
Copilot AI review requested due to automatic review settings June 23, 2026 23:15
@Rlucca224 Rlucca224 force-pushed the feat/dynamic-background branch from 19da9a9 to a9a06e8 Compare June 23, 2026 23:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 11 changed files in this pull request and generated no new comments.

@Rlucca224 Rlucca224 force-pushed the feat/dynamic-background branch from a9a06e8 to 7b00c3e Compare June 23, 2026 23:20
Copilot AI review requested due to automatic review settings June 23, 2026 23:22
@Rlucca224 Rlucca224 force-pushed the feat/dynamic-background branch from 7b00c3e to e96c302 Compare June 23, 2026 23:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 11 changed files in this pull request and generated no new comments.

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