Files
omarchycn/migrations
Ryan Hughes c101591284 Replace mako with quickshell-backed notification daemon
Adds first-party omarchy.notifications service plugin that hosts a
freedesktop notification server and renders popups + a history popup
inside the shell. Uninstalls mako and retargets every helper, keybind,
indicator, and migration entry to the new daemon.

Plugin (default/quickshell/omarchy-shell/plugins/notifications/):
- Service.qml: NotificationServer, popupModel + pendingModel + pastModel
  (two-tier history, see below), DND via PersistentProperties +
  cache-file backstop, image cache for /tmp screenshots, IpcHandler with
  toggleDnd/setDnd/isDnd/showHistory/clear/clearPending/markAllSeen/
  dismissAll/dismissOne/invokeLast/dismiss, per-theme override file
  ~/.config/omarchy/current/theme/notifications.json honoring
  borderColor/backgroundColor/textColor/countdownColor.
- components/NotificationCard.qml: theme-driven card (Color.foreground/
  background/border tokens from Commons/Color.qml), 32x32 icon slot,
  Nerd Font glyph fallback via omarchy-glyph hint, hero image strip
  for screenshot/image-path notifications, hover-pause progress bar,
  uses bar.fontFamily so all surfaces share one font.

Filtering and DND:
- transient hint and CLI-style senders (app_name in notify-send /
  omarchy-action) bypass history but still pop.
- DND only allows omarchy-action toasts and notify-send -u critical
  through; real-app urgency=critical (Discord, Slack, Vesktop) is
  silenced and lands in pending instead.
- Pending vs past split surfaced via tabs in the bar widget popup;
  past tab is auto-pruned at the 15-minute mark.
- Click-to-jump: notifications without a libnotify default action focus
  the matching Hyprland window via class lookup.

Shell host:
- shell.qml: generic first-party service loader (mirrors the existing
  noctalia-compat path) and an alias for the bar so plugins can read
  barSize / barHidden / position for anchoring.
- Commons/Color.qml: parses the theme's hyprland.conf for
  $activeBorderColor so notifications match Hyprland window borders;
  picks the explicit accent= key over the color4= alias.

Bar widget rebase (plugins/bar/widgets/notificationCenter.qml):
- Drops the chunk-1 stub server, binds count/dnd state to the service,
  hosts the history popup via PopupCard so it drops down from the
  notification glyph the same way Quick Settings does.
- Pending/Past tabs, dismiss-individual close X, mark-all-as-seen and
  clear-recent action buttons, theme-driven palette.

Quick Settings rework (plugins/bar/widgets/controlCenter.qml):
- DND tile binds directly to service.doNotDisturb for instant feedback.
- Drops the volume slider (already in audioPanel) and the no-op Theme
  tile; adds a Bluetooth toggle bound to Quickshell.Bluetooth.
- Bigger 44x44 wallet was scaled back to 32x32 for tighter rows.

Notification scripts (bin/omarchy-*):
- omarchy-notification-send: passes glyph as a custom hint instead of
  prepending to the summary; adds -a omarchy-action and -u urgency
  automatically; supports -e/--transient passthrough.
- User-action toasts in the capture / toggle / hyprland / default-*
  scripts and bindings/utilities.lua now tag themselves
  -a omarchy-action so DND treats them as intent-based bypass.
- omarchy-toggle-notification-silencing, omarchy-notification-dismiss,
  default/waybar/indicators/notification-silencing.sh, and the Hyprland
  comma-keybinds all route through omarchy-shell-ipc notifications.
- omarchy-capture-screenshot / -screenrecording set the image-path
  hint properly so the hero-image rendering kicks in.

