2 Commits

Author SHA1 Message Date
57e96e529a Merge branch 'master' into ghostty 2025-07-02 19:47:08 -07:00
363be8e6fe Default ghostty config 2025-07-02 19:35:57 -07:00
267 changed files with 1321 additions and 4157 deletions

14
ansi.sh
View File

@ -1,14 +0,0 @@
#!/bin/bash
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
███ ███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀▀▀ ███ ▀▀███▀▀▀▀███▀ ▄██ ███
███ ███ ███ ███ ███ ███ ███ ▀███████████ ███ █▄ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ '
clear
echo -e "\n$ansi_art\n"

View File

@ -0,0 +1,11 @@
[Desktop Entry]
Version=1.0
Name=Basecamp
Comment=Basecamp Project Management
Exec=chromium --new-window --ozone-platform=wayland --app="https://launchpad.37signals.com" --name=Basecamp --class=Basecamp
Terminal=false
Type=Application
Icon=Basecamp
Categories=GTK;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupNotify=true

11
applications/HEY.desktop Normal file
View File

@ -0,0 +1,11 @@
[Desktop Entry]
Version=1.0
Name=HEY
Comment=HEY Email + Calendar
Exec=chromium --new-window --ozone-platform=wayland --app="https://app.hey.com" --name=HEY --class=HEY
Terminal=false
Type=Application
Icon=HEY
Categories=GTK;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupNotify=true

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Bluetooth
Comment=Configure Bluetooth settings
Icon=bluetooth
Exec=env GTK_THEME=Adwaita-dark blueberry
Terminal=false
Type=Application
Categories=GTK;GNOME;Settings;HardwareSettings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
StartupNotify=true
NotShowIn=GNOME;KDE;Unity;

View File

@ -1,221 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Chromium
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[bg]=Уеб браузър
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[gu]=વેબ બ્રાઉઝર
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=वेब ब्राउज़र
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブブラウザ
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
GenericName[ko]=웹 브라우저
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=വെബ് ബ്രൌസര്‍
GenericName[mr]=वेब ब्राऊजर
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[ta]=இணைய உலாவி
GenericName[th]=เว็บเบราว์เซอร์
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[fil]=Web Browser
GenericName[hr]=Web preglednik
GenericName[id]=Browser Web
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
GenericName[sk]=WWW prehliadač
GenericName[sr]=Интернет прегледник
GenericName[te]=మహాతల అన్వేషి
GenericName[vi]=Bộ duyệt Web
# Gnome and KDE 3 uses Comment.
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[bg]=Достъп до интернет
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
Comment[ca]=Accedeix a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Accede a Internet.
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Accéder à Internet
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
Comment[he]=גישה אל האינטרנט
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
Comment[hr]=Pristup Internetu
Comment[hu]=Internetelérés
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=インターネットにアクセス
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
Comment[ko]=인터넷 연결
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Gå ut på Internet
Comment[ta]=இணையத்தை அணுகுதல்
Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
Comment[th]=เข้าถึงอินเทอร์เน็ต
Comment[tr]=İnternet'e erişin
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cập Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=/usr/bin/chromium --ozone-platform=wayland %U
StartupNotify=true
Terminal=false
Icon=chromium
Type=Application
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[am]=አዲስ መስኮት
Name[ar]=نافذة جديدة
Name[bg]=Нов прозорец
Name[bn]=নতুন উইন্ডো
Name[ca]=Finestra nova
Name[cs]=Nové okno
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[el]=Νέο Παράθυρο
Name[en_GB]=New Window
Name[es]=Nueva ventana
Name[et]=Uus aken
Name[fa]=پنجره جدید
Name[fi]=Uusi ikkuna
Name[fil]=New Window
Name[fr]=Nouvelle fenêtre
Name[gu]=નવી વિંડો
Name[hi]=नई विंडो
Name[hr]=Novi prozor
Name[hu]=Új ablak
Name[id]=Jendela Baru
Name[it]=Nuova finestra
Name[iw]=חלון חדש
Name[ja]=新規ウインドウ
Name[kn]=ಹೊಸ ವಿಂಡೊ
Name[ko]=새 창
Name[lt]=Naujas langas
Name[lv]=Jauns logs
Name[ml]=പുതിയ വിന്‍ഡോ
Name[mr]=नवीन विंडो
Name[nl]=Nieuw venster
Name[no]=Nytt vindu
Name[pl]=Nowe okno
Name[pt]=Nova janela
Name[pt_BR]=Nova janela
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[sr]=Нови прозор
Name[sv]=Nytt fönster
Name[sw]=Dirisha Jipya
Name[ta]=புதிய சாளரம்
Name[te]=క్రొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni Pencere
Name[uk]=Нове вікно
Name[vi]=Cửa sổ Mới
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=/usr/bin/chromium --ozone-platform=wayland --new-window
[Desktop Action new-private-window]
Name=New Incognito Window
Name[ar]=نافذة جديدة للتصفح المتخفي
Name[bg]=Нов прозорец „инкогнито“
Name[bn]=নতুন ছদ্মবেশী উইন্ডো
Name[ca]=Finestra d'incògnit nova
Name[cs]=Nové anonymní okno
Name[da]=Nyt inkognitovindue
Name[de]=Neues Inkognito-Fenster
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
Name[en_GB]=New Incognito window
Name[es]=Nueva ventana de incógnito
Name[et]=Uus inkognito aken
Name[fa]=پنجره جدید حالت ناشناس
Name[fi]=Uusi incognito-ikkuna
Name[fil]=Bagong Incognito window
Name[fr]=Nouvelle fenêtre de navigation privée
Name[gu]=નવી છુપી વિંડો
Name[hi]=नई गुप्त विंडो
Name[hr]=Novi anoniman prozor
Name[hu]=Új Inkognitóablak
Name[id]=Jendela Penyamaran baru
Name[it]=Nuova finestra di navigazione in incognito
Name[iw]=חלון חדש לגלישה בסתר
Name[ja]=新しいシークレット ウィンドウ
Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ
Name[ko]=새 시크릿 창
Name[lt]=Naujas inkognito langas
Name[lv]=Jauns inkognito režīma logs
Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ
Name[mr]=नवीन गुप्त विंडो
Name[nl]=Nieuw incognitovenster
Name[no]=Nytt inkognitovindu
Name[pl]=Nowe okno incognito
Name[pt]=Nova janela de navegação anónima
Name[pt_BR]=Nova janela anônima
Name[ro]=Fereastră nouă incognito
Name[ru]=Новое окно в режиме инкогнито
Name[sk]=Nové okno inkognito
Name[sl]=Novo okno brez beleženja zgodovine
Name[sr]=Нови прозор за прегледање без архивирања
Name[sv]=Nytt inkognitofönster
Name[ta]=புதிய மறைநிலைச் சாளரம்
Name[te]=క్రొత్త అజ్ఞాత విండో
Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน
Name[tr]=Yeni Gizli pencere
Name[uk]=Нове вікно в режимі анонімного перегляду
Name[vi]=Cửa sổ ẩn danh mới
Name[zh_CN]=新建隐身窗口
Name[zh_TW]=新增無痕式視窗
Exec=/usr/bin/chromium --ozone-platform=wayland --new-window --incognito

View File

@ -1,2 +0,0 @@
[Desktop Entry]
Hidden=true

View File

@ -1,2 +0,0 @@
[Desktop Entry]
Hidden=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
applications/icons/HEY.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

View File

@ -1,51 +0,0 @@
[Desktop Entry]
Type=Application
Name=Media Player
Name[ar]=مشغل وسائط mpv
Name[ca]=Reproductor multimèdia mpv
Name[cs]=mpv přehrávač
Name[da]=mpv-medieafspiller
Name[fr]=Lecteur multimédia mpv
Name[it]=Lettore multimediale mpv
Name[ja]=mpv メディアプレイヤー
Name[pl]=Odtwarzacz mpv
Name[ru]=Проигрыватель mpv
Name[tr]=mpv Ortam Oynatıcı
Name[zh_CN]=mpv 媒体播放器
Name[zh_TW]=mpv 媒體播放器
GenericName=Multimedia player
GenericName[ar]=مُشَغِّل وسائط متعددة
GenericName[cs]=Multimediální přehrávač
GenericName[da]=Multimedieafspiller
GenericName[fr]=Lecteur multimédia
GenericName[it]=Lettore multimediale
GenericName[ja]=マルチメディアプレイヤー
GenericName[ru]=Мультимедийный проигрыватель
GenericName[tr]=Çoklu ortam oynatıcı
GenericName[zh_CN]=多媒体播放器
GenericName[zh_TW]=多媒體播放器
Comment=Play movies and songs
Comment[ar]=شَغِّل الأفلام والأغاني
Comment[ca]=Reproduïu vídeos i cançons
Comment[cs]=Přehrává filmy a hudbu
Comment[da]=Afspil film og sange
Comment[de]=Filme und Musik abspielen
Comment[es]=Reproduzca vídeos y canciones
Comment[fr]=Lire des vidéos et des musiques
Comment[ja]=映画や音楽を再生する
Comment[it]=Riproduci video e canzoni
Comment[pl]=Odtwarzaj filmy i muzykę
Comment[ru]=Воспроизведение фильмов и музыки
Comment[tr]=Filmleri ve şarkıları oynatın
Comment[zh_CN]=播放电影和歌曲
Comment[zh_TW]=播放電影和歌曲
Icon=mpv
TryExec=mpv
Exec=mpv --player-operation-mode=pseudo-gui -- %U
Terminal=false
Categories=AudioVideo;Audio;Video;Player;TV;
MimeType=application/ogg;application/x-ogg;application/mxf;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/aiff;audio/x-aiff;audio/m4a;audio/x-m4a;application/x-extension-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/mpeg2;audio/mpeg3;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/musepack;audio/x-musepack;audio/ogg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg2;video/x-mpeg3;video/mp4v-es;video/x-m4v;video/mp4;application/x-extension-mp4;video/divx;video/vnd.divx;video/msvideo;video/x-msvideo;video/ogg;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;audio/x-ms-asf;application/vnd.ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/avi;video/x-flic;video/fli;video/x-flc;video/flv;video/x-flv;video/x-theora;video/x-theora+ogg;video/x-matroska;video/mkv;audio/x-matroska;application/x-matroska;video/webm;audio/webm;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/x-ogm;video/x-ogm+ogg;application/x-ogm;application/x-ogm-audio;application/x-ogm-video;application/x-shorten;audio/x-shorten;audio/x-ape;audio/x-wavpack;audio/x-tta;audio/AMR;audio/ac3;audio/eac3;audio/amr-wb;video/mp2t;audio/flac;audio/mp4;application/x-mpegurl;video/vnd.mpegurl;application/vnd.apple.mpegurl;audio/x-pn-au;video/3gp;video/3gpp;video/3gpp2;audio/3gpp;audio/3gpp2;video/dv;audio/dv;audio/opus;audio/vnd.dts;audio/vnd.dts.hd;audio/x-adpcm;application/x-cue;audio/m3u;audio/vnd.wave;video/vnd.avi;
X-KDE-Protocols=appending,file,ftp,hls,http,https,mms,mpv,rtmp,rtmps,rtmpt,rtmpts,rtp,rtsp,rtsps,sftp,srt,srtp,webdav,webdavs
StartupWMClass=mpv
Keywords=mpv;media;player;video;audio;tv;
Keywords[ar]=mpv;إم بي في;ام بي في;وسائط;مشغل;فيديو;مرئية;صوتي;تلفاز;

