Commit Graph
73 Commits
Author SHA1 Message Date
David Heinemeier Hansson d81589e2be Full day names 2026-05-17 10:47:29 +02:00
David Heinemeier Hansson 048a73020f Use the more accurate location and tweak the look 2026-05-17 10:45:24 +02:00
David Heinemeier Hansson f54c0fb377 Fade in/out 2026-05-17 08:53:14 +02:00
David Heinemeier Hansson d771787e6b Just use single clicks 2026-05-17 08:51:17 +02:00
David Heinemeier Hansson 80da45dd1c Use the new weather overlay instead 2026-05-17 08:49:35 +02:00
David Heinemeier Hansson 6c41ab69d3 More massaging of the layout 2026-05-17 08:44:25 +02:00
David Heinemeier Hansson 19a4dffd3f Layouting 2026-05-17 08:40:50 +02:00
David Heinemeier Hansson f8e9755b1e Fix panel spacing and borders 2026-05-17 08:39:10 +02:00
David Heinemeier Hansson a902ac427b No system stats by default 2026-05-17 08:35:47 +02:00
David Heinemeier Hansson ae3d7efc6e Better weather placement 2026-05-16 22:48:56 +02:00
David Heinemeier Hansson b37386f084 Toggle transparency with double left, go to settings with double right 2026-05-16 22:48:10 +02:00
David Heinemeier Hansson 6858e85659 Double-click the empty space to open the bar settings 2026-05-16 22:38:08 +02:00
David Heinemeier Hansson 0e108c82ae Add transparency option 2026-05-16 22:34:46 +02:00
David Heinemeier Hansson 8f643282b9 Switch from gnome polkit to QS 2026-05-16 22:20:25 +02:00
David Heinemeier Hansson eaea4cd577 Reduce Settings to just Bar Settings
The other don't add enough over the Omarchy Menu
2026-05-16 21:47:54 +02:00
David Heinemeier Hansson db5c09fc2e Get rid of the quick settings
It ended up just duplicating the omarchy menu
2026-05-16 21:15:04 +02:00
David Heinemeier Hansson 49f19b617a Better spacing 2026-05-16 15:55:33 +02:00
David Heinemeier Hansson 74a3aa70cc Nix useless tooltips 2026-05-16 15:55:15 +02:00
David Heinemeier Hansson ab2fb2b85f Better night light toggle 2026-05-16 15:40:43 +02:00
David Heinemeier Hansson bdf8daa0a1 Slim down menu even more 2026-05-16 15:38:41 +02:00
TahaandGitHub 9a846e95b2 Set corner radius to 0 for notification elements (#5872) 2026-05-16 14:31:08 +02:00
David Heinemeier Hansson 3eda4948b2 Incorporate outfoxxed feedback 2026-05-16 13:28:37 +02:00
David Heinemeier Hansson 5de0c40a7e Try smaller toggles 2026-05-16 12:45:35 +02:00
David Heinemeier Hansson c751d0cac9 Pull theme and background into quick settings 2026-05-16 10:05:42 +02:00
David Heinemeier Hansson 0e446f70f2 Use pointer hand for click target 2026-05-16 10:05:42 +02:00
David Heinemeier Hansson 7e9528b7a3 No need for this either 2026-05-16 10:05:42 +02:00
David Heinemeier Hansson 525d2855ca No need for this tool tip 2026-05-16 10:05:42 +02:00
Ryan Hughes fd36836eec Narrow weather flyout and center forecast row 2026-05-16 00:41:41 -04:00
Ryan Hughes f404a81c6a Consolidate omarchy-shell colors into a single shell.toml surface
Five plugins each owned their own colors.toml watcher with subtly
different parsers, plus two ad-hoc per-theme override files
(notifications.json, image-picker-colors.json). This collapses all of
that into one source of truth: Commons/Color.qml watches colors.toml +
shell.toml and exposes Color.bar.*, Color.popups.*, Color.notifications.*,
Color.menu.*, Color.imagePicker.* for every surface to bind to.

shell.toml is generated by the existing template pipeline from
default/themed/shell.toml.tpl. Themes can ship their own shell.toml to
override individual keys; everything missing falls back to the
foundational palette via root.pick(). Settings panel is intentionally
not themable beyond the foundational tokens.

last-horizon and solitude ship a minimal shell.toml to preserve their
historical 'notification border matches Hyprland active border'
behavior, which previously came from parsing the theme's hyprland.conf
(now removed).
2026-05-16 00:30:27 -04:00
Ryan Hughes 227d32544f Fix battery indicator scale on omarchy-shell bar
Quickshell's UPowerDevice.percentage is a 0.0-1.0 real (energy /
energyCapacity), not 0-100. The bar was treating it as 0-100, so a 99%
charge picked the lowest icon, the tooltip read "1%", and the
low-battery active state was always true.
2026-05-16 00:27:18 -04:00
Ryan HughesandGitHub 620ab05e9d Merge pull request #5838 from jweaver60/weather-flyout-forecast
Add multi-day forecast to weather widget; click-only popup
2026-05-16 00:20:56 -04:00
Jake Weaver 66f902e50c Widen and enlarge weather popup right-side details
Bump location and stat label/value font sizes a couple pixels and add
breathing room between the FEELS/WIND/HUMIDITY columns.
2026-05-15 16:02:38 -04:00
Jake Weaver 9c859a4c9b Reorganize weather popup hero layout
Move the weather icon next to the big temperature on the left and stack
the location and stats columns on the right, matching the new mockup.
2026-05-15 15:55:14 -04:00
David Heinemeier Hansson b98d3833f8 No zoom effect on clicks 2026-05-15 21:23:35 +02:00
David Heinemeier Hansson 692b291678 Workspaces without windows are greyed out 2026-05-15 21:17:43 +02:00
Jake Weaver 8eb91cd06b Enlarge hero icon and tighten popup spacing 2026-05-15 15:14:21 -04:00
Jake Weaver 15c7cbfc91 Redesign weather popup and auto-refresh forecast
Replace the inline detail flyout with a two-column hero: location chip
and large temperature on the left, big condition icon on the right.
Stats (Feels / Wind / Humidity) move below as caps-labeled columns,
separated from the forecast by a thin divider. Forecast cells now lead
with the day icon and put the day name above hi/lo temps.

