Skip to content
Open

mm #12

Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
914 commits
Select commit Hold shift + click to select a range
0e5c22a
Add the keyring for manual installs
ryanrhughes Oct 28, 2025
d493e05
Make it update-time instead of reset-time and use before doing an update
dhh Oct 28, 2025
d64a178
No need to ask
dhh Oct 28, 2025
45d4b41
Include all shell-integration-features options together (#2915)
jwkicklighter Oct 28, 2025
62cdece
Allow interaction with first Android Studio dialog ("Send usage stati…
AdamMusa Oct 28, 2025
c17e4f5
No need for this either
dhh Oct 28, 2025
a48001b
Turn off fcitx5 clipboard hotkeys that are interferring with other apps
dhh Oct 28, 2025
9289107
Make sure to restart fxitc5 after making config changes
dhh Oct 28, 2025
6243c82
Turn off the trigger keys instead
dhh Oct 28, 2025
e58569b
Merge pull request #2862 from basecamp/dev
dhh Oct 28, 2025
d7cd195
Bump for the next version
dhh Oct 28, 2025
d3a54dc
Show keybindings notice right away and vary update based on internet …
dhh Oct 28, 2025
9490e71
Moved
dhh Oct 28, 2025
7770f49
Looks better without margin
dhh Oct 28, 2025
ac8073f
Fix: Low Battery notification returning empty value on reboot (#2949)
joshuafouch Oct 29, 2025
407d283
Rephrase
dhh Oct 29, 2025
3344f33
Use xdg-mime to set nvim as default
ryanrhughes Oct 29, 2025
fb3271f
Fix phantom recording indicator
dhh Oct 31, 2025
fc09836
VS Code: Apply Omarchy theme during install (#2983)
brianblakely Oct 31, 2025
dd3b64e
Extract the confirmation into its own file
dhh Oct 31, 2025
58ecda3
Make Yes the default
dhh Oct 31, 2025
3c89aca
Further instructions for auto nightlight (#3082)
morgoth Nov 2, 2025
bfeb3a1
Gemini is now on extra/gemini-cli
dhh Nov 2, 2025
f76ba69
Make omarchy-launch-editor check that setted $EDITOR exists (#3072)
killeik Nov 2, 2025
b738c77
Feature (hypr): add “Pop window” (float+pin) on SUPER+O (#2954)
ryrobes Nov 2, 2025
0f64a11
Follow naming convention from other hyprland scripts
dhh Nov 2, 2025
ae10133
Fix neovim launching from files
ryanrhughes Nov 2, 2025
9e971e3
Fix not working with alacritty
ryanrhughes Nov 2, 2025
66b5f7e
Move a few more to OPR
ryanrhughes Nov 3, 2025
4c97a31
Switch to xdg-terminal-exec
ryanrhughes Nov 3, 2025
d528393
Do not create eza theme symlink (#3092)
miharekar Nov 3, 2025
54795a2
Direct enhancements and ideas to discussions
dhh Nov 3, 2025
886a9f6
More wordsmithing
dhh Nov 3, 2025
4b15fe9
More wordsmithing
dhh Nov 3, 2025
28ba448
Merge branch 'master' into dev
dhh Nov 3, 2025
661abc8
Add omarchy-walker meta package
ryanrhughes Nov 3, 2025
e369d68
Take the rounding back a notch
dhh Nov 3, 2025
7f9ee95
Merge pull request #3084 from basecamp/dev
ryanrhughes Nov 3, 2025
ba5343c
Bump version
ryanrhughes Nov 3, 2025
3065ca9
Fix --dir
ryanrhughes Nov 3, 2025
f955717
Merge pull request #2648 from wolfgangw/patch-1
ryanrhughes Nov 4, 2025
fc8e4c0
Make screensaver work with xdg-terminal-exec
ryanrhughes Nov 4, 2025
b1b6e5d
Update screensaver with 2x version
ryanrhughes Nov 4, 2025
33dde26
Kill the actual screensaver command
ryanrhughes Nov 4, 2025
2498216
Merge branch 'master' into dev
dhh Nov 4, 2025
4391df6
Fix declining an update
dhh Nov 4, 2025
bf26366
Setting PS1 is not necessary when we have starship
dhh Nov 5, 2025
8e21008
Fix class name for Microsoft Edge in browser.conf (#3145)
patroza Nov 5, 2025
a40ff46
(Hypr) Added 'stayfocused' window rule for DaVinci Resolve dialog win…
innerviewer Nov 5, 2025
904d253
Restart terminal (reload config) when changing font as well
dhh Nov 5, 2025
638e35f
Hyprland envs are superseeded by uwsm/env
dhh Nov 5, 2025
7a0bdaa
Scale with the right monitor (#3174)
y0no Nov 5, 2025
cb03d7d
Raise walker max_entries to 256
dhh Nov 5, 2025
870356e
Fix max_results to live under [providers]
dhh Nov 6, 2025
962aca3
Change order and let it live forever
dhh Nov 6, 2025
5fb29c1
Revert "Update screensaver with 2x version"
ryanrhughes Nov 6, 2025
8aa2d29
Revert "Make screensaver work with xdg-terminal-exec"
ryanrhughes Nov 6, 2025
c92a7ea
Revert "Kill the actual screensaver command"
ryanrhughes Nov 6, 2025
6cdf4a3
Remove any alternative limine.conf files
ryanrhughes Nov 7, 2025
7cd5661
Bump version
ryanrhughes Nov 7, 2025
26821c9
Cleanup on install
ryanrhughes Nov 7, 2025
e263b5d
Only run for Limine installs
ryanrhughes Nov 7, 2025
5192c9b
Ensure successful ending of migration
dhh Nov 7, 2025
f6aa973
Update to prevent error
ryanrhughes Nov 7, 2025
15b5ee9
Merge pull request #3234 from basecamp/hotfix-limine-conf-location
ryanrhughes Nov 7, 2025
06fc4db
Merge branch 'master' into dev
dhh Nov 7, 2025
57e726f
Update pip.conf, fix Invalid rule/parameter errors after hyprland update
sk4rrjin Nov 8, 2025
044e826
Merge pull request #3258 from sk4rrjin/patch-1
ryanrhughes Nov 9, 2025
d9acd35
Version bump
ryanrhughes Nov 9, 2025
8350b84
This has been swapped
dhh Nov 9, 2025
917279b
Merge branch 'master' into dev
dhh Nov 9, 2025
7a0fa07
Update icon URL placeholder to accept SVG format (#3253)
budnik Nov 9, 2025
c923629
Use xdg-terminal-exec in TUI installer for terminal compatibility (#3…
shelldandy Nov 9, 2025
26d37ca
Fix: hard-coded binding for changegroupactive (#3233)
adam-zluva Nov 9, 2025
49308eb
Update Helium browser in omarchy-launch-webapp (#3225)
MatyiFKBT Nov 9, 2025
694c83f
Add binding to invoke last mako notification (#3232)
czroth Nov 9, 2025
64e581e
Use AAC audio codec for screen recordings (#3220)
robzolkos Nov 9, 2025
e96bd08
Improve contrast on volume notification for Matte Black theme (#3212)
midnightslicer Nov 9, 2025
4d3c02c
Only restart if they are running
dhh Nov 9, 2025
79d48b4
Notify user that font changes require a Ghostty restart
dhh Nov 9, 2025
d33e947
We were already doing this!
dhh Nov 9, 2025
3d10b38
Ensure we can wake screen on both mouse and keyboard
dhh Nov 9, 2025
283a41c
Add Super + Alt + PageUp/Down for tiling groups to mimic browser
dhh Nov 9, 2025
70d1592
Add Super + Shift + Alt + Left/Right to move workspaces between monitors
dhh Nov 9, 2025
88b13e6
Launch or focus wifi settings
dhh Nov 10, 2025
3a744e0
Still need the setsid
dhh Nov 10, 2025
a304b32
Dynamically set hyprlock font and placeholder text (#3281)
mlombardi96 Nov 10, 2025
a9d6a77
Add `usage` to base packages (#3280)
tionichm Nov 10, 2025
7920716
Add migration
dhh Nov 10, 2025
6f33486
Fix match and make 1password float by default
dhh Nov 10, 2025
c6918e6
Make screensaver capable of running in any of the terminal options
dhh Nov 10, 2025
2425f4d
Default to the new stable mirror
dhh Nov 10, 2025
6167898
Use packages that exist
dhh Nov 10, 2025
d2aeb52
Prevent the conflict asking for rust v rustup
dhh Nov 10, 2025
fceb710
Package only exists on AUR
dhh Nov 10, 2025
a43d090
We've been using fresh
dhh Nov 10, 2025
9e1a704
Fix killing of screensaver running in any terminal
dhh Nov 10, 2025
bf3a5b0
Style
dhh Nov 10, 2025
b6ba588
Switch to Ghostty as the default terminal
dhh Nov 10, 2025
c981dda
Change default font to JetBrainsMono Nerd Font
dhh Nov 10, 2025
e354df3
Use a slower mouse scroll
dhh Nov 10, 2025
6e1f1ca
Slowdown the ghostty scrolling a tad
dhh Nov 10, 2025
f364ee1
Move everyone over to the stable mirror by default
dhh Nov 10, 2025
2290152
Fit height better for JetBrainsMono
dhh Nov 10, 2025
e97ae0d
Activate try when it is available
dhh Nov 10, 2025
d81f6de
Make Work/tries ready too
dhh Nov 10, 2025
2fcc4e9
More
dhh Nov 10, 2025
94f29f3
small fix in input.conf (#3298)
MislavPukljak Nov 10, 2025
3c19e4e
Add @tobi's try as a default install
dhh Nov 10, 2025
b7989ac
Ensure the system always has a base ruby even if one is not installed…
dhh Nov 10, 2025
a6d4919
Make sure the ruby is added separately from just try
dhh Nov 10, 2025
29aae9a
Tweak blur settings and apply it to walker
dhh Nov 10, 2025
89b1029
Can't use the blur on walker until we can run the whole thing as a si…
dhh Nov 11, 2025
42f4719
Match exact not partial window pattern
dhh Nov 11, 2025
a54ec3a
Exact matching is now part of omarchy-launch-or-focus
dhh Nov 11, 2025
8840af8
Don't waste time creating ri docs by default
dhh Nov 11, 2025
03cbbd2
improve: add image/video share and run share commands silently (#3330)
DankyoDev Nov 11, 2025
bea5791
Fix: Jetbrains popup dialog would not get focus automatically (#3326)
NicolasDorier Nov 11, 2025
9b849fc
feat: add custom imv keybindings for delete and rotate currently open…
ctarx Nov 11, 2025
279259d
Change format-disk to use exfat for better cross-platform compatibility
dhh Nov 16, 2025
4b2ff4f
Revert "improve: add image/video share and run share commands silentl…
dhh Nov 16, 2025
d833b45
Update terminal binding to use --dir option (#3339)
tonysm Nov 16, 2025
88684b6
Merge branch 'master' into dev
dhh Nov 16, 2025
e1745d7
Avoid invalid terminal working directory (#3428)
daviewales Nov 17, 2025
c17bd85
fix: start elephant as systemd service (#3405)
abenz1267 Nov 17, 2025
1ec9ccd
overload lateral window navigation for grouped windows (#3325)
chrislewis Nov 17, 2025
b2b65d5
Match Everforest Dark Hard from Ghostty
dhh Nov 17, 2025
83a8740
Match to Ghostty Mocha too
dhh Nov 17, 2025
72dc352
Add exfatprogs to base packages (#3448)
daviewales Nov 18, 2025
854b140
add back workspace 10 (#3447)
jelenv Nov 18, 2025
5ab2a69
Add migration to add the 10th workspace back to waybar config
dhh Nov 18, 2025
367eb5b
fix(walker): update for breaking changes in latest version
abenz1267 Nov 18, 2025
c1fca69
hypr: Adding xdph token default of true (#3404)
larrydewey Nov 18, 2025
42e1810
fix: disable mouse focus for JetBrains (#3336)
landsman Nov 19, 2025
438fa96
Add preview images to the themes menu (#3444)
tahayvr Nov 19, 2025
eec075b
improve: uniquely identify terminal apps for window rules and focus. …
patroza Nov 19, 2025
335845b
Add install options for xpadneo driver under gaming (#2009)
ericjim Nov 19, 2025
9af41af
Feature: Add bluetui integration and migration (#3207)
a-sologub Nov 19, 2025
e4a3d5e
Synchronize with new stable mirror
dhh Nov 19, 2025
c50003a
Make sure to stop and start in the new fashion
dhh Nov 19, 2025
2c1a761
Walker is not run as a systemd service
dhh Nov 19, 2025
489ddc7
Fix escaping
dhh Nov 19, 2025
13c3973
Spelling!
dhh Nov 19, 2025
f8dcc7e
Later migration does the refresh
dhh Nov 19, 2025
8174dc7
Let btop float by default to match all other system terminal windows
dhh Nov 19, 2025
6e83c4f
The restart is coming later when we switch to systemd
dhh Nov 19, 2025
1b7fca5
Simplify with a launch or focus variaty for tui
dhh Nov 19, 2025
8fe1d62
End good
dhh Nov 19, 2025
8f19806
Make existing alacritty installations compatible with X-TerminalArg
dhh Nov 19, 2025
da8c3d9
Add bash as well
dhh Nov 19, 2025
f77f107
Hide Bluetooth module in waybar if there's no BT controller
dhh Nov 19, 2025
3e4421a
Ensure we are using the new stable mirror before updating
dhh Nov 19, 2025
8c4bf65
Start using the stable pkg server by default
dhh Nov 19, 2025
20a3c46
Float imv by default
dhh Nov 20, 2025
44b37da
Allow optional arguments to img transcoding functions and prevent ove…
dhh Nov 20, 2025
261a7dc
Don't suggest invalid scale
dhh Nov 20, 2025
08143c5
No longer need these variables
dhh Nov 20, 2025
a1b1eb5
Add a new theme called Hackerman (#3317)
bjarneo Nov 20, 2025
c298823
This conflicts with Chromium when both are installed
dhh Nov 20, 2025
cd2a4e4
Add theme ethereal (#3464)
bjarneo Nov 20, 2025
fef7efc
Blue fits better imo
dhh Nov 20, 2025
0fc901d
Add 100-line split moves to Ghostty config
dhh Nov 20, 2025
4dbaf5e
Use connected bluetooth icon when appropriate
dhh Nov 20, 2025
5ea1ae2
Explain why -Sy is ok
dhh Nov 20, 2025
4c414f8
updated omarchy-hyprland-window-pop to have an optional parameters (#…
DarrenVictoriano Nov 20, 2025
b5002b1
Need to have fuzzy match to work with the web apps for matching
dhh Nov 20, 2025
ec59388
Make sure we just match exact
dhh Nov 20, 2025
37e5ed0
Restart waybar not walker
dhh Nov 20, 2025
4c8ee6c
There could have been another format-no-controller actually
dhh Nov 20, 2025
9626408
Remove the menus from the general provider so themes don't show up in…
dhh Nov 20, 2025
f6786e4
Update Waybar tray icon (#3479)
brink-lab Nov 20, 2025
661e4f5
Add migration
dhh Nov 20, 2025
9d89619
Fix the style update too
dhh Nov 20, 2025
a5ceb3f
We never ended up using this
dhh Nov 20, 2025
bdb9719
feat: don't screenshare notifications (#3482)
MangelMaxime Nov 20, 2025
cf6a847
Revert "feat: don't screenshare notifications (#3482)"
dhh Nov 20, 2025
7ebe9fd
Reapply "feat: don't screenshare notifications (#3482)"
dhh Nov 20, 2025
62665ab
Remove Aether nvim dependency (#3485)
bjarneo Nov 21, 2025
4efdcc6
Also default to float for video playback
dhh Nov 21, 2025
2c4a927
Revert "Reapply "feat: don't screenshare notifications (#3482)""
dhh Nov 21, 2025
328c26e
Stick to the lighter Everforest colors we have in Alacritty
dhh Nov 21, 2025
8b6fd9e
Update to match current colors
dhh Nov 21, 2025
50ec3ce
Merge pull request #3451 from abenz1267/walkerlayout
ryanrhughes Nov 21, 2025
385df32
Refresh Walker config to ensure compatibility with latest version
dhh Nov 21, 2025
db7070f
Ensure elephant is setup on first run
dhh Nov 21, 2025
597fcb8
Rely on a later restart of waybar
dhh Nov 21, 2025
292ac83
Remove this from the initial config too
dhh Nov 21, 2025
8007e38
Bump version for new release
dhh Nov 21, 2025
fc7feda
Link the visual menu config at install too
dhh Nov 21, 2025
3e91190
Make sure we use stable for this too
dhh Nov 21, 2025
d87f0aa
Improve the update for old installs
dhh Nov 21, 2025
2bdf3fd
Do all the upgrade work in that initial migration for old installations
dhh Nov 21, 2025
06de545
Update indexes
dhh Nov 21, 2025
70fa03d
We don't change the font config, but rely on general monospace
dhh Nov 21, 2025
6385b96
No longer using eza themeing
dhh Nov 21, 2025
63df15c
Stick to stable
dhh Nov 21, 2025
4fae366
Explain the migration
dhh Nov 21, 2025
033afbb
Remove other slow builders that will be dropped anyway
dhh Nov 21, 2025
f968f20
Just refresh the whole pacman config
dhh Nov 21, 2025
a606b53
Collapse the walker migrations to the one that does 2.0
dhh Nov 21, 2025
cb86945
Use the safe-if-not-there form
dhh Nov 21, 2025
128a612
Redesign screen capture option
dec05eba Nov 14, 2025
d725058
Make the screenrecord hotkey and menu stop recording if already recor…
dec05eba Nov 17, 2025
cb8d42b
Adjust screensaver for tte v13
ryanrhughes Nov 21, 2025
ba7ffc3
Ensure upgrades are sorted for later versions too
dhh Nov 21, 2025
934b22d
Do the full pacman reset and then update
dhh Nov 21, 2025
45e3272
No confirm
dhh Nov 21, 2025
04d2f10
Merge pull request #3295 from basecamp/dev
dhh Nov 21, 2025
49f3316
Add mirror + pkgs channel to About menu
dhh Nov 22, 2025
f6cd5e0
Simplify switching between edge and stable channels
dhh Nov 22, 2025
88a1141
Simplify mirror/pkgs to just channel
dhh Nov 22, 2025
e864c2d
Add marker for when packages were last updated
dhh Nov 22, 2025
aadb4fa
fix: tte screensaver fullscreen (#3499)
felixzsh Nov 22, 2025
c866140
Take backups of existing pacman.conf + mirrorlist before refreshing
dhh Nov 22, 2025
e3b8016
Bump for beta version
dhh Nov 22, 2025
602d60d
feat: fullscreen for ghostty/kitty screensaver (#3510)
felixzsh Nov 22, 2025
0d7fbbc
Because TUI Apps are now saved with Exec=xdg-terminal-exec and not (#…
neurapy Nov 23, 2025
a6c2576
Start PDF viewing as float as well
dhh Nov 23, 2025
3765417
Wording
dhh Nov 24, 2025
8f3f89f
Make sure the user gets a chance to actually pick the graphics options
dhh Nov 24, 2025
14b1ee3
Remove noconfirm from Zed install so user can pick correct vulkan bac…
dhh Nov 24, 2025
aa98e93
Now included in the omarchy-refresh-pacman script
dhh Nov 24, 2025
55692e0
Exclude long new screensaver effect (#3553)
MirasMustimov Nov 24, 2025
9738227
Add copy-url support for Brave browser (#3017)
Blinkuu Nov 24, 2025
a522a47
Ensure walker is set to autostart and that elephant is running as a s…
dhh Nov 25, 2025
8cca056
Use Bluetooth off icon in the waybar when BlueTUI has turned off the …
dhh Nov 25, 2025
77fd86a
Fix lack of quotes for multi-line batches
dhh Nov 25, 2025
9524259
Ensure lockout limit is reset on restart
dhh Nov 25, 2025
a996438
Add explicit reboot + shutdown scripts that close all windows first (…
dhh Nov 25, 2025
a810608
Setup helpers to change branch and channel
dhh Nov 25, 2025
bc54b97
Merge pull request #3588 from basecamp/dev
ryanrhughes Nov 26, 2025
d7841e3
Update version
ryanrhughes Nov 26, 2025
6a181ad
Reset all package DBs when changing channel
dhh Nov 28, 2025
7e44ab3
feat: show link to changelog in update confirm window (#3651)
nbw Nov 28, 2025
30a5f58
Tweaks
dhh Nov 28, 2025
e15b2ae
Fix emoji picker would use a 3-column design and that it would bleed …
dhh Nov 28, 2025
2b3c48b
Fix issue with package DBs being wrong when switching to stable channel
dhh Nov 28, 2025
8d61c73
Fix channel updating for edge
dhh Nov 28, 2025
c97995b
Can just do it in one go
dhh Nov 28, 2025
96f140b
Do the update too
dhh Nov 28, 2025
2cfc3b0
Fixes Ristretto cursor visibility in Ghostty/neovim (#3620)
jbnunn Nov 28, 2025
68c3917
Fix usage message in omarchy-branch-set script (#3634)
scoop Nov 28, 2025
16d0133
Remove theme menu now sorts themes alphabetically (like list themes d…
jbnunn Nov 28, 2025
a8b8eb6
Reset keyboard layout to default first one on the lock screen (#3541)
Ziryt Nov 28, 2025
7327f95
feat: restore the last notification keybinding (#3580)
vander00 Nov 28, 2025
91cf593
feat: Silently move active workspace to another workspace. (#3546)
Traap Nov 28, 2025
1514e4e
Merge branch 'master' into dev
dhh Nov 28, 2025
d6aa65d
Rely on new TTE 0.14.1 settings
dhh Nov 29, 2025
03be87b
Bump for upcoming release
dhh Nov 29, 2025
8a37f3d
Merge pull request #3683 from basecamp/dev
ryanrhughes Nov 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Bug
description: Report a problem
labels: [bug]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor

- type: input
id: system-details
attributes:
label: System details
placeholder: e.g. AMD 9950X, NVIDIA 5090, Omarchy 2.1.0
validations:
required: true

- type: textarea
id: steps
attributes:
label: What's wrong?
validations:
required: true
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Documentation
description: New pages or changes to existing
labels: [documentation]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor

- type: textarea
id: steps
attributes:
label: What correction or addition do we need?
validations:
required: true
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Enhancement
description: Feature or change
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Remember: Omarchy is an open source gift, not a product you bought from a vendor

- type: textarea
id: steps
attributes:
label: What do you need?
validations:
required: true
2 changes: 2 additions & 0 deletions applications/hidden/electron36.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
2 changes: 2 additions & 0 deletions applications/hidden/electron37.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
2 changes: 2 additions & 0 deletions applications/hidden/fcitx5-wayland-launcher.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
2 changes: 2 additions & 0 deletions applications/hidden/java-java-openjdk.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
2 changes: 2 additions & 0 deletions applications/hidden/jconsole-java-openjdk.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
2 changes: 2 additions & 0 deletions applications/hidden/jshell-java-openjdk.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[Desktop Entry]
Hidden=true
Binary file added applications/icons/Basecamp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/ChatGPT.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Discord.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Disk Usage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Docker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Figma.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/GitHub.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Google Contacts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Google Messages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Google Photos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/HEY.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/WhatsApp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/X.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/YouTube.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/Zoom.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added applications/icons/windows.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion applications/nvim.desktop
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Name=Neovim
GenericName=Text Editor
Comment=Edit text files
Exec=alacritty --class=nvim --title=nvim -e nvim -- %F
Exec=omarchy-launch-editor %F
Terminal=false
Type=Application
Keywords=Text;editor;
Expand Down
8 changes: 7 additions & 1 deletion bin/omarchy-battery-monitor
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ BATTERY_THRESHOLD=10
NOTIFICATION_FLAG="/run/user/$UID/omarchy_battery_notified"

get_battery_percentage() {
upower -i $(upower -e | grep 'BAT') | grep -E "percentage" | grep -o '[0-9]\+%' | sed 's/%//'
upower -i "$(upower -e | grep 'BAT')" \
| awk -F: '/percentage/ {
gsub(/[%[:space:]]/, "", $2);
val=$2;
printf("%d\n", (val+0.5))
exit
}'
}

get_battery_state() {
Expand Down
9 changes: 8 additions & 1 deletion bin/omarchy-cmd-apple-display-brightness
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,12 @@
if [[ $# -eq 0 ]]; then
echo "Adjust Apple Display Brightness by passing +5000 or -5000 (or any range from 0-60000)"
else
sudo asdcontrol $(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1) -- "$1"
DEVICE="$(sudo asdcontrol --detect /dev/usb/hiddev* | grep ^/dev/usb/hiddev | cut -d: -f1)"
sudo asdcontrol "$DEVICE" -- "$1" >/dev/null
VALUE="$(sudo asdcontrol "$DEVICE" | awk -F= '/BRIGHTNESS=/{print $2+0}')"
swayosd-client \
--monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \
--custom-icon display-brightness \
--custom-progress "$(awk -v v="$VALUE" 'BEGIN{printf "%.2f", v/60000}')" \
--custom-progress-text "$(( VALUE * 100 / 60000 ))%"
fi
63 changes: 50 additions & 13 deletions bin/omarchy-cmd-audio-switch
Original file line number Diff line number Diff line change
@@ -1,19 +1,56 @@
#!/bin/bash

# Find all the audio sinks but exit if there are none
sinks=($(wpctl status | sed -n '/Sinks:/,/Sources:/p' | grep -E '^\s*│\s+\*?\s*[0-9]+\.' | sed -E 's/^[^0-9]*([0-9]+)\..*/\1/'))
[ ${#sinks[@]} -eq 0 ] && exit 1
focused_monitor="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"

# Find current audio sink
current=$(wpctl status | sed -n '/Sinks:/,/Sources:/p' | grep '^\s*│\s*\*' | sed -E 's/^[^0-9]*([0-9]+)\..*/\1/')
sinks=$(pactl -f json list sinks | jq '[.[] | select((.ports | length == 0) or ([.ports[]? | .availability != "not available"] | any))]')
sinks_count=$(echo "$sinks" | jq '. | length')

# Find the next sink (looping around in the list)
for i in "${!sinks[@]}"; do
[ "${sinks[$i]}" = "$current" ] && next=${sinks[$(((i + 1) % ${#sinks[@]}))]}
done
next=${next:-${sinks[0]}}
if [ "$sinks_count" -eq 0 ]; then
swayosd-client \
--monitor "$focused_monitor" \
--custom-message "No audio devices found"
exit 1
fi

# Set the next sink and ensure it's not muted
wpctl set-default "$next"
wpctl set-mute "$next" 0
current_sink_name=$(pactl get-default-sink)
current_sink_index=$(echo "$sinks" | jq -r --arg name "$current_sink_name" 'map(.name) | index($name)')

if [ "$current_sink_index" != "null" ]; then
next_sink_index=$(((current_sink_index + 1) % sinks_count))
else
next_sink_index=0
fi

next_sink=$(echo "$sinks" | jq -r ".[$next_sink_index]")
next_sink_name=$(echo "$next_sink" | jq -r '.name')

next_sink_description=$(echo "$next_sink" | jq -r '.description')
if [ "$next_sink_description" = "(null)" ] || [ "$next_sink_description" = "null" ] || [ -z "$next_sink_description" ]; then
sink_id=$(echo "$next_sink" | jq -r '.properties."object.id"')
next_sink_description=$(wpctl status | grep -E "\s+\*?\s+${sink_id}\." | sed -E 's/^.*[0-9]+\.\s+//' | sed -E 's/\s+\[.*$//')
fi

next_sink_volume=$(echo "$next_sink" | jq -r \
'.volume | to_entries[0].value.value_percent | sub("%"; "")')
next_sink_is_muted=$(echo "$next_sink" | jq -r '.mute')

if [ "$next_sink_is_muted" = "true" ] || [ "$next_sink_volume" -eq 0 ]; then
icon_state="muted"
elif [ "$next_sink_volume" -le 33 ]; then
icon_state="low"
elif [ "$next_sink_volume" -le 66 ]; then
icon_state="medium"
else
icon_state="high"
fi

next_sink_volume_icon="sink-volume-${icon_state}-symbolic"

if [ "$next_sink_name" != "$current_sink_name" ]; then
pactl set-default-sink "$next_sink_name"
fi

swayosd-client \
--monitor "$focused_monitor" \
--custom-message "$next_sink_description" \
--custom-icon "$next_sink_volume_icon"
11 changes: 9 additions & 2 deletions bin/omarchy-cmd-first-run
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ FIRST_RUN_MODE=~/.local/state/omarchy/first-run.mode

if [[ -f "$FIRST_RUN_MODE" ]]; then
rm -f "$FIRST_RUN_MODE"
$OMARCHY_PATH/install/first-run/battery-monitor.sh
$OMARCHY_PATH/install/first-run/firewall.sh

bash "$OMARCHY_PATH/install/first-run/battery-monitor.sh"
bash "$OMARCHY_PATH/install/first-run/cleanup-reboot-sudoers.sh"
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
sudo rm -f /etc/sudoers.d/first-run

bash "$OMARCHY_PATH/install/first-run/wifi.sh"
bash "$OMARCHY_PATH/install/first-run/welcome.sh"
fi
9 changes: 9 additions & 0 deletions bin/omarchy-cmd-missing
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

for cmd in "$@"; do
if ! command -v "$cmd" &>/dev/null; then
exit 0
fi
done

exit 1
7 changes: 7 additions & 0 deletions bin/omarchy-cmd-present
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

for cmd in "$@"; do
command -v "$cmd" &>/dev/null || exit 1
done

exit 0
138 changes: 124 additions & 14 deletions bin/omarchy-cmd-screenrecord
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,135 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then
exit 1
fi

screenrecording() {
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
notify-send "Screen recording starting..." -t 1000
SCOPE=""
AUDIO="false"
WEBCAM="false"

for arg in "$@"; do
case "$arg" in
--with-audio) AUDIO="true" ;;
--with-webcam) WEBCAM="true" ;;
output|region) SCOPE="$arg" ;;
esac
done

cleanup_webcam() {
pkill -f "WebcamOverlay" 2>/dev/null
}

start_webcam_overlay() {
cleanup_webcam

# Get monitor scale
local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')

# Target width (base 360px, scaled to monitor)
local target_width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}")

# Try preferred 16:9 resolutions in order, use first available
local preferred_resolutions=("640x360" "1280x720" "1920x1080")
local video_size_arg=""
local available_formats=$(v4l2-ctl --list-formats-ext -d /dev/video0 2>/dev/null)

for resolution in "${preferred_resolutions[@]}"; do
if echo "$available_formats" | grep -q "$resolution"; then
video_size_arg="-video_size $resolution"
break
fi
done

ffplay -f v4l2 $video_size_arg -framerate 30 /dev/video0 \
-vf "scale=${target_width}:-1" \
-window_title "WebcamOverlay" \
-noborder \
-fflags nobuffer -flags low_delay \
-probesize 32 -analyzeduration 0 \
-loglevel quiet &
sleep 1
}

start_screenrecording() {
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
local audio_args=""

# Merge audio tracks into one - separate tracks only play one at a time in most players
[[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input"

gpu-screen-recorder -w "$@" -f 60 -c mp4 -o "$filename" $audio_args &
toggle_screenrecording_indicator
}

stop_screenrecording() {
pkill -SIGINT -f "gpu-screen-recorder" # SIGINT required to save video properly

if lspci | grep -Eqi 'nvidia|intel.*graphics'; then
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
# Wait a maximum of 5 seconds to finish before hard killing
local count=0
while pgrep -f "gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do
sleep 0.1
count=$((count + 1))
done

if pgrep -f "gpu-screen-recorder" >/dev/null; then
pkill -9 -f "gpu-screen-recorder"
cleanup_webcam
notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000
else
wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
cleanup_webcam
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
fi
toggle_screenrecording_indicator
}

toggle_screenrecording_indicator() {
pkill -RTMIN+8 waybar
}

screenrecording_active() {
pgrep -f "gpu-screen-recorder" >/dev/null || pgrep -x slurp >/dev/null || pgrep -f "WebcamOverlay" >/dev/null
}

if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
pkill -x wl-screenrec
pkill -x wf-recorder
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
elif [[ "$1" == "output" ]]; then
screenrecording
if screenrecording_active; then
if pgrep -x slurp >/dev/null; then
pkill -x slurp 2>/dev/null
elif pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "gpu-screen-recorder" >/dev/null; then
cleanup_webcam
else
stop_screenrecording
fi
elif [[ "$SCOPE" == "output" ]]; then
[[ "$WEBCAM" == "true" ]] && start_webcam_overlay

if ! output=$(slurp -o -f "%o"); then
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi

if [[ -z "$output" ]]; then
notify-send "Error" "Could not detect monitor" -u critical
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi

start_screenrecording "$output"
else
region=$(slurp) || exit 1
screenrecording -g "$region"
[[ "$WEBCAM" == "true" ]] && start_webcam_overlay

scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')

if ! region=$(slurp -f "%wx%h+%x+%y"); then
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi

if [[ "$region" =~ ^([0-9]+)x([0-9]+)\+([0-9]+)\+([0-9]+)$ ]]; then
w=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[1]} * $scale}")
h=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[2]} * $scale}")
x=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[3]} * $scale}")
y=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[4]} * $scale}")
scaled_region="${w}x${h}+${x}+${y}"
else
scaled_region="$region"
fi

start_screenrecording region -region "$scaled_region"
fi
7 changes: 0 additions & 7 deletions bin/omarchy-cmd-screenrecord-stop

This file was deleted.

Loading