View File

@ -2,7 +2,7 @@
Name=Neovim Name=Neovim
GenericName=Text Editor GenericName=Text Editor
Comment=Edit text files Comment=Edit text files
Exec=alacritty --class=nvim --title=nvim -e nvim -- %F Exec=alacritty -e nvim -- %F
Terminal=false Terminal=false
Type=Application Type=Application
Keywords=Text;editor; Keywords=Text;editor;

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Omarchy
Comment=Omarchy TUI
Exec=alacritty --class=Omarchy --title=Omarchy -e bash -c '$HOME/.local/share/omarchy/bin/omarchy'
Icon=Arch
Terminal=false
Categories=System;Utility;
StartupNotify=false

View File

@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Name=Volume Control
Comment=Adjust the volume level
Exec=env GTK_THEME=Adwaita-dark pavucontrol
Icon=multimedia-volume-control
StartupNotify=true
Type=Application
Categories=AudioVideo;Audio;Mixer;GTK;Settings;X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;
Keywords=pavucontrol;PulseAudio;Microphone;Volume;Fade;Balance;Headset;Speakers;Headphones;Audio;Mixer;Output;Input;Devices;Playback;Recording;System Sounds;Sound Card;Settings;Preferences;

14
applications/vlc.desktop Normal file
View File

@ -0,0 +1,14 @@
[Desktop Entry]
Version=1.0
Name=VLC media player
GenericName=Media player
Comment=Read, capture, broadcast your multimedia streams
Exec=env QT_SCALE_FACTOR=2 /usr/bin/vlc --started-from-file %U
TryExec=/usr/bin/vlc
Icon=vlc
Terminal=false
Type=Application
Categories=AudioVideo;Player;Recorder;
MimeType=application/ogg;application/x-ogg;audio/ogg;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/avi;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;application/x-cd-image;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-flv;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/x-adpcm;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;
X-KDE-Protocols=ftp,http,https,mms,rtmp,rtsp,sftp,smb
Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast;

View File

@ -1,7 +0,0 @@
[Desktop Entry]
Name=Audio Settings
Comment=Using Wiremix
Exec=alacritty --class=Wiremix --title=Wiremix -e wiremix
Icon=audio-card
Type=Application
Terminal=false

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Name=Typora
GenericName=Markdown Editor
Exec=typora --enable-wayland-ime %U
Icon=typora
Type=Application
StartupNotify=true
Categories=Office;WordProcessor;
MimeType=text/markdown;text/x-markdown;

View File

@ -1,149 +0,0 @@
#!/bin/bash
OMARCHY_VERSION=$(git -C ~/.local/share/omarchy describe --tags --abbrev=0 2>/dev/null)
PATH="$PATH:$HOME/.local/share/omarchy/bin"
show_ascii_art() {
source ~/.local/share/omarchy/ansi.sh
echo " $OMARCHY_VERSION"
}
main_menu() {
show_ascii_art
local options=("Theme" "Setup" "Update" "Manual" "Exit")
choice=$(printf "%s\n" "${options[@]}" | gum choose --header "") || exit 0
case "$choice" in
Theme) theme_menu ;;
Update) update_menu ;;
Setup) setup_menu ;;
Manual) open_manual ;;
Exit) clear && exit 0 ;;
esac
}
update_menu() {
show_ascii_art
local menu=("Omarchy" "Waybar" "Walker" "Plymouth" "SwayOSD" "Desktop apps" "Back")
local commands=(
"omarchy-update"
"omarchy-refresh-waybar"
"omarchy-refresh-walker"
"omarchy-refresh-plymouth"
"omarchy-refresh-swayosd"
"omarchy-refresh-applications"
"main_menu"
)
local choice
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Update") || main_menu
for i in "${!menu[@]}"; do
if [[ "${menu[$i]}" == "$choice" ]]; then
if [[ "$choice" == "Back" ]]; then
main_menu
else
eval "${commands[$i]}"
ack_command
main_menu
fi
break
fi
done
}
theme_menu() {
show_ascii_art
local menu=("Pick" "Install" "Remove" "Back")
local commands=(
"omarchy-theme-menu"
"install_theme_prompt"
"remove_theme_prompt"
"main_menu"
)
local choice
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Theme") || main_menu
for i in "${!menu[@]}"; do
if [[ "${menu[$i]}" == "$choice" ]]; then
if [[ "$choice" == "Back" ]]; then
main_menu
else
eval "${commands[$i]}"
ack_command
main_menu
fi
break
fi
done
}
install_theme_prompt() {
local url
url=$(gum input --placeholder="Git repo URL for theme" --header="")
if [[ -n "$url" ]]; then
omarchy-theme-install "$url"
fi
theme_menu
}
remove_theme_prompt() {
local theme
theme=$(gum input --placeholder="Theme name" --header="")
if [[ -n "$theme" ]]; then
omarchy-theme-remove "$theme"
fi
theme_menu
}
setup_menu() {
show_ascii_art
local menu=("Dropbox" "Docker DBs" "Fingerprint sensor" "Fido2 device" "Back")
local commands=(
"omarchy-setup-dropbox"
"setup_docker_dbs"
"omarchy-setup-fingerprint"
"omarchy-setup-fido2"
"main_menu"
)
local choice
choice=$(printf "%s\n" "${menu[@]}" | gum choose --header="Setup") || main_menu
for i in "${!menu[@]}"; do
if [[ "${menu[$i]}" == "$choice" ]]; then
if [[ "$choice" == "Back" ]]; then
main_menu
else
eval "${commands[$i]}"
ack_command
main_menu
fi
break
fi
done
}
setup_docker_dbs() {
options=("MariaDB" "MySQL" "Redis" "PostgreSQL")
choices=$(printf "%s\n" "${options[@]}" | gum choose --no-limit --header "Select databases (space to select, return to install, esc to cancel)") || main_menu
if [[ -n "$choices" ]]; then
for db in $choices; do
case $db in
MariaDB) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mariadb11 -e MARIADB_ROOT_PASSWORD= -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true mariadb:11.8 ;;
MySQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:3306:3306" --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8.4 ;;
Redis) sudo docker run -d --restart unless-stopped -p "127.0.0.1:6379:6379" --name=redis redis:7 ;;
PostgreSQL) sudo docker run -d --restart unless-stopped -p "127.0.0.1:5432:5432" --name=postgres16 -e POSTGRES_HOST_AUTH_METHOD=trust postgres:16 ;;
esac
done
fi
main_menu
}
open_manual() {
setsid chromium --new-window --ozone-platform=wayland --app="https://manuals.omamix.org/2/the-omarchy-manual" >/dev/null 2>&1 &
clear
}
ack_command() {
gum spin --spinner "globe" --title "Done!" -- sleep 1
}
main_menu

View File

@ -1,30 +0,0 @@
#!/bin/bash
# Designed to be run by systemd timer every 30 seconds and alerts if battery is low
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/%//'
}
get_battery_state() {
upower -i $(upower -e | grep 'BAT') | grep -E "state" | awk '{print $2}'
}
send_notification() {
notify-send -u critical "Battery Low" "Time to recharge! (battery is at ${1}%)" -i battery-caution
}
BATTERY_LEVEL=$(get_battery_percentage)
BATTERY_STATE=$(get_battery_state)
if [[ "$BATTERY_STATE" == "discharging" && "$BATTERY_LEVEL" -le "$BATTERY_THRESHOLD" ]]; then
if [[ ! -f "$NOTIFICATION_FLAG" ]]; then
send_notification "$BATTERY_LEVEL"
touch "$NOTIFICATION_FLAG"
fi
else
rm -f "$NOTIFICATION_FLAG"
fi

View File

@ -1,26 +0,0 @@
#!/bin/bash
# Set recorder based on GPU
screenrecording() {
filename="$HOME/Videos/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
notify-send "Screen recording starting..." -t 1000
sleep 1
if lspci | grep -qi 'nvidia'; then
wf-recorder -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@"
else
wl-screenrec -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@"
fi
}
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 ~/Videos" -t 2000
elif [[ "$1" == "output" ]]; then
screenrecording
else
region=$(slurp) || exit 1
screenrecording -g "$region"
fi

View File

@ -1,9 +0,0 @@
#!/bin/bash
hyprshot -m ${1:-region} --raw |
satty --filename - \
--output-filename ~/Pictures/screenshot-$(date +'%Y-%m-%d_%H-%M-%S').png \
--early-exit \
--actions-on-enter save-to-clipboard \
--save-after-copy \
--copy-command 'wl-copy'

