David Heinemeier Hansson
81f4896879
Get more formal about testing
2026-05-25 13:08:56 +02:00
David Heinemeier Hansson
162e6ce006
Fix launcher filtering and add tests for it
2026-05-25 12:57:58 +02:00
David Heinemeier Hansson
8ad51075c3
Ensure ghostty + alacritty can also use the new tmux extended keys for panes
2026-05-25 11:47:45 +02:00
David Heinemeier Hansson
e9d275298d
Give kitty alt+shift+enter power for tmux vertical splits
2026-05-25 10:30:16 +02:00
David Heinemeier Hansson
41593cd448
Don't show power panel if there's no battery
2026-05-25 10:12:39 +02:00
David Heinemeier Hansson
b48dca29e6
Make sure system updates sit in the right place
2026-05-24 15:44:50 +02:00
David Heinemeier Hansson
cac3342868
Fix clicks
2026-05-24 15:44:38 +02:00
David Heinemeier Hansson
d6113e5133
Now it's a default
2026-05-24 14:57:43 +02:00
David Heinemeier Hansson
3a6fca6889
Add moonlight as a default package
...
It's only 1mb and I use it everywhere
2026-05-24 14:56:46 +02:00
David Heinemeier Hansson
67d2511984
Improve shell lock acquisition before sleep
2026-05-23 22:59:31 +02:00
David Heinemeier Hansson
a910b5dcb4
Give reminders an indicator and a full QS flow
2026-05-23 18:04:21 +02:00
David Heinemeier Hansson
60fbb2a9e4
Ensure linebreaks are respected
2026-05-23 16:49:30 +02:00
David Heinemeier Hansson
b92a44d572
Persist StayAwake indicator state
2026-05-23 15:15:55 +02:00
David Heinemeier Hansson
548882527f
Refine menu navigation and search
2026-05-23 15:10:09 +02:00
David Heinemeier Hansson
0e3e4da6a3
Capture the holding status of the battery better
2026-05-23 15:02:11 +02:00
David Heinemeier Hansson
ad299fe8a2
No breadcrumbs and always have first item activated
2026-05-23 14:49:49 +02:00
David Heinemeier Hansson
4030bb4813
Ensure tmux coloring is updated live too
2026-05-23 13:46:27 +02:00
David Heinemeier Hansson
e65246642d
Add power to save/restore window widths on a per-app/per-workspace basis with Super + Home and Super + Alt + Home
2026-05-23 13:37:57 +02:00
David Heinemeier Hansson
5fc4921cfc
Make defaults live where defaults always live
2026-05-23 11:28:36 +02:00
David Heinemeier Hansson
734e7d9ff2
Revert "Add close tab on SUPER + W"
...
This reverts commit dcfedbf89c .
2026-05-23 10:25:41 +02:00
David Heinemeier Hansson
d2e2544529
Fallback to app icon if there's nothing else
2026-05-23 10:25:33 +02:00
David Heinemeier Hansson
20cfa2f84e
Try to tackle crash bug from hyprland locking due to open pipewiressss
2026-05-22 18:59:24 +02:00
David Heinemeier Hansson
07cebed06d
Account for the threshold state
2026-05-22 18:18:19 +02:00
David Heinemeier Hansson
b5079bdbad
Revert "Provide better scaling"
...
This reverts commit 3ea8d9ffb7 .
2026-05-22 17:41:30 +02:00
David Heinemeier Hansson
bbdf873aec
Extract the runner logic into its own file so the stubs can be minimal
2026-05-22 17:37:43 +02:00
David Heinemeier Hansson
32bfddefc5
Refresh npm wrappers
2026-05-22 17:37:43 +02:00
David Heinemeier Hansson
b7df0b9a2e
Always use OMARCHY_PATH
2026-05-22 17:37:43 +02:00
David Heinemeier Hansson
5e33dac017
Fix paths and alacritty desktop app
2026-05-22 17:37:43 +02:00
David Heinemeier Hansson
fc7a522782
Fix the 5-day lag on new npm package installs
2026-05-22 17:37:43 +02:00
David Heinemeier Hansson
baffca520f
Use proper off temp in night light
...
Closes #5941
Co-authored-by: @m-kudahl
2026-05-22 15:20:36 +02:00
David Heinemeier Hansson
bb6632ad82
Unmute when turning volume up/down
...
Closes #5942
Co-authored-by: @Pegrorim
2026-05-22 15:18:14 +02:00
David Heinemeier Hansson
ccfee4e94d
Just use shift
2026-05-22 14:51:44 +02:00
David Heinemeier Hansson
1bd3c8a9b0
Add codex yolo mode
2026-05-22 14:43:45 +02:00
David Heinemeier Hansson
7b83d847a6
Use shift instead as more reliable with these special keys
2026-05-22 14:39:18 +02:00
David Heinemeier Hansson
923b450d7f
Update the editor change
2026-05-22 14:24:15 +02:00
David Heinemeier Hansson
d13aeacabe
Fix the launcher to do inline replacement so it can be used as $EDITOR properly
2026-05-22 14:24:04 +02:00
David Heinemeier Hansson
e16b0f5201
Recover audio services blocked on USB
2026-05-22 13:26:46 +02:00
David Heinemeier Hansson
dfd6e2a7ca
Preserve playback when switching audio outputs
2026-05-22 13:26:41 +02:00
David Heinemeier Hansson
2901a95d56
Refine audio panel source presentation
2026-05-22 13:26:35 +02:00
David Heinemeier Hansson
1636242191
Add media source switching
2026-05-22 13:26:26 +02:00
David Heinemeier Hansson
94530d89de
Refine Bluetooth panel device actions
2026-05-22 13:26:19 +02:00
David Heinemeier Hansson
274259934f
Use headphone icon for audio sinks
2026-05-22 11:48:42 +02:00
David Heinemeier Hansson
c522757acf
Suppress brightness OSD from display panel
2026-05-22 11:35:36 +02:00
David Heinemeier Hansson
7b6a03fa08
Refine shell panel transitions and layout
2026-05-22 11:22:42 +02:00
David Heinemeier Hansson
4055fa7cae
Use uppercase Bluetooth panel headers
2026-05-22 11:02:46 +02:00
David Heinemeier Hansson
e9eeb0bdfc
Refine network panel connection details
2026-05-22 10:55:42 +02:00
David Heinemeier Hansson
590921d397
Add new email hotkey
2026-05-22 10:19:22 +02:00
David Heinemeier Hansson
a12fdf96c4
Keep glyph-only notifications compact
2026-05-22 10:16:29 +02:00
David Heinemeier Hansson
336e7a790f
Track image clipboard history
2026-05-22 10:10:33 +02:00
David Heinemeier Hansson
ab78fd07ef
Copy screenshots as PNG clipboard data
2026-05-22 10:10:30 +02:00
David Heinemeier Hansson
23b6cc29c9
Improve network panel Wi-Fi grouping
2026-05-22 09:46:41 +02:00
David Heinemeier Hansson
d0795793a3
Add media source switcher
2026-05-22 09:46:17 +02:00
David Heinemeier Hansson
72ee480599
Prioritize oldest playing media source
2026-05-22 09:46:11 +02:00
David Heinemeier Hansson
4f9aa96de0
Beef up audio recovery when something goes wrong
2026-05-22 09:39:26 +02:00
David Heinemeier Hansson
bfbf8e689a
Tweaks
2026-05-22 09:10:33 +02:00
David Heinemeier Hansson
8cc5dde373
Unified look
2026-05-22 08:59:00 +02:00
David Heinemeier Hansson
181ce06a5b
Tab to move quicker between sections
2026-05-22 08:46:19 +02:00
David Heinemeier Hansson
127a43a700
Live up/down stats and unified look
2026-05-22 08:46:19 +02:00
David Heinemeier Hansson
640e8056a0
Tweaks
2026-05-21 21:14:19 +02:00
David Heinemeier Hansson
b28aaf4edb
Bring in network panel to the same aesthetic
2026-05-21 21:08:32 +02:00
David Heinemeier Hansson
df48130677
Bring in line
2026-05-21 20:43:37 +02:00
David Heinemeier Hansson
d52354406d
Fun panels
2026-05-21 20:19:40 +02:00
David Heinemeier Hansson
fed2298235
Consistency
2026-05-21 19:30:30 +02:00
David Heinemeier Hansson
486c73e6df
Preserve Wi-Fi password input during scans
2026-05-21 19:03:42 +02:00
David Heinemeier Hansson
328a9c007a
Style
2026-05-21 16:00:03 +02:00
David Heinemeier Hansson
faa9cecb34
Don't need to quote
2026-05-21 15:45:36 +02:00
David Heinemeier Hansson
bb95c2f26b
Don't need
2026-05-21 15:39:25 +02:00
David Heinemeier Hansson
8510a81921
Toggle weather panel from shortcut
2026-05-21 13:31:28 +02:00
David Heinemeier Hansson
c3cabffa44
Use launcher hides list
2026-05-21 12:43:03 +02:00
David Heinemeier Hansson
4cd23d9584
Extract stats and clipboard helpers
2026-05-21 11:58:43 +02:00
David Heinemeier Hansson
8734464439
Extract audio default device helpers
2026-05-21 11:53:48 +02:00
David Heinemeier Hansson
e5b585d6b3
Extract notification window focus helper
2026-05-21 11:44:11 +02:00
David Heinemeier Hansson
d132e0ec61
Use power profile helper in panel
2026-05-21 11:39:55 +02:00
David Heinemeier Hansson
25c3752051
Simplify Bluetooth device actions
2026-05-21 11:29:55 +02:00
David Heinemeier Hansson
d9622d6b99
Extract shell panel status commands
2026-05-21 10:54:23 +02:00
David Heinemeier Hansson
deae101d6a
Extract network status shell logic
2026-05-21 10:44:05 +02:00
David Heinemeier Hansson
b19dc7eae2
Switch Wi-Fi setup to NetworkManager
2026-05-21 10:19:36 +02:00
David Heinemeier Hansson
190c31503c
Merge branch 'dev' into omarchy-shell
2026-05-21 09:56:50 +02:00
David Heinemeier Hansson
e36ba09d02
Updated btop theme for solitude theme by HANCORE
2026-05-21 09:55:14 +02:00
David Heinemeier Hansson
aa5896766b
Mirror lock input across screens
2026-05-21 08:08:59 +02:00
David Heinemeier Hansson
80469fc51e
Fix night light status when hyprsunset is unavailable
2026-05-21 07:59:35 +02:00
David Heinemeier Hansson
d1b452cc5f
Lock before suspend with sleep inhibitor service
2026-05-21 07:57:08 +02:00
David Heinemeier Hansson
e1066e67d5
Switch media controls to QS MPRIS
2026-05-20 22:53:50 +02:00
David Heinemeier Hansson
d4d0c6d7bb
Try more detail
2026-05-20 22:41:40 +02:00
David Heinemeier Hansson
34cd776671
Use glyphs
2026-05-20 22:35:39 +02:00
David Heinemeier Hansson
e021863b67
Convert tui and web app remove to QS menus
2026-05-20 22:33:45 +02:00
David Heinemeier Hansson
733f1661be
Adjust for when there are no icons
2026-05-20 22:20:58 +02:00
David Heinemeier Hansson
5bc151f994
Convert theme remove to a QS menu
2026-05-20 22:18:38 +02:00
David Heinemeier Hansson
16193e7c93
Convert tz setting to a QS menu
2026-05-20 22:10:46 +02:00
David Heinemeier Hansson
f9a2685aab
Use capitalized camel for all classes
2026-05-20 22:00:10 +02:00
David Heinemeier Hansson
ac859b5157
Halve Style.gapsOut relative to Hyprland's general:gaps_out
...
The Hyprland gaps_out value (10px out of the box) reads well as a
window-to-window gap but felt cavernous when used as the screen-edge
margin for panels and notifications. Halve it at the source — panels
that anchor via PopupCard.margin, the launcher / clipboard / emojis /
polkit / menu / settings card-width clamps, and the notification popup
margins all read Style.gapsOut, so one tweak moves them in lockstep.
Revert the per-call /2 in the notifications service, since
Style.gapsOut now already encodes the smaller value.
2026-05-20 21:44:36 +02:00
David Heinemeier Hansson
06a312240e
Simplify
2026-05-20 21:44:08 +02:00
David Heinemeier Hansson
9211b4b9c3
Halve the gap around notification popups on the top + right edges
...
Sit notifications closer to the top and right edges than the default
gapsOut. The bar-height clearance still applies to the top — only the
free gap portion is halved.
2026-05-20 21:40:37 +02:00
David Heinemeier Hansson
3878ad3a57
Make clock's alt format include the ISO week number
...
Set the default formatAlt to "dd MMMM 'W'ww yyyy" (was "dd MMMM yyyy")
in shell-defaults.json, the bundled settings-panel defaults, and the
form placeholder text — clock's own widget fallback already used this
spec but the shipped config overrode it.
Qt.formatDateTime doesn't recognize `ww` and renders it literally
(`20 May Www 2026`), so add an `isoWeek` helper to clock.qml that
pre-substitutes `ww` with a Qt-quoted literal of the ISO 8601 week
number before handing the format off to Qt. Users get `20 May W21 2026`
without anyone needing to know about the substitution.
2026-05-20 21:37:48 +02:00
David Heinemeier Hansson
2b03aec510
Capitalize
2026-05-20 21:34:19 +02:00
David Heinemeier Hansson
6090d46dfd
Drop the daytime widget, use clock everywhere
...
Clock and daytime were near-duplicates with different click semantics
(clock toggles between formats on left-click and opens the timezone
selector on right-click; daytime was non-pressable with a hover tooltip).
Standardize on clock, since it's the more capable of the two.
- Delete widgets/daytime.qml and its FirstPartyWidgets entry.
- Migrate shell-defaults.json, shell.qml's builtin fallback, Bar.qml's
fallback bar config, and the settings panel's builtin defaults so the
center anchor and center-section entry both reference "clock".
- Rename the daytimeSettings form to clockSettings and rephrase
"Tooltip format" → "Alternate format (click to toggle)" so the field
label matches clock's actual behavior.
- Update the gallery dropdown options and bar/README docs.
2026-05-20 21:23:30 +02:00
David Heinemeier Hansson
9732279832
Fix off-by-two indentation on ImagePicker card properties
2026-05-20 20:37:50 +02:00
David Heinemeier Hansson
b54d8e04ae
Collapse focus/hover/normal ternaries into Style.controlFill helpers
...
TextField, NumberField, Dropdown, SearchableDropdown, and Toggle all
painted their background, border color, and border width with the same
three-line ternary ladder (`_focused ? focusFill : _hot ? hoverFill :
normalFill`). Five components × three properties × three branches is a
lot of room for one of them to drift from the others when a new state
ever gets added.
Add controlFill / controlBorder / controlBorderWidth on Style and rewrite
each call site as a single binding. No visual change.
2026-05-20 20:37:04 +02:00
David Heinemeier Hansson
8ed6e302b0
Small cleanups: reuse Util.clamp in OSD; PanelSlider hover via _hot
...
OSD reimplemented clamp() inline when Util already has one.
PanelSlider's knob-scale binding read `mouseArea.containsMouse` directly
instead of going through a `_hot` like the other interactive controls
(TextField, NumberField, Dropdown). Mirror them so future style work
has a single property to override.
2026-05-20 20:33:27 +02:00
David Heinemeier Hansson
04e7820ebe
Drop Bar.qml's private ModuleButton, reuse WidgetButton
...
ModuleButton was a near-duplicate of WidgetButton with the same text /
active / keepSpace / tooltip / fontSize / fixedWidth / fixedHeight /
pressed signal surface, only differing in that it closed over the
enclosing root via QML's scoping rules instead of taking `bar` as a
property. Switch CustomCommandModule onto WidgetButton with
`bar: root` so we have one bar button component to maintain.
2026-05-20 20:32:31 +02:00