Drop the Refresh and wttr.in pill buttons; a Timer refreshes the
forecast every refreshMinutes (default 15). The interval is exposed
through the Settings panel — Bar -> Weather has a gear that opens a
SpinBox-backed form, persisted as "settings": { "refreshMinutes": N }
in shell.json.
2026-05-15 14:09:26 -04:00
Jake Weaver 1855eeca47 Show multi-day forecast in weather widget and drop hover popup
Replace the hover-driven detail flyout with a click-toggled popup that
includes a Noctalia-style row of upcoming days. Switching the wttr.in
fetch to the j1 JSON gives us structured current conditions plus a
3-day forecast; each day's representative icon comes from the hourly
entry nearest noon, mapped through the same code → glyph table as the
bar pill.
2026-05-15 13:40:53 -04:00
David Heinemeier Hansson ce44f7b3f8 Fix tooltip format 2026-05-15 19:28:42 +02:00
David Heinemeier Hansson 3b523edeca Fix indicator spacing 2026-05-15 19:22:58 +02:00
David Heinemeier Hansson 36edee945c Closer on the weather 2026-05-15 19:20:31 +02:00
David Heinemeier Hansson 6cb880908a More spacing tweaks 2026-05-15 19:14:52 +02:00
David Heinemeier Hansson 52817ec465 Fix spacing 2026-05-15 19:06:14 +02:00
David Heinemeier Hansson d6e8149580 Slim down the quick controls 2026-05-15 18:56:39 +02:00
David Heinemeier Hansson 421bbb3e79 Improve font rendering 2026-05-15 18:41:25 +02:00
Jake Weaver 182f71a61b Ceil tooltip popup size so right/bottom borders render
Text.implicitWidth/Height can be fractional. Passing those values
straight to the PopupWindow rounded the Wayland surface down, clipping
the 1px right/bottom border of the bubble.
2026-05-15 10:13:39 -04:00
Ryan Hughes 96c5e048cb Drive Wi-Fi widget from iwctl with scrollable network list 2026-05-15 02:40:26 -04:00
Ryan Hughes 679e14c37f Restore menu toggle behavior on keybinds and bar clicks
The old bash bin short-circuited with close_visible_quickshell_menu at
the top of open_quickshell_menu, so pressing any menu keybind while the
menu was open just closed it. The IPC path I introduced summoned every
time, so keyboard shortcuts couldn't dismiss \u2014 only outside clicks did
(which is why the bar icon appeared to toggle: clicking it while the
menu was open hit the menu's outer-click MouseArea, not the icon).

Add a menu.toggle IPC method:
  - if root.opened: cancel() and return "closed"
  - otherwise: behaves exactly like summon

Switch every Hyprland binding and the two bar-icon click handlers
(omarchy logo, battery right-click \u2192 power menu) to toggle. summon stays
as the always-open primitive for callers that want explicit summon
semantics (rare \u2014 right now nothing internal uses it).
2026-05-14 18:04:25 -04:00
Ryan Hughes 4a665af581 Drop bin/omarchy-menu; sweep JSONC actions to bare commands
The shell now owns the menu — both data and dispatch. The 821-line bash
bin was carrying the open path (cold spawn + jq pipeline + tempfile dance
+ IPC + poll) and a grab-bag of helpers that only existed inside it. Both
go away in this commit.

New bins for the few composite helpers that were genuinely worth keeping:

  - omarchy-install-app NAME PKG
  - omarchy-install-and-launch NAME PKG DESKTOP_ID
  - omarchy-install-font LABEL PKG FAMILY
  - omarchy-launch-config-editor PATH
  - omarchy-reminder-set-interactive
  - omarchy-capture-screenrecording-with-webcam

Sweep through default/omarchy/omarchy-menu.jsonc rewrites:

  - present_terminal X   -> omarchy-launch-floating-terminal-with-presentation X
  - install_terminal X   -> omarchy-launch-floating-terminal-with-presentation 'omarchy-install-terminal X'
  - install / install_and_launch / install_font / open_in_editor -> new bins above
  - terminal X           -> xdg-terminal-exec --app-id=org.omarchy.terminal X
  - default_browser_is X -> [[ "$(omarchy-default-browser)" == "X" ]]
  - default_terminal_is X / default_editor_is X / haptic_touchpad_is X same shape
  - $(hypr_config_file X) -> ~/.config/hypr/X.lua
  - show_custom_reminder_input -> omarchy-reminder-set-interactive
  - screenrecord_with_webcam   -> omarchy-capture-screenrecording-with-webcam
  - stop_active_screenrecording -> omarchy-capture-screenrecording --stop-recording

Hyprland bindings switch from `omarchy-menu X` to
`omarchy-shell-ipc menu summon X` (the keybind hot path now skips bash
entirely). The Bar.qml omarchy widget and the battery right-click do the
same. ALT+PRINT becomes a one-liner: stop the recording if one is going,
otherwise summon the screenrecord submenu.

Measured: keybind-to-visible is ~30ms (was ~235ms). The shell's plugin
keepLoaded:true stops being theoretical \u2014 the menu data lives in memory
across opens, and the only work between keypress and paint is the IPC
roundtrip and the layer-shell window mount.
2026-05-14 17:43:12 -04:00
Ryan Hughes 85199197af Drive the bar font from fontconfig (drop shell.json round-trip)
omarchy-font-set already updates ~/.config/fontconfig/fonts.conf, which
is what fc-match, Qt, and every other XDG app reads from. Storing the
same family in shell.json gives the same value two homes that can drift
apart, and stops the bar from picking up font changes without a shell
restart.

  - omarchy-font-set stops writing bar.fontFamily to shell.json and stops
    poking ~/.config/waybar/style.css. fontconfig + terminals + hyprlock
    + swayosd are still updated as before.
  - omarchy-font-current reads fc-match monospace -f '%{family}' and
    takes the first comma-separated entry; the old jq-on-shell.json
    path is gone.
  - Bar / SettingsPanel / NDropdown.qml default fontFamily to
    "monospace" and stop reading config.fontFamily. Qt resolves the
    family through fontconfig at paint time, so omarchy-font-set updates
    the bar live with no reload.
  - shell-defaults.json drops bar.fontFamily.

User-visible effect: pick a Nerd Font, the bar follows it. Pick a font
without glyphs and you get tofu — same failure mode the terminals and
hyprlock already had.
2026-05-14 16:34:21 -04:00