7
bin/omarchy-config-link Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
# Link all the key config files to omarchy's internal versions for quicker testing
ln -nsf ~/.local/share/omarchy/config/hypr/hyprland.conf ~/.config/hypr/
ln -nsf ~/.local/share/omarchy/config/hypr/hypridle.conf ~/.config/hypr/
ln -nsf ~/.local/share/omarchy/config/waybar/config ~/.config/waybar/
ln -nsf ~/.local/share/omarchy/config/wofi/config ~/.config/wofi/

View File

@ -1,7 +0,0 @@
#!/bin/bash
cd ~/.local/share/omarchy
migration_file="$HOME/.local/share/omarchy/migrations/$(git log -1 --format=%cd --date=unix).sh"
touch $migration_file
nvim $migration_file
echo -e "Run with:\nsource $migration_file"

View File

@ -1,64 +0,0 @@
#!/bin/bash
# A script to display Hyprland keybindings defined in your configuration
# using walker for an interactive search menu.
USER_HYPRLAND_CONF="$HOME/.config/hypr/hyprland.conf"
OMARCHY_BINDINGS_CONF="$HOME/.local/share/omarchy/default/hypr/bindings.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/tiling.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/utilities.conf \
$HOME/.local/share/omarchy/default/hypr/bindings/media.conf"
# Process the configuration file to extract and format keybindings
# 1. `grep` finds all lines starting with 'bind' (allowing for leading spaces).
# 2. The first `sed` removes comments (anything after a '#').
# 3. `awk` does the heavy lifting of formatting the output.
# - It sets the field separator to a comma ','.
# - It removes the 'bind... =' part from the beginning of the line.
# - It joins the key combination (e.g., "SUPER + Q").
# - It joins the command that the key executes.
# - It prints everything in a nicely aligned format.
# 4. The final `sed` cleans up any leftover commas from the end of lines.
grep -h '^[[:space:]]*bind' $USER_HYPRLAND_CONF $OMARCHY_BINDINGS_CONF |
sed 's/#.*//' |
sed '/^[[:space:]]*$/d' |
sort -u |
awk -F, '
{
# Strip trailing comments
sub(/#.*/, "");
# Remove the "bind... =" part and surrounding whitespace
sub(/^[[:space:]]*bind[^=]*=(\+[[:space:]])?(exec, )?[[:space:]]*/, "", $1);
# Combine the modifier and key (first two fields)
key_combo = $1 " + " $2;
# Clean up: strip leading "+" if present, trim spaces
gsub(/^[ \t]*\+?[ \t]*/, "", key_combo);
gsub(/[ \t]+$/, "", key_combo);
# Reconstruct the command from the remaining fields
action = "";
for (i = 3; i <= NF; i++) {
action = action $i (i < NF ? "," : "");
}
# Clean up trailing commas, remove leading "exec, ", and trim
sub(/,$/, "", action);
gsub(/(^|,)[[:space:]]*exec[[:space:]]*,?/, "", action);
gsub(/^[ \t]+|[ \t]+$/, "", action);
gsub(/[ \t]+/, " ", key_combo); # Collapse multiple spaces to one
if (action != "") {
# Escape XML entities
gsub(/&/, "\\&amp;", action);
gsub(/</, "\\&lt;", action);
gsub(/>/, "\\&gt;", action);
gsub(/"/, "\\&quot;", action);
gsub(/'"'"'/, "\\&apos;", action);
printf "%-35s → %s\n", key_combo, action;
}
}' |
walker --dmenu --theme keybindings -p 'Keybindings'

View File

@ -1,21 +0,0 @@
#!/bin/bash
show_power_menu() {
# The first characters are invisible sort keys.
local menu_options="\u200B Lock
\u200C󰤄 Suspend
\u200D Relaunch
\u2060󰜉 Restart
\u2063󰐥 Shutdown"
local selection=$(echo -e "$menu_options" | walker --dmenu --theme dmenu_150)
case "$selection" in
*Lock*) hyprlock ;;
*Suspend*) systemctl suspend ;;
*Relaunch*) uwsm stop ;;
*Restart*) systemctl reboot ;;
*Shutdown*) systemctl poweroff ;;
esac
}
show_power_menu

View File

@ -1,11 +0,0 @@
#!/bin/bash
# Overwrite local Hyprlock settings with the latest in Omarchy, but create a backup if it differs
cp -f ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak 2>/dev/null
cp -f ~/.local/share/omarchy/config/hypr/hyprlock.conf ~/.config/hypr/ 2>/dev/null
if cmp -s ~/.config/hypr/hyprlock.conf.bak ~/.config/hypr/hyprlock.conf; then
rm ~/.config/hypr/hyprlock.conf.bak
else
echo -e "\e[31mExisting .config/hypr/hyprlock.conf replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi

View File

