Commit Graph
38 Commits
Author SHA1 Message Date
David Heinemeier Hansson bdcdfeb428 This tmux alert system didn't work as nicely as I imagined 2026-07-27 15:32:56 -07:00
David Heinemeier Hansson ec59ac70f8 Hide copilot alias 2026-07-25 13:39:42 -07:00
David Heinemeier Hansson f20da3f94a Tmux jumps are not that important 2026-07-23 20:09:50 -07:00
David Heinemeier HanssonandClaude Fable 5 994e4dfa7d Parse plain hyprctl binds output to survive Hyprland 0.56's broken JSON
Hyprland 0.56.0 emits invalid JSON from `hyprctl -j binds`: the new
allow_input_capture field was added to the format template at slot 16
but its argument at position 8, shifting every value from
has_description onward and landing unquoted strings in numeric slots.
The jq parse failure emptied the keybindings menu down to the two
static web-app entries — and the empty result got cached under a
stable key, permanently.

Parse the plain-format output instead, which is unaffected (and also
immune to the older quotes-in-args JSON breakage), refuse to cache a
record set with zero dynamic binds, and bump the cache version so
poisoned caches invalidate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 20:42:37 -07:00
David Heinemeier Hansson be4a9ed6dd Move Tmux keybindings to menu end 2026-07-18 21:33:10 -07:00
David Heinemeier HanssonandClaude Fable 5 54d9cdc328 Collapse keymap resolution and prune keybindings menu
The keymap cache parsed xkbcli compile-keymap into a bash associative
array, serialized that array back into a string, and re-parsed it
inside a second awk's BEGIN block. One awk now reads the compiled
keymap directly, seeded with the fallback table so xkbcli failure
still degrades gracefully. (The xkbcli child must read /dev/null or
it consumes the binding records arriving on stdin.)

Also gone: the never-called lookup_keycode_cached, the DEBUG timing
scaffold, the redundant explicit noops in the Lua mock that the
metatable already provides, the walker-era XML entity escaping that
nothing renders as markup anymore, and the monitor-height computation
in favor of a fixed height like every other menu.

The cache key drops the double sha256 and now includes the active
keymap, so switching XKB layout invalidates cached symbol names
instead of serving stale ones.

Binding records are byte-identical before and after: 215 of 215.

686 lines to 573.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:09:15 -07:00
David Heinemeier Hansson 29b87ca03e Cache keybindings menu records 2026-06-29 09:02:04 -05:00
David Heinemeier HanssonandClaude Opus 4.8 e5290b0a12 Add yt-dlp "Download Video" Chromium extension
Download the current page's video with yt-dlp via Alt+Shift+D or a click
on the toolbar icon. A native-messaging host runs the download, shows live
progress on the Quickshell OSD, and posts a clickable "Download complete"
toast that opens the file in mpv.

- Extension: pinned key for a stable id, green download-video icon,
  keyboard command + toolbar action (reads the active tab URL).
- Native host (omarchy-chromium-ytdlp-host): verifies the URL with
  yt-dlp --simulate (else "No video found"), streams progress to the OSD
  (time-throttled to ~4/s), saves to ~/Videos, opens mpv on click.
- Installer (omarchy-install-chromium-ytdlp) writes the native-messaging
  manifest into installed Chromium/Chrome/Brave/Edge profiles; wired into
  browser install and chromium refresh, with a migration for existing users.
- omarchy-osd: add -d/--duration so the OSD can persist during a download.
- Add yt-dlp to base packages, load the extension via --load-extension,
  and document the Alt+Shift+D binding.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 11:15:28 +02:00
