6 Commits
Author SHA1 Message Date
Pete JacksonandGitHub 3d87216efd Make middle-click paste consistent across apps by enabling GTK/Chromium apps to receive selection buffer on button3 (#5577)
* Enable middle-click primary paste for GTK/Chromium apps

gsettings-desktop-schemas 50.x ships gtk-enable-primary-paste=false as
the default. GTK4 apps (Ghostty 1.3.0+) and Chromium-family browsers
honor that setting and silently no-op middle-click paste, even though
the primary selection itself works (wl-paste --primary returns text,
Firefox/LibreOffice paste fine because they implement primary paste
themselves rather than going through GTK).

Flip the GSetting to true so middle-click paste behaves the way Linux
desktop users expect across Ghostty, Brave, and Chromium.

Closes #5371

* Address Copilot review on #5577

Move install-time GSetting from install/config/ to install/first-run/
so it runs after login when a session D-Bus is guaranteed (matching the
existing gnome-theme.sh convention). Make the migration's gsettings
call best-effort with `|| true` so a missing dconf service doesn't
trigger the omarchy-migrate skip prompt.
2026-05-05 14:11:54 +02:00
Pete JacksonandGitHub 1ca9c7ea0d Skip browser policy refresh when browser is not running (#5321)
chromium/brave --refresh-platform-policy blocks forever when the
browser is not already running, hanging omarchy-update entirely.
Guard both calls with pgrep so the policy file is still written
(picked up on next launch) but the blocking refresh is skipped.

Closes #4772
2026-04-22 13:26:26 +02:00
Pete JacksonandGitHub 0a4490a1f1 Restore keyboard layout after hyprland config refresh (#5319)
omarchy-refresh-hyprland overwrites input.conf with the default
template, which has kb_layout and kb_variant commented out. Non-US
users lose their keyboard layout with no obvious recovery path.

Re-run detect-keyboard-layout.sh after the refresh so the system
layout from /etc/vconsole.conf is re-applied, matching what the
initial install does.

Closes #2507
2026-04-22 13:24:59 +02:00
37189368fb Clean up orphaned voxtype status processes on exit (#5345)
* Clean up orphaned voxtype status processes on exit

Waybar's custom/voxtype module runs omarchy-voxtype-status, which spawns
a long-lived `voxtype status --follow` child. When Waybar reloads (config
change, display hotplug, Hyprland reload), it kills the wrapper but the
child survives as an orphan. Over time dozens accumulate.

`trap 'kill 0' EXIT` signals the entire process group when the wrapper
exits, ensuring the voxtype child is cleaned up.

* Explain purpose of trap

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-04-22 12:56:37 +02:00
Pete JacksonandGitHub b317bd5358 Enable pause_media for voxtype by default (#5364)
Pauses MPRIS media players when recording starts so music
doesn't bleed into dictation. Adds the setting to the default
config for new installs and a migration for existing users.
2026-04-20 13:53:22 +02:00
Pete JacksonandGitHub 5800a0f4a1 Suppress generic post-install instructions in voxtype setup (#4106)
Voxtype v0.4.9 adds a --no-post-install flag that suppresses the
"Next steps" instructions after downloading the model. Since Omarchy
handles systemd setup, hotkey configuration, and displays its own
success notification, these generic instructions are redundant and
potentially confusing to users.

The flag still shows download progress, just suppresses the
post-download instructions.
2026-01-07 07:41:36 +01:00