@ -1,6 +0,0 @@
#!/bin/bash
if [[ "$1" == "-y" ]] || gum confirm "Refresh Plymouth theme? This will replace your current startup screen with Omarchy defaults."; then
sudo cp ~/.local/share/omarchy/default/plymouth/* /usr/share/plymouth/themes/omarchy/
sudo plymouth-set-default-theme -R omarchy
fi

View File

@ -1,13 +0,0 @@
#!/bin/bash
cp -f ~/.config/swayosd/config.toml ~/.config/swayosd/config.toml.bak 2>/dev/null
cp -f ~/.local/share/omarchy/config/swayosd/config.toml ~/.config/swayosd/ 3>/dev/null
if cmp -s ~/.config/swayosd/config.toml.bak ~/.config/swayosd/config.toml; then
rm ~/.config/swayosd//config.toml.bak
else
echo -e "\e[31mExisting .config/swayosd/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &

View File

@ -1,13 +0,0 @@
#!/bin/bash
cp -f ~/.config/walker/config.toml ~/.config/walker/config.toml.bak 2>/dev/null
cp -f ~/.local/share/omarchy/config/walker/config.toml ~/.config/walker/ 2>/dev/null
if cmp -s ~/.config/walker/config.toml.bak ~/.config/walker/config.toml; then
rm ~/.config/walker/config.toml.bak
else
echo -e "\e[31mExisting .config/walker/config.toml replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi
pkill walker
uwsm app -- walker --gapplication-service &

View File

@ -1,25 +0,0 @@
#!/bin/bash
# Backup existing settings
cp -f ~/.config/waybar/config.jsonc ~/.config/waybar/config.jsonc.bak 2>/dev/null
cp -f ~/.config/waybar/style.css ~/.config/waybar/style.css.bak 2>/dev/null
# Overwrite local waybar settings with the latest in Omarchy
cp -f ~/.local/share/omarchy/config/waybar/config.jsonc ~/.config/waybar/ 2>/dev/null
cp -f ~/.local/share/omarchy/config/waybar/style.css ~/.config/waybar/ 2>/dev/null
# Remove identical backup files
if cmp -s ~/.config/waybar/config.jsonc.bak ~/.config/waybar/config.jsonc; then
rm ~/.config/waybar/config.jsonc.bak
else
echo -e "\e[31mExisting .config/waybar/config.jsonc replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi
if cmp -s ~/.config/waybar/style.css.bak ~/.config/waybar/style.css; then
rm ~/.config/waybar/style.css.bak
else
echo -e "\e[31mExisting .config/waybar/style.css replaced with new Omarchy default, but a .bak file was made.\e[0m"
fi
# Restart waybar
pkill -SIGUSR2 waybar

View File

@ -1,9 +0,0 @@
#!/bin/bash
echo "Installing all dependencies..."
yay -S --noconfirm --needed \
dropbox dropbox-cli libappindicator-gtk3 python-gpgme nautilus-dropbox
echo "Starting Dropbox..."
uwsm app -- dropbox-cli start &>/dev/null &
echo "See Dropbox icon behind  hover tray in top right and right-click for setup."

View File

@ -1,33 +0,0 @@
#!/bin/bash
if [[ "--remove" == "$1" ]]; then
yay -Rns --noconfirm libfido2 pam-u2f
sudo rm -rf /etc/fido2
sudo sed -i '\|^auth[[:space:]]\+sufficient[[:space:]]\+pam_u2f\.so[[:space:]]\+cue[[:space:]]\+authfile=/etc/fido2/fido2$|d' /etc/pam.d/sudo
echo -e "\e[32m\nYou've successfully removed the fido2 device setup.\e[0m"
else
yay -S --noconfirm --needed libfido2 pam-u2f
tokens=$(fido2-token -L)
if [ -z "$tokens" ]; then
echo -e "\e[31m\nNo fido2 device detected. Plug it in, you may have to unlock it as well\e[0m"
else
# Create the pamu2fcfg file
if [ ! -f /etc/fido2/fido2 ]; then
sudo mkdir -p /etc/fido2
echo -e "\e[32m\nLet's setup your device by confirming on the device now.\e[0m"
pamu2fcfg >/tmp/fido2 # This needs to run as the user
sudo mv /tmp/fido2 /etc/fido2/fido2
fi
# Add fido2 auth as an option for sudo
if ! grep -q pam_u2f.so /etc/pam.d/sudo; then
sudo sed -i '1i auth sufficient pam_u2f.so cue authfile=/etc/fido2/fido2' /etc/pam.d/sudo
fi
if ! sudo echo -e "\e[32m\nPerfect! Now you can use your fido2 device for sudo.\e[0m"; then
echo -e "\e[31m\nSomething went wrong. Maybe try again?\e[0m"
fi
fi
fi

View File

@ -1,43 +0,0 @@
#!/bin/bash
if [[ "--remove" == "$1" ]]; then
yay -Rns --noconfirm fprintd
sudo rm -rf /etc/pam.d/polkit-1
sudo sed -i '/pam_fprintd\.so/d' /etc/pam.d/sudo
echo -e "\e[32mYou've successfully removed the fingerprint setup.\e[0m"
else
yay -S --noconfirm --needed fprintd usbutils
if ! lsusb | grep -Eiq 'fingerprint|synaptics|goodix'; then
echo -e "\e[31m\nNo fingerprint sensor detected.\e[0m"
else
# Add fingerprint authentication as an option for sudo
if ! grep -q pam_fprintd.so /etc/pam.d/sudo; then
sudo sed -i '1i auth sufficient pam_fprintd.so' /etc/pam.d/sudo
fi
# Add fingerprint authentication as an option for hyprpolkitagent
if [ ! -f /etc/pam.d/polkit-1 ] || ! grep -q pam_fprintd.so /etc/pam.d/polkit-1; then
sudo tee /etc/pam.d/polkit-1 >/dev/null <<'EOF'
auth required pam_unix.so
auth optional pam_fprintd.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
EOF
fi
# Enroll the first finger
echo -e "\e[32m\nLet's setup your right index finger as the first fingerprint.\nKeep moving the finger around on sensor until the process completes.\n\e[0m"
sudo fprintd-enroll $USER
echo -e "\e[32m\nNow let's verify that it's working correctly.\e[0m\n"
if fprintd-verify; then
echo -e "\e[32m\nPerfect! Now you can use your fingerprint on the lock screen (Super + Escape).\e[0m"
else
echo -e "\e[31m\nSomething went wrong. Maybe try again?\e[0m"
fi
fi
fi

View File

@ -8,10 +8,4 @@ gtk-update-icon-cache ~/.local/share/icons/hicolor &>/dev/null
# Copy .desktop declarations # Copy .desktop declarations
mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/applications
cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/ cp ~/.local/share/omarchy/applications/*.desktop ~/.local/share/applications/
cp ~/.local/share/omarchy/applications/hidden/*.desktop ~/.local/share/applications/
if [ -z "$OMARCHY_BARE" ]; then
cp ~/.local/share/omarchy/applications/xtras/*.desktop ~/.local/share/applications/
fi
update-desktop-database ~/.local/share/applications update-desktop-database ~/.local/share/applications

View File

@ -1,48 +0,0 @@
#!/bin/bash
# Cycles through the background images available
BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
mapfile -d '' -t BACKGROUNDS < <(find "$BACKGROUNDS_DIR" -type f -print0 | sort -z)
TOTAL=${#BACKGROUNDS[@]}
if [[ $TOTAL -eq 0 ]]; then
notify-send "No background was found for theme" -t 2000
pkill -x swaybg
uwsm app -- swaybg --color '#000000' >/dev/null 2>&1 &
else
# Get current background from symlink
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=""
fi
# Find current background index
INDEX=-1
for i in "${!BACKGROUNDS[@]}"; do
if [[ "${BACKGROUNDS[$i]}" == "$CURRENT_BACKGROUND" ]]; then
INDEX=$i
break
fi
done
# Get next background (wrap around)
if [[ $INDEX -eq -1 ]]; then
# Use the first background when no match was found
NEW_BACKGROUND="${BACKGROUNDS[0]}"
else
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND="${BACKGROUNDS[$NEXT_INDEX]}"
fi
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Relaunch swaybg
pkill -x swaybg
uwsm app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
fi

View File

@ -1,36 +0,0 @@
#!/bin/bash
# omarchy-theme-install: Install a new theme from a git repo for Omarchy
# Usage: omarchy-theme-install <git-repo-url>
if [ -z "$1" ]; then
echo "Usage: omarchy-theme-install <git-repo-url>"
exit 1
fi
REPO_URL="$1"
THEMES_DIR="$HOME/.config/omarchy/themes"
THEME_NAME=$(basename "$REPO_URL" .git | sed -E 's/^omarchy-//; s/-theme$//')
THEME_PATH="$THEMES_DIR/$THEME_NAME"
THEME_BACKGROUND_PATH="$THEME_PATH/backgrounds"
BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds"
BACKGROUNDS_THEME_PATH="$BACKGROUNDS_PATH/$THEME_NAME"
# Remove existing theme if present
if [ -d "$THEME_PATH" ]; then
rm -rf "$THEME_PATH"
fi
# Clone the repo directly to ~/.config/omarchy/themes
if ! git clone "$REPO_URL" "$THEME_PATH"; then
echo "Error: Failed to clone theme repo."
exit 1
fi
# Link backgrounds if present
if [ -d $THEME_BACKGROUND_PATH ]; then
ln -snf $THEME_BACKGROUND_PATH $BACKGROUNDS_THEME_PATH
fi
# Apply the new theme with omarchy-theme-set
omarchy-theme-set $THEME_NAME

View File

@ -1,31 +0,0 @@
#!/bin/bash
THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
CURRENT_THEME_NAME=$(basename "$(realpath "$CURRENT_THEME_DIR")")
# Build themes list with pretty display names
mapfile -t themes < <(
find "$THEMES_DIR" -mindepth 1 -maxdepth 1 \( -type d -o -type l \) | while read -r path; do
filename=$(basename "$path")
display_name=$(echo "$filename" | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g')
if [[ "$filename" == "$CURRENT_THEME_NAME" ]]; then
echo "<i>$display_name</i>"
else
echo "$display_name"
fi
done | sort
)
# Show Walker menu
selection=$(printf '%s\n' "${themes[@]}" | walker --dmenu --theme dmenu_250 2>/dev/null)
# Remove any Pango markup before converting back to filename
clean_selection=$(echo "$selection" | sed -E 's/<[^>]+>//g')
# Convert to lowercase and dash-separated: "Tokyo Night" -> "tokyo-night"
selected_theme=$(echo "$clean_selection" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
# Apply the selected theme
"$HOME/.local/share/omarchy/bin/omarchy-theme-set" "$selected_theme"

View File

@ -3,22 +3,20 @@
THEMES_DIR="$HOME/.config/omarchy/themes/" THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme" CURRENT_THEME_LINK="$HOME/.config/omarchy/current/theme"
THEMES=($(find "$THEMES_DIR" -mindepth 1 -maxdepth 1 | sort)) THEMES=($(find "$THEMES_DIR" -mindepth 1 | sort))
TOTAL=${#THEMES[@]} TOTAL=${#THEMES[@]}
# Get current theme from symlink # Get current theme from symlink
if [[ -L "$CURRENT_THEME_LINK" ]]; then if [[ -L "$CURRENT_THEME_LINK" ]]; then
CURRENT_THEME=$(realpath "$CURRENT_THEME_LINK") CURRENT_THEME=$(readlink "$CURRENT_THEME_LINK")
else else
# Default to first theme if no symlink exists # Default to first theme if no symlink exists
CURRENT_THEME=$(realpath "${THEMES[0]}") CURRENT_THEME=${THEMES[0]}
fi fi
# Find current theme index # Find current theme index
INDEX=0 INDEX=0
for i in "${!THEMES[@]}"; do for i in "${!THEMES[@]}"; do
THEMES[$i]=$(realpath "${THEMES[$i]}")
if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then
INDEX=$i INDEX=$i
break break
@ -30,5 +28,22 @@ NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_THEME=${THEMES[$NEXT_INDEX]} NEW_THEME=${THEMES[$NEXT_INDEX]}
NEW_THEME_NAME=$(basename "$NEW_THEME") NEW_THEME_NAME=$(basename "$NEW_THEME")
"$HOME/.local/share/omarchy/bin/omarchy-theme-set" $NEW_THEME_NAME # Set current theme
ln -nsf "$HOME/.config/omarchy/backgrounds/$NEW_THEME_NAME" "$HOME/.config/omarchy/current/backgrounds"
ln -nsf "$NEW_THEME" "$HOME/.config/omarchy/current/theme"
# Touch alacritty config to pickup the changed theme
touch "$HOME/.config/alacritty/alacritty.toml"
# Restart for new theme
pkill -SIGUSR2 waybar
makoctl reload
hyprctl reload
# Set new background
ln -nsf $(find "$HOME/.config/omarchy/current/backgrounds/" -type f | head -n 1) "$HOME/.config/omarchy/current/background"
pkill -x swaybg
setsid swaybg -i "$HOME/.config/omarchy/current/background" -m fill &
# Notify of the new theme
notify-send "Theme changed to $NEW_THEME_NAME" -t 2000 notify-send "Theme changed to $NEW_THEME_NAME" -t 2000

View File

@ -1,33 +0,0 @@
#!/bin/bash
# omarchy-theme-remove: Remove a theme from Omarchy by name
# Usage: omarchy-theme-remove <theme-name>
if [ -z "$1" ]; then
echo "Usage: omarchy-theme-remove <theme-name>"
exit 1
fi
THEME_NAME="$1"
THEMES_DIR="$HOME/.config/omarchy/themes"
BACKGROUND_DIR="$HOME/.config/omarchy/backgrounds"
CURRENT_DIR="$HOME/.config/omarchy/current"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
BACKGROUND_PATH="$BACKGROUND_DIR/$THEME_NAME"
# Check if theme exists before attempting removal
if [ ! -d "$THEME_PATH" ]; then
echo "Error: Theme '$THEME_NAME' not found."
exit 1
fi
# Use readlink -f to resolve symlinks and get the absolute path
if [ "$(readlink -f "$CURRENT_DIR/theme")" = "$(readlink -f "$THEME_PATH")" ]; then
"$HOME/.local/share/omarchy/bin/omarchy-theme-next"
fi
# Now remove the theme directory and backgrounds for THEME_NAME
rm -rf "$THEME_PATH"
rm -rf "$BACKGROUND_PATH"

View File

@ -1,47 +0,0 @@
#!/bin/bash
# omarchy-theme-set: Set a theme, specified by its name.
# Usage: omarchy-theme-set <theme-name>
if [[ -z "$1" ]]; then
echo "Usage: omarchy-theme-set <theme-name>" >&2
exit 1
fi
THEMES_DIR="$HOME/.config/omarchy/themes/"
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
THEME_NAME="$1"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
# Check if the theme entered exists
if [[ ! -d "$THEME_PATH" ]]; then
echo "Theme '$THEME_NAME' does not exist in $THEMES_DIR" >&2
exit 2
fi
# Update theme symlinks
ln -nsf "$THEME_PATH" "$CURRENT_THEME_DIR"
# Change gnome modes
if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
else
gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"
fi
# Trigger alacritty config reload
touch "$HOME/.config/alacritty/alacritty.toml"
# Restart components to apply new theme
pkill -SIGUSR2 btop
pkill -SIGUSR2 waybar
pkill swayosd-server
setsid uwsm app -- swayosd-server &>/dev/null &
makoctl reload
hyprctl reload
# Set new background
"$HOME/.local/share/omarchy/bin/omarchy-theme-bg-next"

View File

@ -1,9 +0,0 @@
#!/bin/bash
if pgrep -x hypridle >/dev/null; then
pkill -x hypridle
notify-send "Stop locking computer when idle"
else
uwsm app -- hypridle >/dev/null 2>&1 &
notify-send "Now locking computer when idle"
fi

View File

@ -3,29 +3,26 @@
cd ~/.local/share/omarchy cd ~/.local/share/omarchy
if [[ $1 == "all" ]]; then if [[ $1 == "all" ]]; then
# Run all migrations since the root commit # Run all migrations
migration_starting_point=$(git log --max-parents=0 --first-parent --format="%H") last_updated_at=1
else else
# Remember the commit we're at before upgrading in order to only run new migrations # Remember the version we're at before upgrading
migration_starting_point=$(git log -1 --format=%H) last_updated_at=$(git log -1 --format=%cd --date=unix)
fi fi
# Get the latest while trying to preserve any modifications # Get the latest
git pull --autostash git pull
git diff --check || git reset --merge
# Run any pending migrations # Run any pending migrations
for file in $(git diff --name-only --diff-filter=A $migration_starting_point.. migrations/*.sh); do for file in migrations/*.sh; do
filename=$(basename "$file") filename=$(basename "$file")
migrate_at="${filename%.sh}" migrate_at="${filename%.sh}"
echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m" if [ $migrate_at -gt $last_updated_at ]; then
source $file echo "Running migration ($migrate_at)"
source $file
fi
done done
# Update system packages
echo -e "\e[32m\nUpdate system packages\e[0m"
yay -Syu --noconfirm
# Back to where we came from # Back to where we came from
cd - >/dev/null cd - >/dev/null

37
bin/swaybg-next Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
# Cycles through the background images available
BACKGROUNDS_DIR="$HOME/.config/omarchy/current/backgrounds/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
BACKGROUNDS=($(find "$BACKGROUNDS_DIR" -type f | sort))
TOTAL=${#BACKGROUNDS[@]}
# Get current background from symlink
if [[ -L "$CURRENT_BACKGROUND_LINK" ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=${BACKGROUNDS[0]}
fi
# Find current background index
INDEX=0
for i in "${!BACKGROUNDS[@]}"; do
if [[ "${BACKGROUNDS[$i]}" == "$CURRENT_BACKGROUND" ]]; then
INDEX=$i
break
fi
done
# Get next background (wrap around)
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND=${BACKGROUNDS[$NEXT_INDEX]}
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Relaunch swaybg
pkill -x swaybg
setsid swaybg -i "$NEW_BACKGROUND" -m fill >/dev/null 2>&2 &

16
boot.sh Executable file → Normal file
View File

@ -1,6 +1,4 @@
#!/bin/bash ascii_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄ ▄████████ ▄████████ ▄████████ ▄█ █▄ ▄██ ▄
███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ██▄
███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ███ ███▄▄▄███
███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███ ███ ███ ███ ███ ███ ███ ███ ▄███▄▄▄▄██▀ ███ ▄███▄▄▄▄███▄▄ ▀▀▀▀▀▀███
@ -10,21 +8,13 @@ ansi_art=' ▄██████▄ ▄▄▄▄███▄▄▄▄
▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀ ▀██████▀ ▀█ ███ █▀ ███ █▀ ███ ███ ████████▀ ███ █▀ ▀█████▀
███ ███ ' ███ ███ '
echo -e "\n$ansi_art\n" echo -e "\n$ascii_art\n"
sudo pacman -Sy --noconfirm --needed git pacman -Q git &>/dev/null || sudo pacman -Sy --noconfirm --needed git
echo -e "\nCloning Omarchy..." echo -e "\nCloning Omarchy..."
rm -rf ~/.local/share/omarchy/ rm -rf ~/.local/share/omarchy/
git clone https://github.com/basecamp/omarchy.git ~/.local/share/omarchy >/dev/null git clone https://github.com/basecamp/omarchy.git ~/.local/share/omarchy >/dev/null
# Use custom branch if instructed
if [[ -n "$OMARCHY_REF" ]]; then
echo -e "\eUsing branch: $OMARCHY_REF"
cd ~/.local/share/omarchy
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
cd -
fi
echo -e "\nInstallation starting..." echo -e "\nInstallation starting..."
source ~/.local/share/omarchy/install.sh source ~/.local/share/omarchy/install.sh

View File

@ -1,4 +1,5 @@
INPUT_METHOD=fcitx INPUT_METHOD=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx SDL_IM_MODULE=fcitx

View File

@ -1,58 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="family" qual="any">
<string>sans-serif</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>Liberation Sans</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any">
<string>serif</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>Liberation Serif</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any">
<string>monospace</string>
</test>
<edit name="family" mode="assign" binding="strong">
<string>CaskaydiaMono Nerd Font</string>
</edit>
</match>
<alias>
<family>system-ui</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>ui-monospace</family>
<default>
<family>monospace</family>
</default>
</alias>
<alias>
<family>-apple-system</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
<alias>
<family>BlinkMacSystemFont</family>
<prefer>
<family>Liberation Sans</family>
</prefer>
</alias>
</fontconfig>

27
config/ghostty/config Normal file
View File

@ -0,0 +1,27 @@
# Font configuration
font-family = CaskaydiaMono Nerd Font
font-size = 9
adjust-cell-height=7%
# Window settings
window-padding-x = 14
window-padding-y = 14
window-decoration = false
background-opacity = 0.98
# Window behavior
confirm-close-surface=false
resize-overlay = never
# Cursor stlying
cursor-style = "block"
cursor-style-blink = false
# Terminal settings
term = xterm-256color
# Keybindings
keybind = f11=toggle_fullscreen
# FIXME: Will need to change this theme out in a symlink
theme = "tokyonight"

View File

@ -1,81 +1,45 @@
# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/ # Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/
# You're encouraged to tailor your Hyprland config in this file by adding or overwriting any settings.
# But don't change anything that lives in ~/.local/share/omarchy, if you can help it!
# Those files are overwritten when Omarchy is updated.
# Change your personal monitor setup in here to keep the main config portable # Change your personal monitor setup in here to keep the main config portable
source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/monitors.conf
# Default applications
$terminal = alacritty
$fileManager = nautilus --new-window
$browser = chromium --new-window --ozone-platform=wayland
$music = spotify
$passwordManager = 1password
$messenger = signal-desktop
$webapp = $browser --app
# Use defaults Omarchy defaults # Use defaults Omarchy defaults
source = ~/.local/share/omarchy/default/hypr/autostart.conf source = ~/.local/share/omarchy/default/hypr/autostart.conf
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf source = ~/.local/share/omarchy/default/hypr/bindings.conf
source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf
source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf
source = ~/.local/share/omarchy/default/hypr/envs.conf source = ~/.local/share/omarchy/default/hypr/envs.conf
source = ~/.local/share/omarchy/default/hypr/looknfeel.conf source = ~/.local/share/omarchy/default/hypr/looknfeel.conf
source = ~/.local/share/omarchy/default/hypr/input.conf source = ~/.local/share/omarchy/default/hypr/input.conf
source = ~/.local/share/omarchy/default/hypr/windows.conf source = ~/.local/share/omarchy/default/hypr/windows.conf
source = ~/.config/omarchy/current/theme/hyprland.conf source = ~/.config/omarchy/current/theme/hyprland.conf
# Application bindings # Extra autostart processes (uncomment to run Dropbox)
$terminal = uwsm app -- alacritty # exec-once = dropbox-cli start
$browser = uwsm app -- chromium --new-window --ozone-platform=wayland
$webapp = $browser --app
bind = SUPER, return, exec, $terminal # Extra env variables
bind = SUPER, F, exec, uwsm app -- nautilus --new-window env = GDK_SCALE,2 # Change to 1 if on a 1x display
bind = SUPER, B, exec, $browser
bind = SUPER, M, exec, uwsm app -- spotify
bind = SUPER, N, exec, $terminal -e nvim
bind = SUPER, T, exec, $terminal -e btop
bind = SUPER, D, exec, $terminal -e lazydocker
bind = SUPER, G, exec, uwsm app -- signal-desktop
bind = SUPER, O, exec, uwsm app -- obsidian -disable-gpu
bind = SUPER, slash, exec, uwsm app -- 1password
# Extra bindings
bind = SUPER, A, exec, $webapp="https://chatgpt.com" bind = SUPER, A, exec, $webapp="https://chatgpt.com"
bind = SUPER SHIFT, A, exec, $webapp="https://grok.com" bind = SUPER SHIFT, A, exec, $webapp="https://grok.com"
bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/" bind = SUPER, C, exec, $webapp="https://app.hey.com/calendar/weeks/"
bind = SUPER, E, exec, $webapp="https://app.hey.com" bind = SUPER, E, exec, $webapp="https://app.hey.com"
bind = SUPER, Y, exec, $webapp="https://youtube.com/" bind = SUPER, Y, exec, $webapp="https://youtube.com/"
bind = SUPER SHIFT, G, exec, $webapp="https://web.whatsapp.com/" bind = SUPER SHIFT, G, exec, $webapp="https://web.whatsapp.com/"
bind = SUPER ALT, G, exec, $webapp="https://messages.google.com/web/conversations"
bind = SUPER, X, exec, $webapp="https://x.com/" bind = SUPER, X, exec, $webapp="https://x.com/"
bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post" bind = SUPER SHIFT, X, exec, $webapp="https://x.com/compose/post"
# Extra autostart processes # Use multiple keyboard layouts and switch between them with Alt + Space
# exec-once = uwsm app -- my-service # input {
# kb_layout = us,dk
# Extra env variables # kb_options = compose:caps,grp:alt_space_toggle
# Note: You must relaunch Hyprland after changing envs (use Super+Esc, then Relaunch) # }
# env = MY_GLOBAL_ENV,setting
# Control your input devices
# See https://wiki.hypr.land/Configuring/Variables/#input
input {
# Use multiple keyboard layouts and switch between them with Alt + Space
# kb_layout = us,dk
kb_options = compose:caps # ,grp:alt_space_toggle
# Change speed of keyboard repeat
repeat_rate = 40
repeat_delay = 600
# Increase sensitity for mouse/trackpack (default: 0)
# sensitivity = 0.35
touchpad {
# Use natural (inverse) scrolling
# natural_scroll = true
# Use two-finger clicks for right-click instead of lower-right corner
# clickfinger_behavior = true
# Control the speed of your scrolling
scroll_factor = 0.4
}
}
# Scroll faster in the terminal
windowrule = scrolltouchpad 1.5, class:Alacritty

View File

@ -1,8 +1,15 @@
source = ~/.config/omarchy/current/theme/hyprlock.conf # ────────────────────────────────────────────────────────────
# Hyprlock — minimal blur with ringed input
# ────────────────────────────────────────────────────────────
general {
disable_loading_bar = true
no_fade_in = false
}
background { background {
monitor = monitor =
color = $color color = rgba(26,27,38,1.0) # #1a1b26 solid color
} }
animations { animations {
@ -16,22 +23,20 @@ input-field {
halign = center halign = center
valign = center valign = center
inner_color = $inner_color inner_color = rgba(26,27,38,0.8) # #1a1b26 with opacity
outer_color = $outer_color outer_color = rgba(205,214,244,1.0) # #cdd6f4
outline_thickness = 4 outline_thickness = 4
font_family = CaskaydiaMono Nerd Font font_family = CaskaydiaMono Nerd Font
font_color = $font_color font_size = 32
font_color = rgba(205,214,244,1.0)
placeholder_text = Enter Password 󰈷  placeholder_color = rgba(205,214,244,0.6)
check_color = $check_color placeholder_text = Enter Password
fail_text = <i>$PAMFAIL ($ATTEMPTS)</i> check_color = rgba(68, 157, 171, 1.0)
fail_text = Wrong
rounding = 0 rounding = 0
shadow_passes = 0 shadow_passes = 0
fade_on_empty = false fade_on_empty = false
} }
auth {
fingerprint:enabled = true
}

View File

@ -1,17 +1,8 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
# Change to 1 if on a 1x display (then change last "auto" to 1 in monitor=)
# Change to something like 1.75 for fractional scaling (can work well with 1.66667 monitor scaling)
# Note: You must relaunch Hyprland after changing any env like this (use Super+Esc, then Relaunch)
env = GDK_SCALE,2
# Use single default monitor (see all monitors with: hyprctl monitors) # Use single default monitor (see all monitors with: hyprctl monitors)
# Format: monitor = [port], resolution, position, scale
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
# Exmaple for fractional scaling that works well with GDK_SCALE,1.75
# monitor=,preferred,auto,1.666667
# Example for Framework 13 w/ 6K XDR Apple display # Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60.00, auto, 2 # monitor = DP-5, 6016x3384@60.00, auto, 2
# monitor = eDP-1, 2880x1920@120.00, auto, 2 # monitor = eDP-1, 2880x1920@120.00, auto, 2

View File

@ -1,4 +0,0 @@
[server]
show_percentage = true
max_volume = 150
style = "./style.css"

View File

@ -1,28 +0,0 @@
@import "../omarchy/current/theme/swayosd.css";
window {
border-radius: 0;
opacity: 0.97;
border: 2px solid @border-color;
background-color: @background-color;
}
label {
font-family: 'CaskaydiaMono Nerd Font', monospace;
font-size: 11pt;
color: @label;
}
image {
color: @image;
}
progressbar {
border-radius: 0;
}
progress {
background-color: @progress;
}

View File

@ -1,8 +0,0 @@
[Unit]
Description=Omarchy Battery Monitor Check
After=graphical-session.target
[Service]
Type=oneshot
ExecStart=%h/.local/share/omarchy/bin/omarchy-battery-monitor
Environment=DISPLAY=:0

View File

@ -1,11 +0,0 @@
[Unit]
Description=Omarchy Battery Monitor Timer
Requires=omarchy-battery-monitor.service
[Timer]
OnBootSec=1min
OnUnitActiveSec=30sec
AccuracySec=10sec
[Install]
WantedBy=timers.target

View File

@ -1,291 +0,0 @@
app_launch_prefix = "uwsm app -- "
terminal_title_flag = ""
locale = ""
close_when_open = true # Toggle on reopen
theme = "omarchy-default"
theme_base = []
theme_location = ["~/.local/share/omarchy/default/walker/themes/"]
monitor = ""
hotreload_theme = false
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = true
[keys]
accept_typeahead = ["tab"]
trigger_labels = "lalt"
next = ["down"]
prev = ["up"]
close = ["esc"]
remove_from_history = ["shift backspace"]
resume_query = ["ctrl r"]
toggle_exact_search = ["ctrl m"]
[keys.activation_modifiers]
keep_open = "shift"
alternate = "alt"
[keys.ai]
clear_session = ["ctrl x"]
copy_last_response = ["ctrl c"]
resume_session = ["ctrl r"]
run_last_responstruee = ["ctrl e"]
[events]
on_activate = ""
on_selection = ""
on_exit = ""
on_launch = ""
on_query_change = ""
[list]
dynamic_sub = true
keyboard_scroll_style = "emacs"
max_entries = 50
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search]
argument_delimiter = "#"
placeholder = " Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.hyprland_keybinds]
show_sub_when_single = true
path = "~/.config/hypr/hyprland.conf"
weight = 5
name = "hyprland_keybinds"
placeholder = "Hyprland Keybinds"
switcher_only = true
hidden = true
[builtins.applications]
weight = 5
name = "applications"
placeholder = " Search..."
prioritize_new = false
hide_actions_with_empty_query = true
context_aware = false
refresh = true
show_sub_when_single = false
show_icon_when_single = true
show_generic = true
history = false
icon = ""
hidden = true
[builtins.applications.actions]
enabled = false
hide_category = true
hide_without_query = true
[builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
hidden = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[[builtins.bookmarks.entries]]
label = "Omarchy - Github"
url = "https://github.com/basecamp/omarchy"
keywords = ["omarchy", "github"]
[[builtins.bookmarks.entries]]
label = "Omarchy Manual"
url = "https://manuals.omamix.org/2/the-omarchy-manual"
keywords = ["omarchy"]
[builtins.xdph_picker]
hidden = true
weight = 5
placeholder = "Screen/Window Picker"
show_sub_when_single = true
name = "xdphpicker"
switcher_only = true
[builtins.ai]
weight = 5
placeholder = "AI"
name = "ai"
icon = "help-browser"
switcher_only = true
show_sub_when_single = true
[[builtins.ai.anthropic.prompts]]
model = "claude-3-7-sonnet-20250219"
temperature = 1
max_tokens = 1_000
label = "General Assistant"
prompt = "You are a helpful general assistant. Keep your answers short and precise."
[builtins.calc]
require_number = true
weight = 5
name = "Calculator"
icon = "accessories-calculator"
placeholder = "Calculator"
min_chars = 3 # Min chars to calculate. 3 allows "3+3"
[builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
switcher_only = true
hidden = true
[builtins.clipboard]
always_put_new_on_top = true
exec = "wl-copy"
weight = 5
name = "clipboard"
avoid_line_breaks = true
placeholder = "Clipboard"
image_height = 300
max_entries = 10
switcher_only = true
hidden = true
[builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
hidden = true
[builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
hidden = true
[builtins.emojis]
exec = "wl-copy"
weight = 5
name = "Emojis"
placeholder = "Emojis"
switcher_only = true
history = true
typeahead = true
show_unqualified = false
prefix = ":"
[builtins.symbols]
after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
hidden = true
[builtins.finder]
use_fd = false
fd_flags = "--ignore-vcs --type file --type directory"
cmd_alt = "xdg-open $(dirname ~/%RESULT%)"
weight = 5
icon = "file"
name = "finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
preview_images = false
hidden = true
[builtins.runner]
eager_loading = true
weight = 5
icon = "utilities-terminal"
name = "runner"
placeholder = "Runner"
typeahead = true
history = true
generic_entry = false # Generic command runner
shell_config = "" # Path to shell to parse for aliases
refresh = true
use_fd = false
switcher_only = true
hidden = true
[builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
hidden = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/"
[builtins.websearch]
keep_selection = true
weight = 5
icon = "applications-internet"
name = "websearch"
placeholder = "Websearch"
switcher_only = true
hidden = true
[[builtins.websearch.entries]]
name = "Google"
url = "https://www.google.com/search?q=%TERM%"
[[builtins.websearch.entries]]
name = "DuckDuckGo"
url = "https://duckduckgo.com/?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Ecosia"
url = "https://www.ecosia.org/search?q=%TERM%"
switcher_only = true
[[builtins.websearch.entries]]
name = "Yandex"
url = "https://yandex.com/search/?text=%TERM%"
switcher_only = true
[builtins.dmenu]
hidden = true
weight = 5
name = "dmenu"
placeholder = "Dmenu"
switcher_only = true
show_icon_when_single = true
[builtins.translation]
delay = 1000
weight = 5
name = "translation"
icon = "accessories-dictionary"
placeholder = "Translation"
switcher_only = true
provider = "googlefree"
hidden = true

125
config/waybar/config Normal file
View File

@ -0,0 +1,125 @@
{
"layer": "top",
"position": "top",
"spacing": 0,
"height": 26,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
"clock"
],
"modules-right": [
"custom/dropbox",
"bluetooth",
"network",
"pulseaudio",
"cpu",
"power-profiles-daemon",
"battery"
],
"hyprland/workspaces": {
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"default": "",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"active": "󱓻"
},
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
}
},
"cpu": {
"interval": 5,
"format": "󰍛",
"on-click": "alacritty -e btop"
},
"clock": {
"format": "{:%A %H:%M}",
"format-alt": "{:%d %B W%V %Y}",
"tooltip": false
},
"network": {
"format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"],
"format" : "{icon}",
"format-wifi" : "{icon}",
"format-ethernet" : "󰀂",
"format-disconnected" : "󰖪",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"nospacing": 1,
"on-click": "alacritty -e iwctl"
},
"battery": {
"format": "{capacity}% {icon}",
"format-discharging": "{icon}",
"format-charging": "{icon}",
"format-plugged": "",
"format-icons": {
"charging": [
"󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"
],
"default": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
]
},
"format-full": "Charged ",
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
"interval": 5,
"states": {
"warning": 20,
"critical": 10
}
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "GTK_THEME=Adwaita-dark blueberry"
},
"pulseaudio": {
"format": "",
"format-muted": "󰝟",
"scroll-step": 5,
"on-click": "GTK_THEME=Adwaita-dark pavucontrol",
"tooltip-format": "Playing at {volume}%",
"on-click-right": "pamixer -t",
"ignored-sinks": ["Easy Effects Sink"]
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}",
"tooltip": true,
"format-icons": {
"power-saver": "󰡳",
"balanced": "󰊚",
"performance": "󰡴"
}
},
"custom/dropbox": {
"format": "",
"on-click": "nautilus ~/Dropbox",
"exec": "dropbox-cli status",
"return-type": "text",
"interval": 5,
"tooltip": true,
"tooltip-format": "{}"
}
}

View File

@ -1,127 +0,0 @@
{
"reload_style_on_change": true,
"layer": "top",
"position": "top",
"spacing": 0,
"height": 26,
"modules-left": [
"hyprland/workspaces"
],
"modules-center": [
"clock"
],
"modules-right": [
"group/tray-expander",
"bluetooth",
"network",
"pulseaudio",
"cpu",
"battery"
],
"hyprland/workspaces": {
"on-click": "activate",
"format": "{icon}",
"format-icons": {
"default": "",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"active": "󱓻"
},
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
}
},
"cpu": {
"interval": 5,
"format": "󰍛",
"on-click": "alacritty -e btop"
},
"clock": {
"format": "{:%A %H:%M}",
"format-alt": "{:%d %B W%V %Y}",
"tooltip": false
},
"network": {
"format-icons": ["󰤯","󰤟","󰤢","󰤥","󰤨"],
"format" : "{icon}",
"format-wifi" : "{icon}",
"format-ethernet" : "󰀂",
"format-disconnected" : "󰖪",
"tooltip-format-wifi": "{essid} ({frequency} GHz)\n⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-ethernet": "⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}",
"tooltip-format-disconnected": "Disconnected",
"interval": 3,
"nospacing": 1,
"on-click": "alacritty --class=Impala -e impala"
},
"battery": {
"format": "{capacity}% {icon}",
"format-discharging": "{icon}",
"format-charging": "{icon}",
"format-plugged": "",
"format-icons": {
"charging": [
"󰢜", "󰂆", "󰂇", "󰂈", "󰢝", "󰂉", "󰢞", "󰂊", "󰂋", "󰂅"
],
"default": [
"󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"
]
},
"format-full": "󰂅",
"tooltip-format-discharging": "{power:>1.0f}W↓ {capacity}%",
"tooltip-format-charging": "{power:>1.0f}W↑ {capacity}%",
"interval": 5,
"states": {
"warning": 20,
"critical": 10
}
},
"bluetooth": {
"format": "",
"format-disabled": "󰂲",
"format-connected": "",
"tooltip-format": "Devices connected: {num_connections}",
"on-click": "blueberry"
},
"pulseaudio": {
"format": "{icon}",
"on-click": "alacritty --class=Wiremix -e wiremix",
"on-click-right": "pamixer -t",
"tooltip-format": "Playing at {volume}%",
"scroll-step": 5,
"format-muted": "󰝟",
"format-icons": {
"default": ["", "", ""]
}
},
"group/tray-expander": {
"orientation": "inherit",
"drawer": {
"transition-duration": 600,
"children-class": "tray-group-item"
},
"modules": [
"custom/expand-icon",
"tray"
]
},
"custom/expand-icon": {
"format": " ",
"tooltip": false
},
"tray": {
"icon-size": 12,
"spacing": 12
}
}

View File

@ -1,47 +1,39 @@
@import "../omarchy/current/theme/waybar.css";
* { * {
background-color: @background;
color: @foreground;
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: CaskaydiaMono Nerd Font Propo; font-family: CaskaydiaMono Nerd Font;
font-size: 12px; font-size: 12px;
} }
.modules-left { #workspaces {
margin-left: 8px; margin-left: 7px;
}
.modules-right {
margin-right: 8px;
} }
#workspaces button { #workspaces button {
all: initial; all: initial;
padding: 0 6px; padding: 2px 6px;
margin: 0 1.5px; margin-right: 3px;
min-width: 9px;
} }
#tray, #custom-dropbox,
#cpu, #cpu,
#power-profiles-daemon,
#battery, #battery,
#network, #network,
#bluetooth, #bluetooth,
#pulseaudio, #pulseaudio,
#clock, #clock {
#custom-power-menu {
min-width: 12px; min-width: 12px;
margin: 0 7.5px; margin-right: 13px;
}
#custom-expand-icon {
margin-right: 12px;
} }
tooltip { tooltip {
padding: 2px; padding: 2px;
} }
tooltip label {
padding: 2px;
}
@import "../omarchy/current/theme/waybar.css";

15
config/wofi/config Normal file
View File

@ -0,0 +1,15 @@
width=600
height=350
location=center
show=drun
prompt=Search...
filter_rate=100
allow_markup=true
no_actions=true
halign=fill
orientation=vertical
content_halign=fill
insensitive=true
allow_images=true
image_size=40
gtk_dark=true

View File

@ -15,7 +15,7 @@ zd() {
fi fi
} }
open() { open() {
xdg-open "$@" >/dev/null 2>&1 & xdg-open "$@" >/dev/null 2>&1
} }
# Directories # Directories
@ -24,15 +24,12 @@ alias ...='cd ../..'
alias ....='cd ../../..' alias ....='cd ../../..'
# Tools # Tools
alias n='nvim'
alias g='git' alias g='git'
alias d='docker' alias d='docker'
alias r='rails' alias r='rails'
n() { if [ "$#" -eq 0 ]; then nvim .; else nvim "$@"; fi; }
# Git # Git
alias gcm='git commit -m' alias gcm='git commit -m'
alias gcam='git commit -a -m' alias gcam='git commit -a -m'
alias gcad='git commit -a --amend' alias gcad='git commit -a --amend'
# Find packages without leaving the terminal
alias yayf="yay -Slq | fzf --multi --preview 'yay -Sii {1}' --preview-window=down:75% | xargs -ro yay -S"

View File

@ -69,5 +69,8 @@ web2app-remove() {
# Ensure changes to ~/.XCompose are immediately available # Ensure changes to ~/.XCompose are immediately available
refresh-xcompose() { refresh-xcompose() {
pkill fcitx5 pkill fcitx5
uwsm app -- fcitx5 >/dev/null 2>&1 & setsid fcitx5 &>/dev/null &
} }
# Ensure that external keyboards that use an fn key has the F keys as the default
alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode'

View File

@ -7,8 +7,8 @@ if command -v zoxide &> /dev/null; then
fi fi
if command -v fzf &> /dev/null; then if command -v fzf &> /dev/null; then
if [[ -f /usr/share/fzf/completion.bash ]]; then if [[ -f /usr/share/bash-completion/completions/fzf ]]; then
source /usr/share/fzf/completion.bash source /usr/share/bash-completion/completions/fzf
fi fi
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
source /usr/share/fzf/key-bindings.bash source /usr/share/fzf/key-bindings.bash

View File

@ -28,12 +28,14 @@ set completion-query-items 200
# Show extra file information when completing, like `ls -F` does # Show extra file information when completing, like `ls -F` does
set visible-stats on set visible-stats on
# Be more intelligent when autocompleting by also looking at the text after $if Bash
# the cursor. For example, when the current line is "cd ~/src/mozil", and # Be more intelligent when autocompleting by also looking at the text after
# the cursor is on the "z", pressing Tab will not autocomplete it to "cd # the cursor. For example, when the current line is "cd ~/src/mozil", and
# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
# Readline used by Bash 4.) # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
set skip-completed-text on # Readline used by Bash 4.)
set skip-completed-text on
# Coloring for Bash 4 tab completions. # Coloring for Bash 4 tab completions.
set colored-stats on set colored-stats on
$endif

View File

@ -4,4 +4,3 @@ source ~/.local/share/omarchy/default/bash/functions
source ~/.local/share/omarchy/default/bash/prompt source ~/.local/share/omarchy/default/bash/prompt
source ~/.local/share/omarchy/default/bash/init source ~/.local/share/omarchy/default/bash/init
source ~/.local/share/omarchy/default/bash/envs source ~/.local/share/omarchy/default/bash/envs
[[ $- == *i* ]] && bind -f ~/.local/share/omarchy/default/bash/inputrc

View File

@ -5,9 +5,7 @@ HISTSIZE=32768
HISTFILESIZE="${HISTSIZE}" HISTFILESIZE="${HISTSIZE}"
# Autocompletion # Autocompletion
if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_completion ]]; then # source /usr/share/bash-completion/bash_completion
source /usr/share/bash-completion/bash_completion
fi
# Set complete path # Set complete path
export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH" export PATH="./bin:$HOME/.local/bin:$HOME/.local/share/omarchy/bin:$PATH"

View File

@ -1,7 +0,0 @@
keyserver hkps://keyserver.ubuntu.com
keyserver hkps://pgp.surfnet.nl
keyserver hkps://keys.mailvelope.com
keyserver hkps://keyring.debian.org
keyserver hkps://pgp.mit.edu
connect-quick-timeout 4

View File

@ -1,9 +1,4 @@
exec-once = uwsm app -- hypridle exec-once = hypridle & mako & waybar & fcitx5
exec-once = uwsm app -- mako exec-once = swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- waybar exec-once = systemctl --user start hyprpolkitagent
exec-once = uwsm app -- fcitx5 exec-once = wl-clip-persist --clipboard regular & clipse -listen
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- swayosd-server
exec-once = uwsm app -- walker --gapplication-service
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'

View File

@ -1,5 +1,4 @@
# Deprecated bindings file. New installations include everything directly. # Start default apps
bind = SUPER, return, exec, $terminal bind = SUPER, return, exec, $terminal
bind = SUPER, F, exec, $fileManager bind = SUPER, F, exec, $fileManager
bind = SUPER, B, exec, $browser bind = SUPER, B, exec, $browser
@ -11,6 +10,101 @@ bind = SUPER, G, exec, $messenger
bind = SUPER, O, exec, obsidian -disable-gpu bind = SUPER, O, exec, obsidian -disable-gpu
bind = SUPER, slash, exec, $passwordManager bind = SUPER, slash, exec, $passwordManager
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf bind = SUPER, space, exec, wofi --show drun --sort-order=alphabetical
source = ~/.local/share/omarchy/default/hypr/bindings/tiling.conf bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar
source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/swaybg-next
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-next
bind = SUPER, W, killactive,
# End active session
bind = SUPER, ESCAPE, exec, hyprlock
bind = SUPER SHIFT, ESCAPE, exec, systemctl suspend
bind = SUPER ALT, ESCAPE, exit,
bind = SUPER CTRL, ESCAPE, exec, reboot
bind = SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff
# Control tiling
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
bind = SUPER SHIFT, left, swapwindow, l
bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d
# Resize active window
bind = SUPER, minus, resizeactive, -100 0
bind = SUPER, equal, resizeactive, 100 0
bind = SUPER SHIFT, minus, resizeactive, 0 -100
bind = SUPER SHIFT, equal, resizeactive, 0 100
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Control Apple Display brightness
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/apple-display-brightness -5000
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +5000
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/apple-display-brightness +60000
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# Screenshots
bind = , PRINT, exec, hyprshot -m region
bind = SHIFT, PRINT, exec, hyprshot -m window
bind = CTRL, PRINT, exec, hyprshot -m output
# Color picker
bind = SUPER, PRINT, exec, hyprpicker -a
# Clipse
bind = CTRL SUPER, V, exec, $terminal --class clipse -e clipse

View File

@ -1,16 +0,0 @@
# Only display the OSD on the currently focused monitor
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
# Laptop multimedia keys for volume and LCD brightness (with OSD)
bindel = ,XF86AudioRaiseVolume, exec, $osdclient --output-volume raise
bindel = ,XF86AudioLowerVolume, exec, $osdclient --output-volume lower
bindel = ,XF86AudioMute, exec, $osdclient --output-volume mute-toggle
bindel = ,XF86AudioMicMute, exec, $osdclient --input-volume mute-toggle
bindel = ,XF86MonBrightnessUp, exec, $osdclient --brightness raise
bindel = ,XF86MonBrightnessDown, exec, $osdclient --brightness lower
# Requires playerctl
bindl = , XF86AudioNext, exec, $osdclient --playerctl next
bindl = , XF86AudioPause, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPlay, exec, $osdclient --playerctl play-pause
bindl = , XF86AudioPrev, exec, $osdclient --playerctl previous

View File

@ -1,59 +0,0 @@
# Close window
bind = SUPER, W, killactive,
# Control tiling
bind = SUPER, J, togglesplit, # dwindle
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, V, togglefloating,
bind = , F11, fullscreen, 0
# Move focus with mainMod + arrow keys
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = SUPER, code:10, workspace, 1
bind = SUPER, code:11, workspace, 2
bind = SUPER, code:12, workspace, 3
bind = SUPER, code:13, workspace, 4
bind = SUPER, code:14, workspace, 5
bind = SUPER, code:15, workspace, 6
bind = SUPER, code:16, workspace, 7
bind = SUPER, code:17, workspace, 8
bind = SUPER, code:18, workspace, 9
bind = SUPER, code:19, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, code:10, movetoworkspace, 1
bind = SUPER SHIFT, code:11, movetoworkspace, 2
bind = SUPER SHIFT, code:12, movetoworkspace, 3
bind = SUPER SHIFT, code:13, movetoworkspace, 4
bind = SUPER SHIFT, code:14, movetoworkspace, 5
bind = SUPER SHIFT, code:15, movetoworkspace, 6
bind = SUPER SHIFT, code:16, movetoworkspace, 7
bind = SUPER SHIFT, code:17, movetoworkspace, 8
bind = SUPER SHIFT, code:18, movetoworkspace, 9
bind = SUPER SHIFT, code:19, movetoworkspace, 10
# Swap active window with the one next to it with mainMod + SHIFT + arrow keys
bind = SUPER SHIFT, left, swapwindow, l
bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d
# Resize active window
bind = SUPER, minus, resizeactive, -100 0
bind = SUPER, equal, resizeactive, 100 0
bind = SUPER SHIFT, minus, resizeactive, 0 -100
bind = SUPER SHIFT, equal, resizeactive, 0 100
# Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow

View File

@ -1,36 +0,0 @@
# Launching
bind = SUPER, space, exec, walker
bind = SUPER, K, exec, ~/.local/share/omarchy/bin/omarchy-menu-keybindings
# Aesthetics
bind = SUPER SHIFT, SPACE, exec, pkill -SIGUSR1 waybar
bind = SUPER CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-bg-next
bind = SUPER SHIFT CTRL, SPACE, exec, ~/.local/share/omarchy/bin/omarchy-theme-menu
# Notifications
bind = SUPER, comma, exec, makoctl dismiss
bind = SUPER SHIFT, comma, exec, makoctl dismiss --all
bind = SUPER CTRL, comma, exec, makoctl mode -t do-not-disturb && makoctl mode | grep -q 'do-not-disturb' && notify-send "Silenced notifications" || notify-send "Enabled notifications"
# Power menu controls lock, suspend, relaunch, restart, shutdown
bind = SUPER, ESCAPE, exec, ~/.local/share/omarchy/bin/omarchy-menu-power
# Toggle idling
bind = SUPER CTRL, I, exec, ~/.local/share/omarchy/bin/omarchy-toggle-idle
# Control Apple Display brightness
bind = CTRL, F1, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness -5000
bind = CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +5000
bind = SHIFT CTRL, F2, exec, ~/.local/share/omarchy/bin/omarchy-cmd-apple-display-brightness +60000
# Screenshots
bind = , PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot
bind = SHIFT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot window
bind = CTRL, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenshot output
# Screenshots
bind = ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord
bind = CTRL ALT, PRINT, exec, ~/.local/share/omarchy/bin/omarchy-cmd-screenrecord output
# Color picker
bind = SUPER, PRINT, exec, hyprpicker -a

View File

@ -3,8 +3,8 @@ env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24
# Force all apps to use Wayland # Force all apps to use Wayland
env = GDK_BACKEND,wayland,x11,* env = GDK_BACKEND,wayland
env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORM,wayland
env = QT_STYLE_OVERRIDE,kvantum env = QT_STYLE_OVERRIDE,kvantum
env = SDL_VIDEODRIVER,wayland env = SDL_VIDEODRIVER,wayland
env = MOZ_ENABLE_WAYLAND,1 env = MOZ_ENABLE_WAYLAND,1
@ -15,6 +15,12 @@ xwayland {
force_zero_scaling = true force_zero_scaling = true
} }
# Make Chromium use XCompose and all Wayland
env = CHROMIUM_FLAGS,"--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4"
# Make .desktop files available for wofi
env = XDG_DATA_DIRS,/usr/share:/usr/local/share:~/.local/share
# Use XCompose file # Use XCompose file
env = XCOMPOSEFILE,~/.XCompose env = XCOMPOSEFILE,~/.XCompose

View File

@ -69,12 +69,6 @@ animations {
animation = workspaces, 0, 0, ease animation = workspaces, 0, 0, ease
} }
# Application-sepcific animation
layerrule=noanim,walker
# Remove 1px border around hyprshot screenshots
layerrule = noanim, selection
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ # Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only" # "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that. # uncomment all if you wish to use that.
@ -101,5 +95,5 @@ master {
misc { misc {
disable_hyprland_logo = true disable_hyprland_logo = true
disable_splash_rendering = true disable_splash_rendering = true
focus_on_activate = true
} }

View File

@ -4,15 +4,8 @@ windowrule = suppressevent maximize, class:.*
# Force chromium into a tile to deal with --app bug # Force chromium into a tile to deal with --app bug
windowrule = tile, class:^(Chromium)$ windowrule = tile, class:^(Chromium)$
# Float and center settings and previews # Float sound and bluetooth settings
windowrule = float, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$ windowrule = float, class:^(org.pulseaudio.pavucontrol|blueberry.py)$
windowrule = size 800 600, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty)$
windowrule = size 645 450, class:Omarchy
windowrule = center, class:^(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|Omarchy)$
# Float and center file pickers
windowrule = float, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
windowrule = center, class:xdg-desktop-portal-gtk, title:^(Open.*Files?|Save.*Files?|All Files|Save)
# Float Steam, fullscreen RetroArch # Float Steam, fullscreen RetroArch
windowrule = float, class:^(steam)$ windowrule = float, class:^(steam)$
@ -22,8 +15,16 @@ windowrule = fullscreen, class:^(com.libretro.RetroArch)$
windowrule = opacity 0.97 0.9, class:.* windowrule = opacity 0.97 0.9, class:.*
windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$ windowrule = opacity 1 0.97, class:^(Chromium|chromium|google-chrome|google-chrome-unstable)$
windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube windowrule = opacity 1 1, initialTitle:^(youtube.com_/)$ # Youtube
windowrule = opacity 1 1, class:^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$ windowrule = opacity 1 1, class:^(zoom|vlc|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta)$
windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$ windowrule = opacity 1 1, class:^(com.libretro.RetroArch|steam)$
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Proper background blur for wofi
layerrule = blur,wofi
# Float in the middle for clipse clipboard manager
windowrule = float, class:(clipse)
windowrule = size 622 652, class:(clipse)
windowrule = stayfocused, class:(clipse)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,9 +0,0 @@
[Plymouth Theme]
Name=Omarchy
Description=Omarchy splash screen.
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/omarchy
ScriptFile=/usr/share/plymouth/themes/omarchy/omarchy.script
ConsoleLogBackgroundColor=0x1a1b26

Some files were not shown because too many files have changed in this diff Show More