David Heinemeier Hansson ed3320cb8d Just emojis 2026-05-20 14:12:06 +02:00
David Heinemeier Hansson abf0a68b54 Drop walker + elephant 2026-05-19 20:54:20 +02:00
David Heinemeier Hansson 3b2fc3a080 Bring back dispatch from keybindings menu 2026-05-16 15:09:07 +02:00
David Heinemeier Hansson 9e1310106a Too defensive 2026-05-14 11:32:13 +02:00
Ryan Hughes 350b9a33b3 Fix keybinds display 2026-05-11 10:40:26 -04:00
c6ecdd1000 Add dispatch shortcuts to help menu (#5756)
* feat: dispatch shortcuts from help menu

* Retain uwsm launch wrapping

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-05-11 15:40:04 +02:00
David Heinemeier Hansson f426ae0de8 Lookup code symbols for better keybindings list 2026-05-10 16:31:08 +02:00
d2a4cc0c4d Add omarchy CLI (#5477)
* Add omarchy CLI

* Remove outdated or internal

* Add bash completions for command

* Add omarchy command documentation

* Add missing docs

* Correct to what's now right

* Fix tests

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-05-01 17:40:22 +02:00
ac3c60228e Add keybindings to cycle through monitors (#5359)
* Add keybindings to cycle through monitors

* Unified language around focus

* Group focus keybindings

* More natural sounding

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-04-22 12:38:45 +02:00
David Heinemeier Hansson bf802df8bd Present copilot key->omarchy menu better 2026-04-15 15:55:47 +02:00
David Heinemeier Hansson 1609fd74ed Add Tmux keybinding on Super + Alt + Return 2026-02-24 07:46:15 -05:00
David Heinemeier Hansson 7514ae7dcf Use consistent bash5 style for conditionals and quoting 2026-02-21 10:18:47 +01:00
David Heinemeier Hansson 68ca8d8083 Add Super + Shift + Ctrl + L to lock system 2026-01-06 22:43:05 +01:00
David Heinemeier Hansson 503e4c765c Arrange a few more keybindings 2026-01-05 15:54:19 +01:00
David Heinemeier Hansson ca40676657 Add documentation to Omarchy commands 2026-01-05 10:17:32 +01:00
Ryan Hughes c82b1bfb7e Add --print option to output keybindings to terminal 2026-01-03 13:34:30 -05:00
David Heinemeier Hansson e0f9beda7a Reposition scratchpad keybindings in cheatsheet 2025-10-27 09:02:54 +01:00
9b798c3c0f Add the keybinding for the copy url extension in the SUPER+K Menu (#2801)
* init

* go with a hardcoded list

* revert manifest modification

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-25 21:38:13 +02:00
David Heinemeier Hansson 795bfdd969 Include all workspace movements together 2025-10-24 06:30:47 -07:00
David Heinemeier Hansson eac7ea8a49 Few more tweaks to the keybindings 2025-10-24 06:26:46 -07:00
David Heinemeier Hansson de2b32d77f Sort keybindings on SUPER + K
Easier to learn when presented in order
2025-10-24 06:06:34 -07:00
cc1acc10b8 Walker: migrate to 2.0.0 (#1005)
* fix: remove theme-flag

* migration: walker 1.0.0-beta

* Fixups

* Add elephant and walker

* Update for new layout.xml

* Clean up some styling

* add unicode and todo providers

* remove default quick activate keybinds

* Update keybinds and remove defaults to prevent conflict

* Fix menu option

* Fixes

* Remove

* Update height

* Add elephant service

* Remove from hyprland

* Restart service now

* Trim

* Update height

* Fix keybindings style

* Fix install location

* Add walker restart

* Fix indention

* Fix indention

* Fix indention

* Fix indention

* Advance to present

* Need to refresh to bring over the new config

* style adjustments

* Correct the installation of the 1pw policy installer

* Skip the prebuilt for a second while we test

* Need libyaml to build ruby

* No longer needed, gcc-15 compatibility has been added

* Let's just stick to the official path

* GCC15 compatibility for Ruby has been achieved

* No longer necessary

The other mise option is set on Ruby on Rails install

* Added ZLS - Zig's Language Server when installing Zig (#1718)

* style adjustments

* styling changes

* add only_search_title

* css adjustments to fix broken styles

* Be tall again

* Remove for future variable height menu

* Update height / width params

* fix: remove theme-flag

* Fix spacing..again

* Remove service and add launch util

* Fix

* fix: wrong emojis flag

* remove flag, its dmenu only

* set min content width to prevent flickering if the item list contains shorter items

* Remove unused service

* Megakill needed

* Remove any old themes too

* Remove min-width

* Style adjustments

* changes for walker/elephant updates

* Match current width

* Add a little more space between icon and text

* fix: bluetooth find bind

* remove archlinux provider, fix migration with missing providers

* fix: css import

* Fix theme path

* fix: add new error label to layout

* Fix migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Ryan Hughes <ryan@heyoodle.com>
Co-authored-by: DoKoB0512 <123281216+DoKoB0512@users.noreply.github.com>
2025-10-10 10:01:02 -04:00
2971a25a4f fix: change uwsm app to uwsm-app for performance (#1960)
* fix: change uwsm app to uwsm-app for performance

* Do not run uwsm-app in parallel as it's not supported

* Fix comment

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-10-06 22:03:16 +02:00
David Heinemeier Hanssonand@davidwinter bba224e9a5 Speedup keybindings show by using caching
Co-authored-by: @davidwinter
2025-10-04 17:55:38 +02:00
4283533858 Made keybindings menu a little more human readable (#1824)
Co-authored-by: Lucas Goossen <lucas.goossen@hey.com>
2025-10-04 17:53:55 +02:00
Joe DangandGitHub 251997cf54 fix: keybinding menu size (#1152) 2025-09-09 20:19:52 +02:00
1ecbd22fb3 Add missing modifier combinations to omarchy-menu-keybindings (#715)
While these aren't currently used directly in the Omarchy code, when the
user adds custom bindings they are not properly displayed by the
omarchy-menu-keybindings script.

Co-authored-by: Chris Miller <chris@diddado.com>
2025-08-13 20:35:29 +02:00
Simon DawsonandGitHub 8f3647c5c5 Use dynamic bindings list in omarchy-menu-keybindings (#300)
* fix: Use dynamic bindings list in omarchy-menu-keybindings

We can use `hyprctl binds` to get a dynamic list of the currently-set
key bindings. This allows for a custom user configuration that is
split into arbitrary config files, and which makes use of `unbind` to
remove default Omarchy key bindings.

* chore: Support optional description for key bindings

If the description is present, use it in the key
bindings menu, instead of displaying some version
of the dispatched command.

* chore: Add some key binding description strings
2025-08-03 11:11:29 +02:00
5b3c324350 Change default launcher from Wofi to Walker (#218)
* Change launcher from wofi -> walker

* Add migration

* More wofi -> walker locations

* Add rose pine theme

* Rename refresh script

* Minor improvements to walker + add uwsm

* Back out running as service

* Make these executable

* Add plugins dir for now to resolve open issue 355 from v0.13.0 release

* Replace pavucontrol with wiremix (#225)

Add to install

* Revert "Replace pavucontrol with wiremix (#225)"

This reverts commit 620b397859.

* Fix reference

* Add libqalculate so calc works out of the box

* Actually add libqalculate

* Re-add media

* Add catppuccin-latte

* Final cleanup

* Remove partially baked theme

* Remove failing migration

* Remove failing migration

* Fix refresh script

* Simplify css setup

* Rearrange walker theme files

* Change theme name

* Remove unnecessary file

* Clear everything

* Only worry about the config file now

* Disable load in animation for walker

* Run walker as service

* Make sure we have fresh package db

* Add keybindings theme

* Remove history

* Explain section

* Assume wofi is gone, only run if walker isn't there

* Move as the latest

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
Co-authored-by: Roeland <roel4d@webding.org>
2025-07-20 16:17:42 -05:00
David Heinemeier Hansson 86a3c84db9 Consistent command naming scheme for menus too 2025-07-17 15:04:46 -07:00