Mako removal (migrations/1778743515.sh):
- pkill -x mako, systemctl --user stop mako.service, pacman -Rns mako
  (uninstalling deletes /usr/lib/systemd/user/mako.service so D-Bus
  activation can't respawn it). Removes ~/.config/mako/ and the legacy
  toggle file. Restarts quickshell so it claims the bus name.
- Drops mako from install/omarchy-base.packages, autostart.lua,
  install/config/theme.sh + toggles.sh, default/themed/mako.ini.tpl,
  default/mako/, the omarchy-menu Mako restart row, bin/omarchy
  GROUP_DESCRIPTIONS, the settings panel catalogue, and the
  default/omarchy-skill paths table.
- Removed scripts: bin/omarchy-restart-mako,
  bin/omarchy-style-corners-mako.
- bin/omarchy-style-corners summary updated; corner radius for the
  notification card reads ~/.local/state/omarchy/toggles/quickshell-menu.json
  alongside the rest of the shell.
2026-05-14 14:21:07 -04:00
..
2026-02-26 10:44:07 +01:00
2026-02-26 10:39:51 +01:00
2025-07-09 19:08:44 -04:00
2026-02-21 09:48:11 +01:00
2026-02-21 09:48:11 +01:00
2026-02-21 09:48:11 +01:00
2025-08-25 07:04:43 +02:00
2025-08-24 18:00:28 +02:00
2025-08-11 16:44:58 +02:00
2025-08-25 11:41:36 +02:00
2025-08-27 15:24:18 +02:00
2025-08-25 11:45:30 +02:00
2025-08-27 15:24:18 +02:00
2026-03-24 20:43:56 +01:00
2025-08-31 16:50:22 +02:00
2025-09-16 22:14:40 +02:00
2025-10-14 12:56:31 -04:00
2025-10-23 14:06:28 -04:00
2025-10-23 17:15:57 -04:00
2025-10-24 02:37:17 -04:00
2025-10-28 08:59:37 +01:00
2025-11-03 11:37:20 -05:00
2025-11-10 08:57:43 +01:00
2025-11-10 14:38:27 +01:00
2025-11-20 11:05:07 +01:00
2025-11-20 16:59:28 +01:00
2025-11-28 05:03:44 -08:00
2025-12-15 12:38:28 -05:00
2025-12-14 15:32:40 -05:00
2026-01-08 17:17:32 -05:00
2026-01-05 15:44:33 +01:00
2026-01-06 13:55:52 +01:00
2026-01-07 19:34:56 +01:00
2026-02-20 21:58:00 +01:00
2026-02-05 14:48:21 +01:00
2026-01-29 10:29:56 +01:00
2026-02-06 11:25:05 +01:00
2026-02-18 22:24:43 +01:00
2026-03-24 20:43:56 +01:00
2026-02-09 23:01:46 +01:00
2026-02-26 10:22:30 +01:00
2026-02-21 07:34:55 +01:00
2026-02-21 07:34:55 +01:00
2026-02-21 07:34:55 +01:00
2026-02-21 07:34:55 +01:00
2026-02-21 14:18:35 +01:00
2026-02-28 18:17:25 +01:00
2026-03-05 11:44:55 -04:00
2026-03-08 13:25:46 +01:00
2026-03-17 18:00:19 +01:00
2026-03-26 09:46:59 +01:00
2026-04-03 11:36:07 +02:00
2026-04-15 10:39:21 +02:00
2026-04-15 11:49:03 +02:00
2026-05-08 22:06:18 +02:00
2026-04-19 17:13:28 +02:00
2026-04-22 19:44:54 +02:00
2026-04-21 16:43:53 +02:00
2026-04-28 17:55:59 +02:00
2026-04-30 22:23:43 +02:00
2026-04-30 22:23:43 +02:00
2026-05-04 15:42:30 +02:00
2026-05-04 15:42:30 +02:00
2026-05-08 22:04:41 +02:00
2026-05-08 22:04:41 +02:00
2026-05-06 21:05:34 +02:00
2026-05-06 09:32:43 +02:00
2026-05-07 12:21:08 -04:00
2026-05-07 16:16:01 +02:00
2026-05-11 10:00:28 +02:00
2026-05-11 15:28:33 -04:00
2026-05-13 00:20:38 -04:00