refactor(dotfiles): separate desktop configuration
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=RampClient PRD
|
||||
GenericName=Java Web Start Application
|
||||
Comment=RampClient PRD
|
||||
Categories=Network;Desktop;Java;Javaws;
|
||||
Type=Application
|
||||
Icon=/home/sjb/.config/icedtea-web/icons/b1bfbd7f-6c3e-40cf-8023-752cc6c45b66
|
||||
X-Vendor=UWO
|
||||
Exec="/opt/OpenWebStart/javaws" "https://wts.uwo.ca/ramp/prd/rampclient-prd.jnlp"
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=alcazar herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher alcazar-herdr "ssh alcazar mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=alcazar tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher alcazar-tmux "ssh alcazar mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=bianca Herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher bianca-herdr "ssh bianca mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=bianca tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher bianca-tmux "ssh bianca mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=caraco Herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher caraco-herdr "ssh caraco mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=caraco tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher caraco-tmux "ssh caraco mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=dupont herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher dupont-herdr "ssh dupont mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=dupont tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher dupont-tmux "ssh dupont mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=emacsclient
|
||||
GenericName=Text Editor
|
||||
Comment=View and edit files
|
||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||
Exec="/home/sjb/.dotfiles/bin/ec" %F
|
||||
Icon=/usr/share/icons/hicolor/scalable/apps/emacs24.svg
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Utility;Development;TextEditor;
|
||||
StartupWMClass=Emacs24
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Terminal herdr
|
||||
Comment=Terminal with herdr mux
|
||||
Exec=terminal-launcher terminal-herdr "mise exec -- herdr --session=main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Name=Strata
|
||||
Comment=A fast, keyboard-first file manager for Linux
|
||||
Exec=strata %U
|
||||
Icon=system-file-manager
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Utility;FileManager;
|
||||
MimeType=inode/directory;
|
||||
StartupNotify=true
|
||||
Keywords=file;manager;files;folder;directory;
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=nca-ai-01 herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher nca-ai-01-herdr "ssh nca-ai-01 mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=nca-ai-01 tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher nca-ai-01-tmux "ssh nca-ai-01 mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=obelix herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher obelix-herdr "ssh obelix mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=obelix tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher obelix-tmux "ssh obelix mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Terminal pi
|
||||
Comment=Terminal with pi
|
||||
Exec=terminal-launcher "terminal-pi" "mise exec -C ~/Documents/sjb-brain -- pi --fff-enable-home-scan=false --model openai-codex/gpt-5.6-luna --plan"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=rascar Herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher rascar-herdr "ssh rascar mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=rascar tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher rascar-tmux "ssh rascar mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=steve dev herdr
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher steve-dev-herdr "ssh steve-dev mise exec -- herdr --session main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=steve dev tmux
|
||||
Comment=remote dev
|
||||
Exec=terminal-launcher steve-dev-tmux "ssh steve-dev mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Exec=terminal-launcher terminal-fish "/usr/bin/fish"
|
||||
Icon=foot
|
||||
Terminal=false
|
||||
Categories=System;TerminalEmulator;
|
||||
Keywords=shell;prompt;command;commandline;
|
||||
Name=Terminal
|
||||
GenericName=Terminal
|
||||
Comment=A wayland native terminal emulator
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Terminal tmux
|
||||
Comment=Terminal with tmux
|
||||
Exec=terminal-launcher "terminal-tmux" "mise exec -- tmux new -A -s main"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=foot
|
||||
StartupNotify=true
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
--ozone-platform=wayland
|
||||
--ozone-platform-hint=wayland
|
||||
--enable-features=TouchpadOverscrollHistoryNavigation
|
||||
--disable-features=WaylandWpColorManagerV1
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>Monaspace Neon</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>Monaspace Radon</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>Monaspace Xenon</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>MonaspiceNe Nerd Font</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>MonaspiceRn Nerd Font</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- created by lxqt-config-appearance (DO NOT EDIT!) -->
|
||||
<fontconfig>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq" ignore-blanks="false">
|
||||
<string>MonaspiceXe Nerd Font</string>
|
||||
</test>
|
||||
<edit name="fontfeatures" mode="assign_replace">
|
||||
<string>calt on</string>
|
||||
<string>dlig on</string>
|
||||
<string>ss01 on</string>
|
||||
<string>ss02 on</string>
|
||||
<string>ss03 on</string>
|
||||
<string>ss04 on</string>
|
||||
<string>ss05 on</string>
|
||||
<string>ss06 on</string>
|
||||
<string>ss07 on</string>
|
||||
<string>ss08 on</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
||||
@@ -0,0 +1,32 @@
|
||||
[main]
|
||||
font=MonaspiceNeNerdFontMono:size=13
|
||||
term=xterm-256color
|
||||
pad=3x3
|
||||
initial-window-mode=windowed
|
||||
workers=0
|
||||
include=~/.local/state/omarchy/current/theme/foot.ini
|
||||
|
||||
[scrollback]
|
||||
lines=10000
|
||||
multiplier=7.0
|
||||
|
||||
[cursor]
|
||||
style=block
|
||||
blink=no
|
||||
|
||||
[key-bindings]
|
||||
clipboard-copy=Control+Insert Control+Shift+c XF86Copy
|
||||
primary-paste=none
|
||||
clipboard-paste=Shift+Insert Control+Shift+v XF86Paste
|
||||
|
||||
[tweak]
|
||||
overflowing-glyphs=yes
|
||||
|
||||
[text-bindings]
|
||||
# Send Shift+Return as CSI-u so TUIs can distinguish it from Return.
|
||||
\x1b[13;2u=Shift+Return
|
||||
# Send Alt+Shift+Return as CSI-u so tmux can match M-S-Enter.
|
||||
\x1b[13;4u=Mod1+Shift+Return
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
window-decoration = false
|
||||
copy-on-select = clipboard
|
||||
|
||||
gtk-titlebar = false
|
||||
gtk-tabs-location = hidden
|
||||
#gtk-titlebar-style = tabs
|
||||
#gtk-titlebar-hide-when-maximized = true
|
||||
gtk-wide-tabs = false
|
||||
window-show-tab-bar = auto
|
||||
config-file = "theme"
|
||||
font-family = "MonaspiceNeNerdFontMono"
|
||||
font-size = 13
|
||||
#adjust-cell-width = -7%
|
||||
adjust-cell-height = 5%
|
||||
#background-opacity = 0.90
|
||||
#background-blur-radius = 20
|
||||
confirm-close-surface = false
|
||||
font-feature = +calt
|
||||
quit-after-last-window-closed = true
|
||||
quit-after-last-window-closed-delay = 5m
|
||||
|
||||
keybind = ctrl+c=unbind
|
||||
keybind = ctrl+comma=unbind
|
||||
keybind = ctrl+space=unbind
|
||||
keybind = alt+f2=reload_config
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"workspace": {
|
||||
"library": [
|
||||
"/usr/share/hypr/stubs"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock
|
||||
# unlock_cmd = loginctl unlock-session
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
after_sleep_cmd = hyprctl displatch dpms on
|
||||
}
|
||||
|
||||
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
|
||||
listener {
|
||||
timeout = 150 # 2.5min.
|
||||
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
|
||||
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = brightnessctl -s set 10
|
||||
on-resume = brightnessctl -r
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 630
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
source = ~/.local/state/omarchy/current/theme/hyprlock.conf
|
||||
|
||||
# GENERAL
|
||||
general {
|
||||
disable_loading_bar = true
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = ~/.local/state/omarchy/current/background
|
||||
color = $color
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = false
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 600, 100
|
||||
position = 0, 0
|
||||
halign = center
|
||||
valign = center
|
||||
|
||||
inner_color = $inner_color
|
||||
outer_color = $outer_color
|
||||
outline_thickness = 4
|
||||
|
||||
font_family = CaskaydiaMono Nerd Font
|
||||
font_color = $font_color
|
||||
|
||||
placeholder_text = Enter Password
|
||||
check_color = $check_color
|
||||
fail_text = <i>$PAMFAIL ($ATTEMPTS)</i>
|
||||
|
||||
rounding = 0
|
||||
shadow_passes = 0
|
||||
fade_on_empty = false
|
||||
}
|
||||
|
||||
auth {
|
||||
fingerprint:enabled = true
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
bind = SUPER, Z, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable
|
||||
|
||||
plugin {
|
||||
hyprexpo {
|
||||
columns = 3
|
||||
gap_size = 10
|
||||
workspace_method = 1 # center current # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
|
||||
enable_gesture = true # laptop touchpad
|
||||
gesture_fingers = 3 # 3 or 4
|
||||
gesture_distance = 300 # how far is the "max"
|
||||
gesture_positive = true # positive = swipe down. Negative = swipe up.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("hyprctl setcursor Pop 24")
|
||||
end)
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
-- Cursor size
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
|
||||
-- Force all apps to use Wayland
|
||||
hl.env("GDK_BACKEND", "wayland,x11,*")
|
||||
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||
hl.env("QT_STYLE_OVERRIDE", "kvantum")
|
||||
hl.env("SDL_VIDEODRIVER", "wayland")
|
||||
hl.env("MOZ_ENABLE_WAYLAND", "1")
|
||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "wayland")
|
||||
hl.env("OZONE_PLATFORM", "wayland")
|
||||
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||
|
||||
-- Allow better support for screen sharing (Google Meet"," Discord, etc)
|
||||
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
||||
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
||||
|
||||
-- Use XCompose file
|
||||
hl.env("XCOMPOSEFILE", "~/.XCompose")
|
||||
|
||||
-- Make Chromium use XCompose and all Wayland
|
||||
hl.env("CHROMIUM_FLAGS", "--enable-features=UseOzonePlatform --ozone-platform=wayland --gtk-version=4")
|
||||
|
||||
-- Make .desktop files available for wofi
|
||||
hl.env("XDG_DATA_DIRS", "/usr/share:/usr/local/share:~/.local/share")
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
function sysinfo()
|
||||
local mem = io.popen("free -h | awk '/^Mem/ {print $3 \"/\" $2}'"):read("*a")
|
||||
local cpu = io.popen("top -bn1 | grep 'Cpu(s)' | awk '{print $2 + $4 \"%\"}'"):read("*a")
|
||||
local battery = io.popen("acpi -b | awk -F', ' '{print $2}'"):read("*a")
|
||||
local time = os.date("%Y-%m-%d %H:%M:%S")
|
||||
local monitor = hl.get_active_monitor()
|
||||
local workspace_id = monitor.active_workspace.id
|
||||
local mesg = "System Info"
|
||||
.. "\nDate: " .. time
|
||||
.. "\nFocused monitor: " .. monitor.name
|
||||
.. "\nWorkspace: " .. workspace_id
|
||||
.. "\nBattery: " .. battery
|
||||
.. "CPU: " .. cpu .. " MEM: " .. mem
|
||||
|
||||
hl.notification.create({ text = mesg, icon = "hint", duration = 5000 })
|
||||
end
|
||||
|
||||
function toggle_pin()
|
||||
local win = hl.get_active_window()
|
||||
if win == nil then
|
||||
return
|
||||
end
|
||||
|
||||
local is_pinned = win.pinned
|
||||
hl.dispatch(hl.dsp.window.pin({ action = is_pinned and "unset" or "set" }))
|
||||
end
|
||||
|
||||
function dispatch_focus_or_launch(opts)
|
||||
return function()
|
||||
focus_or_launch(opts)
|
||||
end
|
||||
end
|
||||
|
||||
function focus_or_launch(opts)
|
||||
local match = opts.match
|
||||
local cmd = opts.cmd
|
||||
local field = opts.field or "class" -- class, title, initialClass, initialTitle
|
||||
local use_workspace = opts.use_workspace ~= false
|
||||
|
||||
local clients = hl.get_windows()
|
||||
|
||||
for _, client in ipairs(clients) do
|
||||
local value = client[field]
|
||||
if value and string.find(string.lower(value), string.lower(match), 1, true) then
|
||||
if use_workspace and client.workspace and client.workspace.id then
|
||||
hl.dispatch(hl.dsp.focus({
|
||||
workspace = client.workspace.id,
|
||||
on_current_monitor = true,
|
||||
}))
|
||||
end
|
||||
hl.dispatch(hl.dsp.focus({
|
||||
window = "address:" .. client.address
|
||||
}))
|
||||
|
||||
local layout = client.layout
|
||||
if not (layout and layout.name == "master" and layout.is_master) then
|
||||
hl.dispatch(hl.dsp.layout("swapwithmaster"))
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
hl.exec_cmd(cmd)
|
||||
end
|
||||
|
||||
function fetch_or_launch(opts)
|
||||
local match = opts.match
|
||||
local cmd = opts.cmd
|
||||
local field = opts.field or "class" -- class, title, initialClass, initialTitle
|
||||
local use_workspace = opts.use_workspace ~= false
|
||||
|
||||
local clients = hl.get_windows()
|
||||
|
||||
local active_workspace = hl.get_active_workspace()
|
||||
|
||||
for _, client in ipairs(clients) do
|
||||
local value = client[field]
|
||||
if value and string.find(string.lower(value), string.lower(match), 1, true) then
|
||||
if use_workspace and client.workspace and client.workspace.id then
|
||||
hl.dispatch(hl.dsp.window.move({
|
||||
workspace = active_workspace,
|
||||
on_current_monitor = true,
|
||||
window = client,
|
||||
}))
|
||||
end
|
||||
|
||||
hl.dispatch(hl.dsp.focus({ window = client }))
|
||||
|
||||
local layout = client.layout
|
||||
if not (layout and layout.name == "master" and layout.is_master) then
|
||||
hl.dispatch(hl.dsp.layout("swapwithmaster"))
|
||||
end
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
hl.exec_cmd(cmd)
|
||||
end
|
||||
|
||||
function toggle_master()
|
||||
local ws = hl.get_active_workspace()
|
||||
if not ws then
|
||||
return
|
||||
end
|
||||
|
||||
local mfact = nil
|
||||
|
||||
for _, win in ipairs(ws:get_windows()) do
|
||||
local layout = win.layout
|
||||
if layout and layout.name == "master" and layout.is_master then
|
||||
mfact = math.floor(layout.perc_master * 100 + 0.5) / 100
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if mfact == 0.7 then
|
||||
mfact = 0.5
|
||||
else
|
||||
mfact = 0.7
|
||||
end
|
||||
hl.dispatch(hl.dsp.layout("mfact exact " .. mfact))
|
||||
end
|
||||
|
||||
function toggle_float_with_limit()
|
||||
local win = hl.get_active_window()
|
||||
if win == nil then
|
||||
return
|
||||
end
|
||||
|
||||
local was_floating = win.floating
|
||||
hl.dispatch(hl.dsp.window.float({ action = "toggle" }))
|
||||
if was_floating then
|
||||
return
|
||||
end
|
||||
|
||||
local mon = win.monitor and hl.get_monitor(win.monitor) or hl.get_active_monitor()
|
||||
if mon == nil or mon.size == nil or win == nil or win.size == nil then
|
||||
return
|
||||
end
|
||||
|
||||
local max_width = math.floor(mon.width * 0.8)
|
||||
local max_height = math.floor(mon.height * 0.8)
|
||||
local scale = math.max(1, win.size.x / max_width, win.size.y / max_height)
|
||||
hl.notification.create({
|
||||
text = "Scale " ..
|
||||
scale .. " Max float size: " .. win.size.x / max_width .. "x" .. win.size.y / max_height,
|
||||
duration = 2000,
|
||||
icon =
|
||||
"hint"
|
||||
})
|
||||
if scale > 1 then
|
||||
hl.dispatch(hl.dsp.window.resize({
|
||||
x = math.floor(max_width),
|
||||
y = math.floor(max_height),
|
||||
relative = false,
|
||||
window = win
|
||||
}))
|
||||
end
|
||||
end
|
||||
|
||||
function cycle_next_window(opts)
|
||||
return function()
|
||||
hl.dispatch(hl.dsp.window.cycle_next(opts))
|
||||
|
||||
local win = hl.get_active_window()
|
||||
if win and win.floating then
|
||||
hl.dispatch(hl.dsp.window.alter_zorder({ window = win, mode = "top" }))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function window_resize_percentage(px, py)
|
||||
local win = hl.get_active_window()
|
||||
if win == nil or win.monitor == nil then
|
||||
return
|
||||
end
|
||||
local mon = hl.get_monitor(win.monitor)
|
||||
|
||||
if mon == nil or mon.size == nil or mon.size.height == nil or mon.size.width == nil then
|
||||
return
|
||||
end
|
||||
local sx = math.floor(mon.size.width * px)
|
||||
local sy = math.floor(mon.size.height * py)
|
||||
if not win.floating then
|
||||
hl.dispatch(hl.dsp.window.float({ action = "set" }))
|
||||
end
|
||||
if win.fullscreen then
|
||||
hl.dispatch(hl.dsp.window.fullscreen({ action = "unset" }))
|
||||
end
|
||||
hl.dispatch(hl.dsp.window.resize({ x = sx, y = sy, relative = false }))
|
||||
end
|
||||
|
||||
function toggle_master_scrolling()
|
||||
local current = hl.get_config("general.layout")
|
||||
local next_layout = current == "master" and "scrolling" or "master"
|
||||
|
||||
hl.config({ general = { layout = next_layout } })
|
||||
end
|
||||
@@ -0,0 +1,542 @@
|
||||
local terminal = "foot"
|
||||
local browser = "gtk-launch chromium.desktop"
|
||||
local webapp = "chromium --new-window --ozone-platform=wayland --app="
|
||||
local music = "gtk-launch spotify.desktop"
|
||||
|
||||
local HYPR = "SUPER + CONTROL + SHIFT + ALT + "
|
||||
|
||||
require("sjb/monitors")
|
||||
require("sjb/functions")
|
||||
require("sjb/rules")
|
||||
require("sjb/envs")
|
||||
require("sjb/autostart")
|
||||
require("theme")
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
kb_variant = ",qwerty",
|
||||
-- kb_model =
|
||||
-- kb_options = ctrl:nocaps
|
||||
kb_options = "caps:ctrl_modifier,compose:ralt",
|
||||
-- kb_options = compose:ralt
|
||||
follow_mouse = 1,
|
||||
repeat_rate = 40,
|
||||
repeat_delay = 600,
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true,
|
||||
disable_while_typing = true,
|
||||
clickfinger_behavior = true,
|
||||
scroll_factor = 0.7,
|
||||
},
|
||||
scroll_method = "2fg",
|
||||
|
||||
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
|
||||
},
|
||||
|
||||
ecosystem = {
|
||||
no_update_news = true,
|
||||
enforce_permissions = false,
|
||||
},
|
||||
|
||||
general = {
|
||||
gaps_in = 3,
|
||||
gaps_out = 3,
|
||||
border_size = 2,
|
||||
allow_tearing = true,
|
||||
snap = {
|
||||
enabled = true
|
||||
},
|
||||
col = {
|
||||
active_border = { colors = { "rgba(33ccffee)", "rgba(00ff99ee)" }, angle = 45 },
|
||||
inactive_border = "rgba(595959aa)",
|
||||
},
|
||||
|
||||
layout = "master"
|
||||
},
|
||||
|
||||
master = {
|
||||
allow_small_split = true,
|
||||
mfact = 0.50,
|
||||
new_status = "master",
|
||||
orientation = "center",
|
||||
},
|
||||
|
||||
dwindle = {
|
||||
preserve_split = true,
|
||||
force_split = 2,
|
||||
},
|
||||
|
||||
scrolling = {
|
||||
focus_fit_method = 0,
|
||||
column_width = 0.49,
|
||||
fullscreen_on_one_column = true
|
||||
},
|
||||
|
||||
cursor = {
|
||||
hide_on_key_press = true,
|
||||
warp_on_change_workspace = 1,
|
||||
},
|
||||
|
||||
binds = {
|
||||
hide_special_on_workspace_change = true,
|
||||
},
|
||||
decoration = {
|
||||
rounding = 1,
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 0.95,
|
||||
dim_inactive = true,
|
||||
dim_special = 0.0,
|
||||
dim_strength = 0.3,
|
||||
|
||||
shadow = {
|
||||
enabled = false,
|
||||
range = 2,
|
||||
render_power = 3,
|
||||
color = "rgba(1a1a1aee)",
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = false,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
group = {
|
||||
groupbar = {
|
||||
enabled = false
|
||||
}
|
||||
},
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true,
|
||||
disable_splash_rendering = true,
|
||||
disable_scale_notification = true,
|
||||
focus_on_activate = true,
|
||||
anr_missed_pings = 3,
|
||||
on_focus_under_fullscreen = 1,
|
||||
mouse_move_enables_dpms = true,
|
||||
animate_manual_resizes = true,
|
||||
mouse_move_focuses_monitor = true,
|
||||
enable_swallow = true,
|
||||
enable_anr_dialog = false,
|
||||
force_default_wallpaper = true,
|
||||
initial_workspace_tracking = 0,
|
||||
allow_session_lock_restore = true,
|
||||
},
|
||||
|
||||
xwayland = {
|
||||
force_zero_scaling = true
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = true,
|
||||
}
|
||||
})
|
||||
|
||||
hl.curve("almostLinear", { type = "bezier", points = { { 0.5, 0.5 }, { 0.75, 1.0 } } })
|
||||
hl.curve("linear", { type = "bezier", points = { { 0, 0 }, { 1, 1 } } })
|
||||
hl.curve("generic", { type = "bezier", points = { { 0.5, 0.9 }, { 0.1, 1.08 } } })
|
||||
hl.curve("quick", { type = "bezier", points = { { 0.15, 0 }, { 0.1, 1.0 } } })
|
||||
hl.curve("overshoot", { type = "bezier", points = { { 0.5, 0.9 }, { 0.1, 1.1 } } })
|
||||
hl.curve("rubber", { type = "spring", mass = 1, stiffness = 70, dampening = 10 })
|
||||
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { { 0.23, 1 }, { 0.32, 1 } } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { { 0.65, 0.05 }, { 0.36, 1 } } })
|
||||
|
||||
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 3.79, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, bezier = "easeOutQuint", style = "popin 87%" })
|
||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||
hl.animation({ leaf = "fadeSwitch", enabled = false })
|
||||
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 0.5, bezier = "quick" })
|
||||
|
||||
hl.animation({ leaf = "specialWorkspaceIn", enabled = true, speed = 3, bezier = "easeOutQuint", style = "slide top" })
|
||||
hl.animation({ leaf = "specialWorkspaceOut", enabled = true, speed = 2, bezier = "easeInOutCubic", style = "slide bottom" })
|
||||
|
||||
-- Keybindings
|
||||
|
||||
hl.bind("SUPER + SHIFT + return", hl.dsp.exec_cmd("footclient -a terminal-herdr -T terminal-herdr herdr --session=main"), { description = "Open herdr terminal" })
|
||||
hl.bind("SUPER + return", hl.dsp.exec_cmd("footclient -a terminal-tmux -T terminal-tmux tmux new -A -s main"), { description = "Open tmux terminal" })
|
||||
|
||||
hl.bind("SUPER + N", hl.dsp.exec_cmd(terminal .. " -a quicknotes -e nvim +'Obsidian today'"),
|
||||
{ description = "Open Obsidian today in a centered floating window" })
|
||||
hl.bind("SUPER + A", hl.dsp.exec_cmd(terminal .. " -a agenda -e nvim +'Org agenda t'"),
|
||||
{ description = "Open Org agenda in a centered floating window" })
|
||||
hl.bind("SUPER + CONTROL + A", hl.dsp.exec_cmd(terminal .. " -a capture -e nvim +'Org capture t'"),
|
||||
{ description = "Open Org capture in a centered floating window" })
|
||||
|
||||
hl.bind("SUPER + B", hl.dsp.exec_raw(browser), { description = "Open browser" })
|
||||
hl.bind("SUPER + I", sysinfo, { description = "Show system info" })
|
||||
|
||||
hl.bind("SUPER + CONTROL + X", hl.dsp.exec_raw("ostt launch --paste"), { description = "Open ostt" })
|
||||
hl.bind("F9", hl.dsp.exec_raw("ostt launch --paste"), { description = "Open ostt" })
|
||||
|
||||
hl.bind(
|
||||
"SUPER + Y",
|
||||
toggle_master_scrolling,
|
||||
{ description = "Layout: Toggle master/scrolling" }
|
||||
)
|
||||
|
||||
-- Open rofi on first press, closes it on second
|
||||
hl.bind("SUPER + Space", hl.dsp.exec_raw("rofi -show combi --modes combi"),
|
||||
{ release = true, description = "Open Application Menu" })
|
||||
hl.bind("SUPER + SHIFT + SPACE", hl.dsp.exec_cmd("~/.local/bin/hyprland-fetch-client"),
|
||||
{ release = true, description = "Fetch client" })
|
||||
hl.bind("SUPER + CONTROL + SPACE",
|
||||
hl.dsp.exec_cmd("~/.local/bin/hyprland-focus-client"),
|
||||
{ release = true, description = "Focus client" }
|
||||
)
|
||||
hl.bind("SUPER + slash",
|
||||
hl.dsp.exec_cmd("ROFI_PASS_BACKEND=wtype ROFI_PASS_CLIPBOARD_BACKEND=wl-clipboard ~/.local/bin/rofi-pass"),
|
||||
{ release = true, description = "Open rofi-pass" })
|
||||
|
||||
hl.bind("Print",
|
||||
hl.dsp.exec_cmd("hyprshot -m window -o ~/Pictures/ -- tensaku-edit"),
|
||||
{ description = "Take screenshot" })
|
||||
|
||||
hl.bind("SHIFT + PRINT",
|
||||
hl.dsp.exec_cmd("hyprshot -m region -o ~/Pictures/ -- tensaku-edit"),
|
||||
{ description = "Take screenshot" })
|
||||
|
||||
hl.bind("SUPER + PRINT", hl.dsp.exec_cmd("pkill hyprpicker || hyprpicker -a"), { description = "Pick color" })
|
||||
hl.bind("SUPER + CONTROL + PRINT",
|
||||
hl.dsp.exec_cmd("hyprshot -m region --raw -z | /usr/bin/tesseract stdin stdout --oem 1 --psm 6 -l eng | wl-copy"),
|
||||
{ description = "Extract text (OCR) from screenshot" })
|
||||
|
||||
hl.bind("SUPER + ALT + Print",
|
||||
hl.dsp.exec_cmd("~/.local/bin/screen-recorder -o ~/Videos/$(date +'%Y-%m-%d_%H%M%S')_recording.mp4"),
|
||||
{ description = "Start/Stop screen recording" })
|
||||
|
||||
hl.bind("SUPER + ALT + SHIFT + Print",
|
||||
hl.dsp.exec_cmd("~/.local/bin/screen-recorder stop"),
|
||||
{ description = "Stop screen recording" })
|
||||
|
||||
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
|
||||
{ repeating = true, description = "Volume down" })
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
|
||||
{ repeating = true, description = "Volume up" })
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { description = "Toggle mute" })
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),
|
||||
{ description = "Toggle mic mute" })
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 10%+"),
|
||||
{ repeating = true, description = "Brightness up" })
|
||||
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 10%-"),
|
||||
{ repeating = true, description = "Brightness down" })
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { description = "Play/pause media" })
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { description = "Previous media" })
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { description = "Next media" })
|
||||
|
||||
hl.bind("SUPER + Y", hl.dsp.exec_cmd("makoctl dismiss"), { description = "Dismiss notifications" })
|
||||
|
||||
|
||||
hl.bind("SUPER + W", hl.dsp.window.close(), { description = "Window: Close" })
|
||||
hl.bind("SUPER + F", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }),
|
||||
{ description = "Window: Toggle fullscreen" })
|
||||
hl.bind("SUPER + CONTROL + F", hl.dsp.window.fullscreen_state({ internal = 2, client = 0, action = "toggle" }),
|
||||
{ description = "Window: Toggle fullscreen state 2" })
|
||||
hl.bind("SUPER + ALT + F", hl.dsp.window.fullscreen_state({ internal = 0, client = 2, action = "toggle" }),
|
||||
{ description = "Window: Toggle fullscreen state 2" })
|
||||
|
||||
hl.bind("SUPER + T", toggle_float_with_limit,
|
||||
{ description = "Window: Toggle floating/tiling (max 80%)" })
|
||||
|
||||
-- hl.bind("SUPER + P", hl.dsp.window.pseudo(), { description = "Window: Toggle pseudo tiling" })
|
||||
hl.bind("SUPER + P", toggle_pin, { description = "Window: Toggle Pin" })
|
||||
|
||||
-- hl.bind("SUPER + A", hl.dsp.window.alter_zorder({ mode = "top" }), { description = "Window: Move to top" })
|
||||
|
||||
hl.bind("SUPER + left", hl.dsp.focus({ direction = "l" }), { description = "Window: Focus left" })
|
||||
hl.bind("SUPER + right", hl.dsp.focus({ direction = "r" }), { description = "Window: Focus right" })
|
||||
hl.bind("SUPER + up", hl.dsp.focus({ direction = "u" }), { description = "Window: Focus up" })
|
||||
hl.bind("SUPER + down", hl.dsp.focus({ direction = "d" }), { description = "Window: Focus down" })
|
||||
|
||||
hl.bind("SUPER + H", hl.dsp.focus({ direction = "l" }), { description = "Window: Focus left" })
|
||||
hl.bind("SUPER + L", hl.dsp.focus({ direction = "r" }), { description = "Window: Focus right" })
|
||||
hl.bind("SUPER + K", hl.dsp.focus({ direction = "u" }), { description = "Window: Focus up" })
|
||||
hl.bind("SUPER + J", hl.dsp.focus({ direction = "d" }), { description = "Window: Focus down" }) -- hl.bind("SUPER + H", hl.dsp.window.resize("left"), { repeating = true, description = "Window: Resize left" })
|
||||
|
||||
-- hl.bind("SUPER + z", hl.dsp.focus({ last = true }), { description = "Window: Focus last" })
|
||||
hl.bind("SUPER + Z", hl.dsp.focus({ urgent_or_last = true }), { description = "Window: Focus last" })
|
||||
|
||||
hl.bind("SUPER + ALT + period", function()
|
||||
hl.dispatch(hl.dsp.layout("cycleprev"))
|
||||
end, { description = "Window: Swap with next" })
|
||||
hl.bind("SUPER + ALT + comma", function()
|
||||
hl.dispatch(hl.dsp.layout("cyclenext"))
|
||||
end, { description = "Window: Swap with prev" })
|
||||
|
||||
hl.bind("ALT + Tab", cycle_next_window({ next = true }), { description = "Window: Cycle next" })
|
||||
hl.bind("ALT + SHIFT + Tab", cycle_next_window({ next = false }), { description = "Window: Cycle prev" })
|
||||
|
||||
-- hl.bind("ALT + TAB", hl.dsp.window.cycle_next(), { description = "Focus on next window" })
|
||||
-- hl.bind("ALT + SHIFT + TAB", hl.dsp.window.cycle_next({ next = false }), { description = "Focus on previous window" })
|
||||
-- hl.bind("ALT + TAB", hl.dsp.window.bring_to_top(), { description = "Reveal active window on top" })
|
||||
-- hl.bind("ALT + SHIFT + TAB", hl.dsp.window.bring_to_top(), { description = "Reveal active window on top" })
|
||||
|
||||
hl.bind("CONTROL + ALT + TAB", hl.dsp.focus({ monitor = "+1" }), { description = "Focus on next monitor" })
|
||||
hl.bind("CONTROL + ALT + SHIFT + TAB", hl.dsp.focus({ monitor = "-1" }), { description = "Focus on previous monitor" })
|
||||
|
||||
hl.bind("SUPER + S", hl.dsp.workspace.toggle_special("scratchpad"), { description = "Toggle scratchpad" })
|
||||
hl.bind("SUPER + ALT + S", hl.dsp.window.move({ workspace = "special:scratchpad", follow = false }),
|
||||
{ description = "Move window to scratchpad" })
|
||||
hl.bind("SUPER + grave", hl.dsp.workspace.toggle_special("scratchpad"), { description = "Toggle scratchpad" })
|
||||
hl.bind("SUPER + SHIFT + grave", hl.dsp.window.move({ workspace = "special:scratchpad", follow = false }),
|
||||
{ description = "Move window to scratchpad" })
|
||||
|
||||
-- hl.bind("SUPER + TAB", hl.dsp.focus({ monitor = "+1" }), { description = "Monitor: move focus to next monitor" })
|
||||
hl.bind("SUPER + TAB", hl.dsp.focus({ workspace = "e+1" }), { description = "Next workspace" })
|
||||
hl.bind("SUPER + SHIFT + TAB", hl.dsp.focus({ workspace = "e-1" }), { description = "Previous workspace" })
|
||||
hl.bind("SUPER + CONTROL + TAB", hl.dsp.focus({ workspace = "previous" }), { description = "Former workspace" })
|
||||
|
||||
hl.bind("SUPER + ALT + SHIFT + LEFT", hl.dsp.workspace.move({ monitor = "l" }),
|
||||
{ description = "Move workspace to left monitor" })
|
||||
hl.bind("SUPER + ALT + SHIFT + RIGHT", hl.dsp.workspace.move({ monitor = "r" }),
|
||||
{ description = "Move workspace to right monitor" })
|
||||
hl.bind("SUPER + ALT + SHIFT + UP", hl.dsp.workspace.move({ monitor = "u" }),
|
||||
{ description = "Move workspace to up monitor" })
|
||||
hl.bind("SUPER + ALT + SHIFT + DOWN", hl.dsp.workspace.move({ monitor = "d" }),
|
||||
{ description = "Move workspace to down monitor" })
|
||||
|
||||
hl.bind("SUPER + SHIFT + LEFT", hl.dsp.window.swap({ direction = "l" }), { description = "Swap window to the left" })
|
||||
hl.bind("SUPER + SHIFT + RIGHT", hl.dsp.window.swap({ direction = "r" }), { description = "Swap window to the right" })
|
||||
hl.bind("SUPER + SHIFT + UP", hl.dsp.window.swap({ direction = "u" }), { description = "Swap window up" })
|
||||
hl.bind("SUPER + SHIFT + DOWN", hl.dsp.window.swap({ direction = "d" }), { description = "Swap window down" })
|
||||
|
||||
hl.bind("SUPER + ALT + Tab", hl.dsp.focus({ workspace = "next", on_current_monitor = true }),
|
||||
{ description = "Window: Focus previous in workspace" })
|
||||
hl.bind("SUPER + ALT + SHIFT + Tab", hl.dsp.focus({ workspace = "previous", on_current_monitor = true }),
|
||||
{ description = "Window: Focus previous in workspace" })
|
||||
|
||||
-- arrange split ratio
|
||||
hl.bind("SUPER + X", toggle_master, { description = "Layout: Toggle master size" })
|
||||
-- hl.bind("SUPER + equal", hl.dsp.layout("mfact exact 0.5"))
|
||||
hl.bind("SUPER + M", function()
|
||||
local current_layout = hl.get_config("general.layout")
|
||||
if current_layout == "master" then
|
||||
hl.dispatch(hl.dsp.layout("swapwithmaster"))
|
||||
end
|
||||
if current_layout == "scrolling" then
|
||||
hl.dispatch(hl.dsp.layout("consume_or_expel next"))
|
||||
end
|
||||
end, { description = "Layout: Swap with master" })
|
||||
|
||||
-- hl.bind("SUPER + M", hl.dsp.layout("rollnext"))
|
||||
hl.bind("SUPER + period", function()
|
||||
local current_layout = hl.get_config("general.layout")
|
||||
if current_layout == "master" then
|
||||
hl.dispatch(hl.dsp.layout("cycleprev"))
|
||||
hl.dispatch(hl.dsp.layout("swapwithmaster"))
|
||||
end
|
||||
|
||||
if current_layout == "scrolling" then
|
||||
hl.dispatch(hl.dsp.layout("swapcol r"))
|
||||
hl.dispatch(hl.dsp.layout("focus l"))
|
||||
end
|
||||
-- hl.dispatch(hl.dsp.layout("focus r"))
|
||||
end, { description = "Layout: Cycle next" })
|
||||
|
||||
hl.bind("SUPER + comma", function()
|
||||
local current_layout = hl.get_config("general.layout")
|
||||
if current_layout == "master" then
|
||||
hl.dispatch(hl.dsp.layout("cyclenext"))
|
||||
hl.dispatch(hl.dsp.layout("swapwithmaster"))
|
||||
end
|
||||
|
||||
if current_layout == "scrolling" then
|
||||
hl.dispatch(hl.dsp.layout("swapcol l"))
|
||||
hl.dispatch(hl.dsp.layout("focus r"))
|
||||
end
|
||||
-- hl.dispatch(hl.dsp.layout("focus l"))
|
||||
end, { description = "Layout: Cycle previous" })
|
||||
|
||||
hl.bind("SUPER + SHIFT + comma", hl.dsp.window.move({ workspace = "-1" }),
|
||||
{ description = "Window: Move to previous workspace" })
|
||||
|
||||
hl.bind("SUPER + SHIFT + period", hl.dsp.window.move({ workspace = "+1" }),
|
||||
{ description = "Window: Move to next workspace" })
|
||||
|
||||
hl.bind("SUPER + ALT + comma", hl.dsp.workspace.move({ monitor = "-1" }),
|
||||
{ description = "Window: Move to previous workspace and follow" })
|
||||
|
||||
hl.bind("SUPER + ALT + period", hl.dsp.workspace.move({ monitor = "+1" }),
|
||||
{ description = "Window: Move to next workspace and follow" })
|
||||
|
||||
hl.bind("SUPER + C", hl.dsp.window.center(), { description = "Window: Center" })
|
||||
|
||||
hl.bind("SUPER + CONTROL + SHIFT + slash",
|
||||
hl.dsp.exec_cmd("makoctl mode -t do-not-disturb"),
|
||||
{ description = "Toggle do-not-disturb" })
|
||||
|
||||
hl.bind("SUPER + CONTROL + Delete", hl.dsp.exec_cmd("hyprland-toggle-monitor eDP-1"),
|
||||
{ description = "Toggle laptop display" })
|
||||
|
||||
hl.bind("SUPER + Escape", hl.dsp.exec_raw("loginctl lock-session"), { description = "Lock screen" })
|
||||
hl.bind("SUPER + SHIFT + escape", hl.dsp.exec_raw("systemctl suspend"), { description = "Suspend" })
|
||||
--hl.bind("SUPER + ALT + escape", hl.dsp.exec_raw("uwsm stop"), { description = "Stop UWSM" })
|
||||
hl.bind("SUPER + ALT + escape", hl.dsp.exit(), { description = "Exit Hyprland" })
|
||||
hl.bind("SUPER + CONTROL + escape", hl.dsp.exec_raw("reboot"), { description = "Reboot" })
|
||||
hl.bind("SUPER + SHIFT + CONTROL + escape", hl.dsp.exec_raw("systemctl poweroff"), { description = "Power off" })
|
||||
|
||||
-- hl.bind("SUPER + L", hl.dsp.window.resize("right"), { repeating = true, description = "Window: Resize right" })
|
||||
-- hl.bind("SUPER + J", hl.dsp.window.resize("down"), { repeating = true, description = "Window: Resize down" })
|
||||
-- hl.bind("SUPER + K", hl.dsp.window.resize("up"), { repeating = true, description = "Window: Resize up" })
|
||||
|
||||
-- # Change Workspace Mode
|
||||
--
|
||||
-- bind = SUPER SHIFT, X, workspaceopt, allfloat
|
||||
-- bind = SUPER SHIFT, X, exec, $notifycmd "Toggled All Float Mode"
|
||||
|
||||
-- bind = SUPER SHIFT, Z, workspaceopt, allpseudo
|
||||
-- bind = SUPER SHIFT, Z, exec, $notifycmd "Toggled All Pseudo Mode"
|
||||
|
||||
hl.on("keybinds.submap", function(name)
|
||||
if name == "" then
|
||||
hl.notification.create({ text = "Exited submap", duration = 2000, icon = "hint" })
|
||||
return
|
||||
end
|
||||
hl.notification.create({ text = "Entered submap: " .. name, duration = 2000, icon = "hint" })
|
||||
end)
|
||||
|
||||
hl.bind(HYPR .. "Z", hl.dsp.submap("passthru"), { description = "Passthru Menu" })
|
||||
hl.define_submap("passthru", function()
|
||||
hl.bind("escape", hl.dsp.submap("reset"), { description = "Passthru: Exit" })
|
||||
end)
|
||||
|
||||
hl.bind("SUPER + F9", hl.dsp.submap("resize"), { description = "Resize Menu" })
|
||||
hl.define_submap("resize", function()
|
||||
hl.bind("period", hl.dsp.window.resize({ x = 10, y = 10, relative = true }),
|
||||
{ repeating = true, description = "Resize: Increase" })
|
||||
hl.bind("comma", hl.dsp.window.resize({ x = -10, y = -10, relative = true }),
|
||||
{ repeating = true, description = "Resize: Decrease" })
|
||||
hl.bind("R", function()
|
||||
window_resize_percentage(0.5, 0.5)
|
||||
end, { description = "Resize: Reset" })
|
||||
hl.bind("S", function()
|
||||
window_resize_percentage(0.25, 0.25)
|
||||
end, { description = "Resize: Small" })
|
||||
hl.bind("D", function()
|
||||
window_resize_percentage(0.7, 0.96)
|
||||
hl.dispatch(hl.dsp.window.center())
|
||||
end, { description = "Resize: Large" })
|
||||
hl.bind("C", hl.dsp.window.center(), { description = "Resize: Center" })
|
||||
hl.bind("P", hl.dsp.window.pin(), { description = "Resize: Pin" })
|
||||
hl.bind("up", hl.dsp.window.move({ direction = "up" }), { description = "Resize: Move up" })
|
||||
hl.bind("down", hl.dsp.window.move({ direction = "down" }), { description = "Resize: Move down" })
|
||||
hl.bind("left", hl.dsp.window.move({ direction = "left" }), { description = "Resize: Move left" })
|
||||
hl.bind("right", hl.dsp.window.move({ direction = "right" }), { description = "Resize: Move right" })
|
||||
hl.bind("escape", hl.dsp.submap("reset"), { description = "Resize: Exit" })
|
||||
hl.bind("catchall", hl.dsp.submap("reset"), { description = "Resize: Exit" })
|
||||
end)
|
||||
|
||||
local workspaceGroupSize = 10
|
||||
local numberkey = { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }
|
||||
|
||||
function workspace_in_group(i)
|
||||
local curr = hl.get_active_workspace().id
|
||||
local newVal = math.floor((curr - 1) / workspaceGroupSize) * workspaceGroupSize + i
|
||||
return newVal
|
||||
end
|
||||
|
||||
for i = 1, 10 do
|
||||
hl.bind("SUPER + CONTROL + code:" .. numberkey[i], function()
|
||||
hl.dispatch(hl.dsp.workspace.move({ monitor = "+1", workspace = workspace_in_group(i), follow = true }))
|
||||
end, { description = "Workspace: Move monitor " .. i })
|
||||
end
|
||||
|
||||
for i = 1, 10 do
|
||||
hl.bind("SUPER + SHIFT + code:" .. numberkey[i], function()
|
||||
hl.dispatch(hl.dsp.window.move({ workspace = workspace_in_group(i), follow = true }))
|
||||
end, { description = "Workspace: Move " .. i })
|
||||
end
|
||||
|
||||
for i = 1, 10 do
|
||||
hl.bind("SUPER + code:" .. numberkey[i], function()
|
||||
hl.dispatch(hl.dsp.focus({ workspace = workspace_in_group(i), on_current_monitor = true }))
|
||||
end, { description = "Workspace: Focus " .. i })
|
||||
end
|
||||
|
||||
-- Scroll through existing workspaces with mainMod + scroll
|
||||
hl.bind("SUPER + mouse_down", hl.dsp.focus({ workspace = "e+1" }), { description = "Workspace: Next" })
|
||||
hl.bind("SUPER + mouse_up", hl.dsp.focus({ workspace = "e-1" }), { description = "Workspace: Previous" })
|
||||
|
||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true, description = "Window: Drag" })
|
||||
hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true, description = "Window: Resize" })
|
||||
hl.bind("mouse:275", hl.dsp.window.cycle_next({ next = true }), { click = true, description = "Window: Cycle next" })
|
||||
hl.bind("mouse:276", hl.dsp.window.cycle_next({ next = false }), { click = true, description = "Window: Cycle previous" })
|
||||
|
||||
hl.bind(HYPR .. "V", hl.dsp.exec_cmd("pavucontrol"), { description = "Volume control" })
|
||||
hl.bind(HYPR .. "B", hl.dsp.exec_cmd("blueberry"), { description = "Bluetooth manager" })
|
||||
|
||||
hl.bind(HYPR .. "semicolon", hl.dsp.exec_cmd("~/.local/bin/set-wallpaper.sh categories/technics"),
|
||||
{ description = "get new wallpaper" })
|
||||
|
||||
hl.bind(HYPR .. "A", hl.dsp.exec_cmd("gtk-launch pi.desktop"), { description = "Open pi tui" })
|
||||
hl.bind(HYPR .. "O", dispatch_focus_or_launch({
|
||||
match = "chrome-outlook.office.com",
|
||||
cmd = "gtk-launch Outlook.desktop",
|
||||
}), { description = "Email" })
|
||||
|
||||
hl.bind(HYPR .. "T", dispatch_focus_or_launch({
|
||||
match = "chrome-teams.microsoft.com",
|
||||
cmd = "gtk-launch Team.desktop",
|
||||
}), { description = "UWO Team" })
|
||||
|
||||
hl.bind(HYPR .. "Y", dispatch_focus_or_launch({
|
||||
match = "chrome-youtube.com",
|
||||
cmd = "gtk-launch YouTube.desktop",
|
||||
}), { description = "YouTube" })
|
||||
|
||||
hl.bind(HYPR .. "W", dispatch_focus_or_launch({
|
||||
match = "chrome-web.whatsapp.com",
|
||||
cmd = "gtk-launch WhatsApp.desktop",
|
||||
}), { description = "WhatsApp" })
|
||||
|
||||
hl.bind(HYPR .. "G", dispatch_focus_or_launch({
|
||||
match = "chrome-chatgpt.com",
|
||||
cmd = "gtk-launch ChatGPT.desktop",
|
||||
}), { description = "ChatGPT" })
|
||||
|
||||
hl.bind(HYPR .. "D", dispatch_focus_or_launch({
|
||||
match = "chrome-discord.com",
|
||||
cmd = "gtk-launch Discord.desktop"
|
||||
}), { description = "Discord" })
|
||||
|
||||
hl.bind(HYPR .. "M", dispatch_focus_or_launch({
|
||||
match = "chrome-messages.google.com",
|
||||
cmd = "gtk-launch \"Google Messages.desktop\"",
|
||||
}), { description = "Google Messages" })
|
||||
|
||||
hl.bind(HYPR .. "S", dispatch_focus_or_launch({
|
||||
match = "Spotify",
|
||||
cmd = music,
|
||||
}), { description = "Music" })
|
||||
|
||||
hl.bind(HYPR .. "F", dispatch_focus_or_launch({
|
||||
match = "strata",
|
||||
cmd = "gtk-launch io.github.lgse.Strata.desktop",
|
||||
}), { description = "File Manager" })
|
||||
|
||||
-- Gestures
|
||||
-- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||
-- hl.gesture({ fingers = 3, direction = "down", mods = "ALT", action = "close" })
|
||||
-- hl.gesture({ fingers = 3, direction = "up", mods = "SUPER", scale = 1.5, action = "fullscreen" })
|
||||
-- hl.gesture({ fingers = 3, direction = "left", scale = 1.5, action = "float" })
|
||||
--
|
||||
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursorZoom", zoom_level = 2 })
|
||||
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursorZoom", zoom_level = 1.2, mode = "mult" })
|
||||
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursorZoom", zoom_level = 1, mode = "live" })
|
||||
@@ -0,0 +1,61 @@
|
||||
hl.monitor({ output = "desc:Lenovo Group Limited 0x41A0", mode = "highrr", position = "0x0", scale = "1.0" })
|
||||
hl.monitor({ output = "desc:Samsung Display Corp. 0x4143", mode = "highrr", position = "0x0", scale = "2" })
|
||||
hl.monitor({
|
||||
output = "desc:LG Electronics LG HDR 4K 406NTZN74597",
|
||||
mode = "preferred",
|
||||
position = "auto-right",
|
||||
scale =
|
||||
"1.333333"
|
||||
})
|
||||
|
||||
hl.monitor({
|
||||
output = "desc:Microstep MSI MAG342CQR DB6H252300057",
|
||||
mode = "3440x1440@144",
|
||||
-- mode = "preferred",
|
||||
position = "auto-left",
|
||||
scale =
|
||||
"1.0"
|
||||
})
|
||||
hl.monitor({
|
||||
output = "desc:Ancor Communications Inc ASUS MG28U 0x00009B77",
|
||||
mode = "preferred",
|
||||
position = "auto-right",
|
||||
scale =
|
||||
"1.333333"
|
||||
})
|
||||
|
||||
-- hl.monitor({ output = "eDP-1", mode = "preferred", position = "0x0", scale = "1.0" })
|
||||
|
||||
hl.monitor({
|
||||
output = "desc:LG Electronics LG HDR WQHD 0x0006530C",
|
||||
mode = "preferred",
|
||||
position = "auto-up",
|
||||
scale =
|
||||
"1.333333"
|
||||
})
|
||||
hl.monitor({ output = "CAP Capture 0x00000001", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
||||
-- hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
||||
-- hl.monitor({ output = "HDMI-A-2", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
||||
|
||||
hl.monitor({
|
||||
output = "desc:Ancor Communications Inc ASUS PB238 DCLMTF074371",
|
||||
mode = "preferred",
|
||||
position = "auto",
|
||||
scale =
|
||||
"1.0"
|
||||
})
|
||||
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133R0A2", mode = "preferred", position = "auto-down", scale = 1 })
|
||||
hl.monitor({ output = "desc:Lenovo Group Limited M15 V30F2A15", mode = "preferred", position = "auto-down", scale = 1 })
|
||||
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133X4PG", mode = "preferred", position = "auto-down", scale = 1 })
|
||||
hl.monitor({ output = "desc:Stargate Technology TYPE-C", mode = "preferred", position = "auto-down", scale = 1 })
|
||||
hl.monitor({ output = "desc:Proteon TYPE-C 8R33926O00QS", mode = "preferred", position = "auto-right", scale = "1.0" })
|
||||
hl.monitor({ output = "desc:GWD ARZOPA 000000000000", mode = "preferred", position = "auto-down", scale = "1.0" })
|
||||
hl.monitor({ output = "desc:BNQ BenQ EX3203R 7CL00509019", mode = "preferred", position = "auto", scale = 1 })
|
||||
hl.monitor({ output = "desc:BNQ BenQ EX3501R N4M05650019", mode = "preferred", position = "auto-right", scale = "1.0" })
|
||||
hl.monitor({
|
||||
output = "desc:Dell Inc. DELL U3818DW 97F8P8AD0HEL",
|
||||
mode = "preferred",
|
||||
position = "auto-left",
|
||||
scale =
|
||||
"1.0"
|
||||
})
|
||||
@@ -0,0 +1,77 @@
|
||||
hl.workspace_rule({ workspace = "special:scratchpad", border_size = 3 })
|
||||
hl.window_rule({
|
||||
match = { class = "(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float|org.pulseaudio.pavucontrol)" },
|
||||
tag =
|
||||
"+floating-window"
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
match = { class = "terminal-pi" },
|
||||
float = true,
|
||||
center = true,
|
||||
workspace = "special:scratchpad",
|
||||
size = { "monitor_w/2", "monitor_h/2" }
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
match = {
|
||||
class = "(quicknotes|capture|agenda)"
|
||||
},
|
||||
tag = "+floating-window"
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
name = "ostt floating windows",
|
||||
match = { class = "ostt-popup" },
|
||||
float = true,
|
||||
no_anim = true,
|
||||
move = { 10, 10 },
|
||||
size = { 320, 240 },
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
match = {
|
||||
class = "(xdg-desktop-portal-gtk|sublime_text|DesktopEditors)",
|
||||
title = "^(Open.*Files?|Save.*Files?|Save.*As|All Files|Save)"
|
||||
},
|
||||
tag = "+floating-window"
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
match = { class = "code" },
|
||||
fullscreen_state = 1,
|
||||
})
|
||||
|
||||
hl.window_rule({
|
||||
-- Fix some dragging issues with XWayland
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false,
|
||||
},
|
||||
|
||||
no_focus = true,
|
||||
})
|
||||
|
||||
|
||||
hl.window_rule({ match = { tag = "floating-window" }, float = true, center = true, size = { "monitor_w/2", "monitor_h/2" } })
|
||||
|
||||
hl.window_rule({ match = { class = "(rofi|wofi)" }, tag = "+user-menu" })
|
||||
hl.window_rule({ match = { class = "^(pinentry-)" }, tag = "+user-menu" })
|
||||
hl.window_rule({ match = { class = "^(gcr-prompter)$" }, tag = "+user-menu" })
|
||||
hl.window_rule({ match = { tag = "user-menu" }, stay_focused = true, no_anim = true, float = true, center = true, size = { "monitor_w/3", "monitor_h/3" } })
|
||||
|
||||
hl.window_rule({
|
||||
name = "Picture in Picture windows",
|
||||
match = { title = "^.*[Pp]icture[ -][Ii]n[ -][Pp]icture.*$" },
|
||||
float = true,
|
||||
pin = true,
|
||||
rounding = 7,
|
||||
opacity = "1 1",
|
||||
move = { "monitor_w-window_w-10", "monitor_h-window_h-10" },
|
||||
size = { "monitor_w/4", "monitor_h/4" },
|
||||
})
|
||||
@@ -0,0 +1,49 @@
|
||||
nt_family TX-02
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
font_size 13
|
||||
enable_audio_bell no
|
||||
window_alert_on_bell no
|
||||
window_padding_width 3
|
||||
|
||||
# gruvbox-dark colorscheme for kitty
|
||||
# snazzy theme used as base
|
||||
|
||||
foreground #ebdbb2
|
||||
background #272727
|
||||
selection_foreground #655b53
|
||||
selection_background #ebdbb2
|
||||
url_color #d65c0d
|
||||
|
||||
# black
|
||||
color0 #272727
|
||||
color8 #928373
|
||||
|
||||
# red
|
||||
color1 #cc231c
|
||||
color9 #fb4833
|
||||
|
||||
# green
|
||||
color2 #989719
|
||||
color10 #b8ba25
|
||||
|
||||
# yellow
|
||||
color3 #d79920
|
||||
color11 #fabc2e
|
||||
|
||||
# blue
|
||||
color4 #448488
|
||||
color12 #83a597
|
||||
|
||||
# magenta
|
||||
color5 #b16185
|
||||
color13 #d3859a
|
||||
|
||||
# cyan
|
||||
color6 #689d69
|
||||
color14 #8ec07b
|
||||
|
||||
# white
|
||||
color7 #a89983
|
||||
color15 #ebdbb2
|
||||
@@ -0,0 +1,40 @@
|
||||
anchor=top-right
|
||||
group-by=app-name,summary,body
|
||||
default-timeout=5000
|
||||
width=420
|
||||
outer-margin=20
|
||||
padding=10,15
|
||||
border-size=2
|
||||
max-icon-size=32
|
||||
font=sans-serif 14px
|
||||
|
||||
[app-name=Spotify]
|
||||
invisible=1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible=true
|
||||
|
||||
[mode=do-not-disturb app-name=notify-send]
|
||||
invisible=false
|
||||
|
||||
[urgency=critical]
|
||||
default-timeout=0
|
||||
layer=overlay
|
||||
|
||||
[summary~="Setup Wi-Fi"]
|
||||
on-button-left=exec sh -c 'omarchy-notification-dismiss "Setup Wi-Fi"; omarchy-launch-wifi'
|
||||
|
||||
[summary~="Update System"]
|
||||
on-button-left=exec sh -c 'omarchy-notification-dismiss "Update System"; omarchy-launch-floating-terminal-with-presentation omarchy-update'
|
||||
|
||||
[summary~="Learn Keybindings"]
|
||||
on-button-left=exec sh -c 'omarchy-notification-dismiss "Learn Keybindings"; omarchy-menu-keybindings'
|
||||
|
||||
[summary~="Install Dictation with Voxtype"]
|
||||
on-button-left=exec sh -c 'omarchy-notification-dismiss "Install Dictation with Voxtype"; omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-install'
|
||||
|
||||
[summary~="Screenshot copied & saved"]
|
||||
max-icon-size=80
|
||||
format=<b>%s</b>\n%b
|
||||
|
||||
include=~/.local/state/omarchy/current/theme/mako.ini
|
||||
@@ -0,0 +1,27 @@
|
||||
config_version = "0.0.25"
|
||||
|
||||
[transcription]
|
||||
provider = "whisper"
|
||||
model = "small"
|
||||
|
||||
[audio]
|
||||
device = "default"
|
||||
output_format = "mp3 -ab 16k -ar 12000"
|
||||
peak_volume_threshold = 90
|
||||
reference_level_db = -20
|
||||
visualization = "spectrum"
|
||||
|
||||
[popup]
|
||||
terminal = "foot"
|
||||
borderless = true
|
||||
font_size = 25
|
||||
height = 15
|
||||
width = 90
|
||||
x = 630
|
||||
y = 790
|
||||
|
||||
[output.paste]
|
||||
paste_key = "ctrl+shift+v"
|
||||
restore_clipboard = true
|
||||
restore_delay_ms = 750
|
||||
post_popup_delay_ms = 1000
|
||||
@@ -0,0 +1,23 @@
|
||||
# See the full configuration reference: https://rioterm.com/docs/config
|
||||
|
||||
copy-on-select = true
|
||||
theme = "omarchy"
|
||||
hide-mouse-cursor-when-typing = true
|
||||
draw-bold-text-with-light-colors = false
|
||||
line-height = 1.1
|
||||
|
||||
[fonts]
|
||||
size = 16
|
||||
family = "MonaspiceNeNerdFontMono"
|
||||
disable-warnings-not-found = false
|
||||
|
||||
[editor]
|
||||
program = "nvim"
|
||||
args = []
|
||||
|
||||
[bindings]
|
||||
keys = [
|
||||
{ key = "up", with = "super | shift", action = "ScrollToPrevPrompt" },
|
||||
{ key = "down", with = "super | shift", action = "ScrollToNextPrompt" },
|
||||
]
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
@theme "theme"
|
||||
|
||||
* {
|
||||
border: 1;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
configuration {
|
||||
combi-modes: [window,drun,run];
|
||||
icon-theme: "Oranchelo";
|
||||
show-icons: true;
|
||||
drun-display-format: "{icon} {name}";
|
||||
location: 0;
|
||||
disable-history: false;
|
||||
hide-scrollbar: true;
|
||||
display-drun: " Apps ";
|
||||
display-run: " Run ";
|
||||
display-window: " Window";
|
||||
display-Network: " Network";
|
||||
sidebar-mode: true;
|
||||
font: "MonaspiceRn Nerd Font 15";
|
||||
|
||||
combi {
|
||||
display-name: "";
|
||||
}
|
||||
|
||||
drun {
|
||||
display-name: "";
|
||||
}
|
||||
|
||||
run {
|
||||
display-name: "";
|
||||
}
|
||||
|
||||
window {
|
||||
display-name: "";
|
||||
}
|
||||
|
||||
timeout {
|
||||
delay: 10;
|
||||
action: "kb-cancel";
|
||||
}
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 1;
|
||||
lines: 10;
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
border-color: @border-color;
|
||||
border-radius: @window-border-radius;
|
||||
border: @window-border-size;
|
||||
}
|
||||
|
||||
message {
|
||||
border-color: @seperator-color;
|
||||
border: 1px dash 0px 0px;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [inputbar, listview];
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
str: ":";
|
||||
expand: false;
|
||||
text-color: @prompt-color;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
border: 0px;
|
||||
children: [prompt, entry];
|
||||
}
|
||||
|
||||
entry {
|
||||
border: 0px;
|
||||
background-color: @prompt-background-color;
|
||||
padding: 12px 3px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
padding: 12px 16px 12px 12px;
|
||||
text-color: @prompt-color;
|
||||
background-color: @prompt-background-color;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
listview {
|
||||
lines: 8;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
border: 0px;
|
||||
// children: [element-text];
|
||||
}
|
||||
|
||||
element-text, element-icon, mode-switcher {
|
||||
border: 0px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected-background;
|
||||
text-color: @selected-foreground;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px;
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
mode = "theme"
|
||||
theme = "omarchy"
|
||||
single_click_previews = true
|
||||
search_open_files_directly = false
|
||||
browser_mode = "columns"
|
||||
browser_density = "compact"
|
||||
sort_key = "name"
|
||||
sort_direction = "ascending"
|
||||
check_for_updates = true
|
||||
@@ -0,0 +1 @@
|
||||
XDG_TERMINAL = foot
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user