Commit Graph
43 Commits
Author SHA1 Message Date
LunarLollipopandGitHub 76b3e68c97 Fix hyprctl crash when screensaver is terminated (#4045)
Redirect hyprctl output in exit_screensaver() to prevent SIGABRT crash
when the screensaver window is closed externally (via keybind or lock screen).

The crash occurs because hyprctl's std::println() throws when writing to
a broken stdout after the terminal is killed.
2026-01-07 18:52:52 +01:00
David Heinemeier Hansson ca40676657 Add documentation to Omarchy commands 2026-01-05 10:17:32 +01:00
David Heinemeier Hansson d2ea6ad183 Canceling the screensaver on mouse movement doesn't work with bluetooth mice
Could not get it to stop existing with a Logitech MX4 when connected via
bluetooth.
2025-12-17 15:04:10 -08:00
robergd83andGitHub 03f04386ec Enable independent screensaver effects on multi-monitor setups (#3781)
Updated the `omarchy-cmd-screensaver` script to allow screensaver effects to run independently on each monitor in multi-display configurations.

Previously, the effect loop waited for all animations on all monitors to finish before starting the next effect. With this change, each monitor handles its own effect cycle independently, improving smoothness and responsiveness in multi-monitor setups.
2025-12-08 10:27:07 +01:00
Wolfgang WoehlandGitHub ddf0d1e8e0 Exit screensaver when mouse moves or clicks (#3723)
Turns out there are control codes for tracking mouse actions in xterm-compatible terminal emulators (mind blown).

This patch adds mouse action awareness to our beloved screensaver setup:

- on setup it sends the respective control codes for movement and click detection
- in the main loop it opens up the input reader to read raw bytes and, thus, enable to detect even so much as a mouse's squeak

Personally, I love swiping my trackpad to exit screensaver. But the explicit pressing-a-key to exit is nice, also.

And I don't know if many people have jitter issues with their mouses or trackpads. Reckon, if they had they wouldn't get to see the glory that TTE is anyway, ever :)

This is tested and working in Ghostty. Sorry for the low-effort testing.
2025-12-02 12:09:02 +01:00
David Heinemeier Hansson d6aa65d03c Rely on new TTE 0.14.1 settings 2025-11-28 16:45:36 -08:00
55692e0893 Exclude long new screensaver effect (#3553)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-24 11:00:25 +01:00
602d60d3d9 feat: fullscreen for ghostty/kitty screensaver (#3510)
* feat: fullscreen for ghostty/kitty screensaver

* feat: add ghostty screensaver config

* Remove the extra two bottom lines as well

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-22 14:44:03 +01:00
Felix SanchezandGitHub aadb4fae08 fix: tte screensaver fullscreen (#3499)
to go tte full screen on 0.13, the option --reuse-canvas is needed
2025-11-22 10:59:37 +01:00
Ryan Hughes cb8d42ba26 Adjust screensaver for tte v13 2025-11-21 13:46:51 -05:00
eec075bdf9 improve: uniquely identify terminal apps for window rules and focus. Unify waybar behaviour to use launch-or-focus (#3389)
* improve: uniquely identify btop when launched from waybar.

* align btop app id

* add migration to uniquely identify btop

* also add unique app ids to lazydocker and terminal editor

* introduce new omarchy-launch-tui that sets class.

* align all the tuis and behaviour in waybar

* update migration accordingly

* fixes

* separate terminal from tui

* fix: double setsid uswm-app --

* Standardize namespace on org.omarchy and lowercase

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-11-19 08:54:17 +01:00
David Heinemeier Hansson c6918e637b Make screensaver capable of running in any of the terminal options 2025-11-10 10:02:02 +01:00
Ryan Hughes 8aa2d295e5 Revert "Make screensaver work with xdg-terminal-exec"
This reverts commit fc8e4c0400.
2025-11-06 11:32:10 -05:00
Ryan Hughes fc8e4c0400 Make screensaver work with xdg-terminal-exec 2025-11-03 21:34:22 -05:00
Wolfgang WoehlandGitHub 1388a2558a Screensaver go fullscreen: --no-eol (tte 0.12.2/0.13.0) and --canvas-height 0 2025-10-21 02:44:41 +02:00
Alexandre PerreaultandGitHub d615d2f9b5 fix: mute output when hiding cursor in screensaver (#2419) 2025-10-14 11:51:55 +03:00
David Heinemeier Hansson d72e948e03 We DID need two lines to prevent the ugly jitter between effects 2025-10-12 17:17:55 -04:00
David Heinemeier Hansson bbe4461c05 Only give one line to avoid the jitter 2025-10-05 10:54:45 +02:00
David Heinemeier HanssonandGitHub 432ffb508c Themeing for ghostty (#1701)
* Themeing for ghostty

* Fix theme name

* Set font for ghostty too if its on the system

* Use correct class for ghostty styling

* Uniformity

* Need to keep this alacritty until we have it fully working for other terminals

* Stick to alacritty so we can control font size

* Stick with alacritty for system terminals

* Add menu to install different terminal

* Use taha approved colors
2025-09-16 21:31:40 +02:00
7e1c88b932 update to use $TERMINAL instead of alacitty (#1648)
* update to use $TERMINAL instead of alacitty

* revert

* move env to hyprconfig

* Only set if we have alacritty

* Add launcher for wifi settings so it can be used in mako config

* Set system terminal in config/uwsm/env to ensure its available everywhere

* Ensure that $TERMINAL is available after update

* Didn't work to have the TERMINAL env in Hyprland

* Configure terminal settings against a full set of options

* Make About usable with any terminal

* One more alacritty-specific setting

* Use the new wifi launcher bin

* Only require the update/relaunch if TERMINAL isn't already set in config/uwsm/env

* More alacritty usage converted to $TERMINAL

* Use new launcher

* Change scrolltouchpad input rule to apply to all terminals

* Its a singular match

* Take current font from waybar, in case we don't have alacritty

* Only set font for alacritty if its being used

* Get ready to be terminal agnostic on the refresh of config too

* Use new launcher

* Note the last reliance we have on alacritty

* Make theme setting for terminals generic and include kitty

* Set font_family for kitty as well

* Quiet grep

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-16 14:32:40 +02:00
facae82630 Bugfix screensaver not exiting (#1687)
* exit if screensaver not in focus

* Extract explaining function

* Consistent function style

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-15 22:46:15 +02:00
David Heinemeier Hansson 87469f5f43 Hide cursor during screensaver
Closes #1644
Co-authored-by: @alexperreault
2025-09-13 08:04:19 +02:00
David Heinemeier Hansson 521de9794a Glenn was right, 3 is better! 2025-08-31 14:02:08 +02:00
a35055e562 Give the screensaver time to breathe (#1184)
Add a three second delay between screensaver effects

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-30 20:53:10 +02:00
David Heinemeier Hansson 07c072cf21 Spacing 2025-08-29 21:42:02 +02:00
Alexandre PerreaultandGitHub 3266a18897 fix screensaver exit behavior on multiple monitors (#1249) 2025-08-29 21:38:46 +02:00
David Heinemeier Hansson 599b58f9a1 Prepare for tte's imminent return! 2025-08-24 22:24:42 +02:00
David Heinemeier Hansson f14810e80d We will have tte back in a iffy so let's not bother with this 2025-08-24 22:23:12 +02:00
David Heinemeier Hansson ff6802830c Correct the path 2025-08-24 21:04:52 +02:00
David Heinemeier Hansson d183daff1a Wrong flip! 2025-08-24 20:36:51 +02:00
David Heinemeier Hansson b094557a97 Poor man's screensaver without tte 2025-08-24 17:13:55 +02:00
David Heinemeier Hansson 3f895969c7 Allow screensaver to display logo if tte is not there 2025-08-24 17:07:28 +02:00
b2a2d0fde3 Add new Omarchy icon for fastfetch (#996)
* Add omarchy icon to fastfetch config

* Add migration file for fastfetch update

* Use consistent branding placement for spots you can change

* Allow editing the about icon

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 07:37:47 +02:00
0246468403 Allow customizing the screensaver logo (#863)
* check for custom screensaver logo or fall back to default

* move logo location to omarchy config folder

* fix missed location check

* add menu item to copy logo.txt and open in editor

* move to setup menu

* Just always use a user-editable screensaver.txt file

* No longer needed

* Be clearer

---------

Co-authored-by: Christopher Moore <cmoore@yozu.co.uk>
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-22 15:11:02 +02:00
Maximiliano GuzenskiandGitHub 03c6b0af3d fix pgrep and pkill (#687) 2025-08-12 13:01:45 +02:00
Uriah Welcome cb79065e5d Launch the screensaver on all monitors not just the focused one. We
also have to kill the screensaver across all monitors when we exit in
omarch-cmd-screensaver.
2025-08-02 19:51:47 -04:00
David Heinemeier Hansson b0b2bf30d8 Allow any key to stop the screensaver 2025-08-02 13:41:34 +02:00
David Heinemeier Hansson 343a948ffc Simplify error checking 2025-08-02 13:37:00 +02:00
8aa8d99d8d Prevent screensaver shifting up (#450)
Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-02 13:06:09 +02:00
David Heinemeier Hansson 06d61be018 Try to protect the screensaver from missing tte or pip 2025-08-01 16:05:04 +02:00
David Heinemeier Hansson 44925a6085 More readable 2025-07-26 21:58:09 -04:00
David Heinemeier Hansson a0c90fb3db Not needed 2025-07-26 21:57:27 -04:00
David Heinemeier Hansson 008fab9df3 Turn dazzle into a full-blown screensaver 2025-07-26 21:53:13 -04:00