Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78acf6f6d2 |
@@ -2,7 +2,6 @@
|
|||||||
*.log
|
*.log
|
||||||
hyprlock.conf
|
hyprlock.conf
|
||||||
hyprpaper.conf
|
hyprpaper.conf
|
||||||
scripts/autostart/workspace
|
user_config/*
|
||||||
config/color.lua
|
config/autostart.conf
|
||||||
scripts/hypridle/screen_off.sh
|
scripts/autostart/workspace
|
||||||
scripts/hypridle/screen_on.sh
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Readme of the repository
|
|
||||||
## If hypridle screen turning off breaks
|
|
||||||
Remove scripts/hypridle/screen_off.sh and scripts/hypridle/screen_on.sh
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
hl.on("hyprland.start", function ()
|
|
||||||
hl.exec_cmd("systemctl --user start graphical-session.target")
|
|
||||||
hl.exec_cmd("nm-applet")
|
|
||||||
hl.exec_cmd("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'")
|
|
||||||
hl.exec_cmd("dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
|
|
||||||
hl.exec_cmd("systemctl --user start hyprpolkitagent")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s keyring '/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg'")
|
|
||||||
|
|
||||||
hl.exec_cmd("tmux new-session -d -s hypridle 'hypridle'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s hyprpaper 'hyprpaper'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s qs 'env QT_QPA_PLATFORMTHEME=qt6ct quickshell'")
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s fah 'cd ~/.local/share/fah && fah-client'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s carla 'carla -n /home/honney/Music/1Player.carxp'")
|
|
||||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/audio/1player.sh'")
|
|
||||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/goxlr/goxlr-start.sh > ~/.config/hypr/scripts/goxlr/goxlr-start.log'")
|
|
||||||
hl.exec_cmd("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
|
|
||||||
|
|
||||||
hl.exec_cmd("nextcloud")
|
|
||||||
hl.exec_cmd("librewolf")
|
|
||||||
hl.exec_cmd("thunderbird")
|
|
||||||
hl.exec_cmd("discord")
|
|
||||||
elseif HOSTNAME == "hp-laptop" then
|
|
||||||
hl.exec_cmd("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'")
|
|
||||||
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
|
|
||||||
hl.exec_cmd("nextcloud")
|
|
||||||
hl.exec_cmd("discord")
|
|
||||||
end
|
|
||||||
|
|
||||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'")
|
|
||||||
end)
|
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# -- keybinds --
|
||||||
|
$mod = SUPER
|
||||||
|
|
||||||
|
bind = $mod, RETURN, exec, $terminal
|
||||||
|
bind = $mod, W, killactive, # "Quit"
|
||||||
|
bind = $mod, Q, killactive, # "Quit"
|
||||||
|
bind = $mod, F, fullscreen,
|
||||||
|
bind = $mod, V, togglefloating,
|
||||||
|
bind = $mod, D, exec, $menu # "Apps"
|
||||||
|
bind = $mod SHIFT, D, pseudo, # dwindle
|
||||||
|
# bind = $mod, J, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# file manager
|
||||||
|
bind = $mod, E, exec, $fileManager
|
||||||
|
|
||||||
|
# hyprlock
|
||||||
|
bind = $mod, L, exec, hyprlock
|
||||||
|
|
||||||
|
# switch workspaces
|
||||||
|
bind = $mod, 1, workspace, 1
|
||||||
|
bind = $mod, 2, workspace, 2
|
||||||
|
bind = $mod, 3, workspace, 3
|
||||||
|
bind = $mod, 4, workspace, 4
|
||||||
|
bind = $mod, 5, workspace, 5
|
||||||
|
bind = $mod, 6, workspace, 6
|
||||||
|
bind = $mod, 7, workspace, 7
|
||||||
|
bind = $mod, 8, workspace, 8
|
||||||
|
bind = $mod, 9, workspace, 9
|
||||||
|
bind = $mod, 0, workspace, 10
|
||||||
|
bind = $mod, TAB, workspace, e+1
|
||||||
|
|
||||||
|
bind = $mod, F1, workspace, 401
|
||||||
|
|
||||||
|
# move active window to a workspace
|
||||||
|
bind = $mod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
bind = $mod SHIFT, F1, movetoworkspace, 401
|
||||||
|
|
||||||
|
# move focus
|
||||||
|
bind = $mod, left, movefocus, l
|
||||||
|
bind = $mod, right, movefocus, r
|
||||||
|
bind = $mod, up, movefocus, u
|
||||||
|
bind = $mod, down, movefocus, d
|
||||||
|
|
||||||
|
# scroll through existing workspaces
|
||||||
|
bind = $mod, mouse_down, workspace, e+1
|
||||||
|
bind = $mod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# move/resize windows
|
||||||
|
bindm = $mod, mouse:272, movewindow
|
||||||
|
bindm = $mod SHIFT, mouse:272, resizewindow
|
||||||
|
|
||||||
|
bind = $mod SHIFT, right, resizeactive, 30 0
|
||||||
|
bind = $mod SHIFT, left, resizeactive, -30 0
|
||||||
|
bind = $mod SHIFT, up, resizeactive, 0 -30
|
||||||
|
bind = $mod SHIFT, down, resizeactive, 0 30
|
||||||
|
|
||||||
|
bind = $mod SHIFT, L, moveactive, 30 0
|
||||||
|
bind = $mod SHIFT, I, moveactive, -30 0
|
||||||
|
bind = $mod SHIFT, O, moveactive, 0 -30
|
||||||
|
bind = $mod SHIFT, K, moveactive, 0 30
|
||||||
|
|
||||||
|
# screenshots
|
||||||
|
bind = $mod, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_window.sh
|
||||||
|
bind = $mod ALT, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_monitor.sh
|
||||||
|
bind = $mod SHIFT, P, exec, ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
||||||
|
bind = $mod SHIFT, S, exec, ~/.config/hypr/scripts/screenshot/screenshot_area_2.sh
|
||||||
|
|
||||||
|
# Scrolling
|
||||||
|
bind = $mod CTRL, left, layoutmsg, focus l
|
||||||
|
bind = $mod CTRL, right, layoutmsg, focus r
|
||||||
|
bind = $mod CTRL SHIFT, left, layoutmsg, swapcol l
|
||||||
|
bind = $mod CTRL SHIFT, right, layoutmsg, swapcol r
|
||||||
|
|
||||||
|
# Audio keys
|
||||||
|
bindel = , XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
bindel = , XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
|
||||||
|
# Video Keys
|
||||||
|
bindel = , XF86AudioPlay, exec, playerctl play-pause || playerctl play-pause
|
||||||
|
bindel = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindel = , XF86AudioPrev, exec, playerctl previous
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
-- Set default applications
|
|
||||||
local terminal = "kitty"
|
|
||||||
local fileManager = "nautilus"
|
|
||||||
local menu = "wofi --show drun, run"
|
|
||||||
local lockscreen = "hyprlock"
|
|
||||||
|
|
||||||
-- open Software
|
|
||||||
hl.bind("SUPER + SHIFT + Q", hl.dsp.exec_cmd("firefox"))
|
|
||||||
hl.bind("SUPER+RETURN", hl.dsp.exec_cmd(terminal))
|
|
||||||
hl.bind("SUPER+D", hl.dsp.exec_cmd(menu))
|
|
||||||
hl.bind("SUPER+E", hl.dsp.exec_cmd(fileManager))
|
|
||||||
hl.bind("SUPER+L", hl.dsp.exec_cmd(lockscreen), { locked = true })
|
|
||||||
|
|
||||||
-- Hyprland hl.binds
|
|
||||||
|
|
||||||
-- Manipulating Windows/Software
|
|
||||||
hl.bind("SUPER+W", hl.dsp.window.close())
|
|
||||||
hl.bind("SUPER+Q", hl.dsp.window.close())
|
|
||||||
hl.bind("SUPER+SHIFT+Q", hl.dsp.window.kill())
|
|
||||||
hl.bind("SUPER+F", hl.dsp.window.fullscreen("maximized", "toggle"))
|
|
||||||
hl.bind("SUPER+V", hl.dsp.window.float({ action = "toggle" }))
|
|
||||||
hl.bind("SUPER+SHIFT+D", hl.dsp.window.pseudo)
|
|
||||||
|
|
||||||
-- Interacting with Workspaces
|
|
||||||
for i = 1, 9 do
|
|
||||||
if not (HOSTNAME == "honney-main" and i >= 1 and i <= 4) then
|
|
||||||
hl.bind("SUPER+" .. tostring(i), hl.dsp.focus({ workspace = tostring(i) }))
|
|
||||||
hl.bind("SUPER+CTRL+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = false}))
|
|
||||||
hl.bind("SUPER+SHIFT+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = true}))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
hl.bind("SUPER+0", hl.dsp.focus({ workspace = "10" }))
|
|
||||||
hl.bind("SUPER+CTRL+0", hl.dsp.window.move({workspace = "10", follow = false}))
|
|
||||||
hl.bind("SUPER+SHIFT+0", hl.dsp.window.move({workspace = "10", follow = true}))
|
|
||||||
hl.bind("SUPER+F1", hl.dsp.focus({ workspace = "401" }))
|
|
||||||
hl.bind("SUPER+CTRL+F1", hl.dsp.window.move({workspace = "401", follow = false}))
|
|
||||||
hl.bind("SUPER+SHIFT+F1", hl.dsp.window.move({workspace = "401", follow = true}))
|
|
||||||
|
|
||||||
-- Scrolling
|
|
||||||
hl.bind("SUPER+CTRL+left", hl.dsp.layout("move -col"))
|
|
||||||
hl.bind("SUPER+CTRL+right", hl.dsp.layout("move +col"))
|
|
||||||
hl.bind("SUPER+mouse_left", hl.dsp.layout("move -col"))
|
|
||||||
hl.bind("SUPER+mouse_right", hl.dsp.layout("move +col"))
|
|
||||||
hl.bind("SUPER+CTRL+SHIFT+left", hl.dsp.layout("swapcol l"))
|
|
||||||
hl.bind("SUPER+CTRL+SHIFT+right", hl.dsp.layout("swapcol r"))
|
|
||||||
|
|
||||||
-- -- Resizing windows
|
|
||||||
-- hl.bind("SUPER+SHIFT+right", "resizeactive", "30 0")
|
|
||||||
-- hl.bind("SUPER+SHIFT+left", "resizeactive", "-30 0")
|
|
||||||
-- hl.bind("SUPER+SHIFT+up", "resizeactive", "0 -30")
|
|
||||||
-- hl.bind("SUPER+SHIFT+down", "resizeactive", "0 30")
|
|
||||||
|
|
||||||
-- Mouse Commands for moving windows
|
|
||||||
hl.bind("SUPER+mouse_down", hl.dsp.focus({ workspace = "e+1", on_current_monitor = false }))
|
|
||||||
hl.bind("SUPER+mouse_up", hl.dsp.focus({ workspace = "e+1", on_current_monitor = false }))
|
|
||||||
hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
|
||||||
hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
|
||||||
hl.bind("SUPER + SHIFT + mouse:272", hl.dsp.window.resize(), { mouse = true })
|
|
||||||
|
|
||||||
-- Move between workspaces/screens
|
|
||||||
hl.bind("SUPER+left" , hl.dsp.focus({ direction = "l" }))
|
|
||||||
hl.bind("SUPER+right", hl.dsp.focus({ direction = "r" }))
|
|
||||||
hl.bind("SUPER+up" , hl.dsp.focus({ direction = "u" }))
|
|
||||||
hl.bind("SUPER+down" , hl.dsp.focus({ direction = "d" }))
|
|
||||||
hl.bind("SUPER+TAB" , hl.dsp.focus({ workspace = "e+1", on_current_monitor = false }))
|
|
||||||
|
|
||||||
-- Screenshots
|
|
||||||
hl.bind("SUPER+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_window.sh"))
|
|
||||||
hl.bind("SUPER+ALT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_monitor.sh"))
|
|
||||||
hl.bind("SUPER+SHIFT+P", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area.sh"))
|
|
||||||
hl.bind("SUPER+SHIFT+S", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_area_2.sh"))
|
|
||||||
hl.bind("SUPER+CTRL+O", hl.dsp.exec_cmd("~/.config/hypr/scripts/screenshot/screenshot_ocr.sh"))
|
|
||||||
|
|
||||||
-- Audio Control
|
|
||||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"))
|
|
||||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))
|
|
||||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))
|
|
||||||
hl.bind("ALT+XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0; wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%+"))
|
|
||||||
hl.bind("ALT+XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 0; wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 5%-"))
|
|
||||||
hl.bind("ALT+XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
|
|
||||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"))
|
|
||||||
|
|
||||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause || playerctl play-pause"))
|
|
||||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"))
|
|
||||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"))
|
|
||||||
|
|
||||||
-- German Umlaute
|
|
||||||
hl.bind("SUPER+a", hl.dsp.exec_cmd("wtype \"ä\""))
|
|
||||||
hl.bind("SUPER+SHIFT+a", hl.dsp.exec_cmd("wtype \"Ä\""))
|
|
||||||
hl.bind("SUPER+o", hl.dsp.exec_cmd("wtype \"ö\""))
|
|
||||||
hl.bind("SUPER+SHIFT+o", hl.dsp.exec_cmd("wtype \"Ö\""))
|
|
||||||
hl.bind("SUPER+u", hl.dsp.exec_cmd("wtype \"ü\""))
|
|
||||||
hl.bind("SUPER+SHIFT+u", hl.dsp.exec_cmd("wtype \"Ü\""))
|
|
||||||
hl.bind("SUPER+s", hl.dsp.exec_cmd("wtype \"ß\""))
|
|
||||||
hl.bind("SUPER+SHIFT+e", hl.dsp.exec_cmd("wtype \"€\""))
|
|
||||||
|
|
||||||
-- Opening coder
|
|
||||||
hl.bind("SUPER+SHIFT+C", hl.dsp.exec_cmd("code --password-store=gnome-libsecret"))
|
|
||||||
hl.bind("SUPER+SHIFT+V", hl.dsp.exec_cmd("vscodium"))
|
|
||||||
|
|
||||||
-- device specifics
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
for i = 1, 12 do
|
|
||||||
hl.bind("SUPER+SHIFT+CTRL+F"..tostring(i), hl.dsp.exec_cmd("~/.config/hypr/scripts/makropad/button"..string.format("%02d", i)..".sh"))
|
|
||||||
end
|
|
||||||
hl.bind("ALT+T", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/todo.sh"))
|
|
||||||
hl.bind("ALT+Y", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/tmdb.sh"))
|
|
||||||
end
|
|
||||||
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
local script = "~/.config/hypr/scripts/cycle_workspace.sh"
|
|
||||||
for i = 1, 4 do
|
|
||||||
hl.bind("SUPER+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " focus"))
|
|
||||||
hl.bind("SUPER+CTRL+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " move"))
|
|
||||||
hl.bind("SUPER+SHIFT+" .. i, hl.dsp.exec_cmd(script .. " " .. i .. " move_follow"))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Quickshell
|
|
||||||
hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper"))
|
|
||||||
hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner"))
|
|
||||||
hl.bind("SUPER + SHIFT + L", hl.dsp.global("quickshell:WLogout"))
|
|
||||||
hl.bind("SUPER + SHIFT + R", hl.dsp.global("quickshell:QsReload"))
|
|
||||||
hl.bind("SUPER + SHIFT + N", hl.dsp.global("quickshell:NotificationHistory"))
|
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
|
||||||
|
# Environment variables. See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = GTK_USE_PORTAL,1
|
||||||
|
|
||||||
|
# Set your defaults editor through ENV in ~/.config/hypr/UserConfigs/01-UserDefaults.conf
|
||||||
|
|
||||||
|
# environment-variables
|
||||||
|
# Toolkit Backend Variables
|
||||||
|
env = GDK_BACKEND,wayland,x11,*
|
||||||
|
#env = QT_QPA_PLATFORM,xcb
|
||||||
|
env = CLUTTER_BACKEND,wayland
|
||||||
|
|
||||||
|
#Run SDL2 applications on Wayland.
|
||||||
|
#Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
|
||||||
|
#env = SDL_VIDEODRIVER,wayland
|
||||||
|
|
||||||
|
# xdg Specifications
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
|
||||||
|
# QT Variables
|
||||||
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||||
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||||
|
env = QT_QPA_PLATFORMTHEME,hyprqt6engine
|
||||||
|
env = QT_STYLE_OVERRIDE,kvantum # Maybe qt5-fix?
|
||||||
|
env = KVANTUM_THEME,ColloidDark
|
||||||
|
env = QT_ENABLE_HIGHDPI_SCALING,1
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
|
||||||
|
# hyprland-qt-support
|
||||||
|
env = QT_QUICK_CONTROLS_STYLE,org.hyprland.style
|
||||||
|
|
||||||
|
# xwayland apps scale fix (useful if you are use monitor scaling).
|
||||||
|
# Set same value if you use scaling in Monitors.conf
|
||||||
|
# 1 is 100% 1.5 is 150%
|
||||||
|
# see https://wiki.hyprland.org/Configuring/XWayland/
|
||||||
|
env = GDK_SCALE,1
|
||||||
|
env = QT_SCALE_FACTOR,1
|
||||||
|
|
||||||
|
# Bibata-Modern-Ice-Cursor
|
||||||
|
# NOTE! You must have the hyprcursor version to activate this.
|
||||||
|
# https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/
|
||||||
|
#env = HYPRCURSOR_THEME,Bibata-Modern-Ice
|
||||||
|
#env = HYPRCURSOR_SIZE,24
|
||||||
|
|
||||||
|
# firefox
|
||||||
|
env = MOZ_ENABLE_WAYLAND,1
|
||||||
|
|
||||||
|
# electron >28 apps (may help) ##
|
||||||
|
# https://www.electronjs.org/docs/latest/api/environment-variables
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,auto # auto selects Wayland if possible, X11 otherwise
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Aquamarine Environment Variables #### ( Hyprland > 0.45 )
|
||||||
|
# https://wiki.hyprland.org/Configuring/Environment-variables/#aquamarine-environment-variables----ref-httpsgithubcomhyprwmaquamarineblobmaindocsenvmd---
|
||||||
|
# env = AQ_TRACE,1 # Enables more verbose logging.
|
||||||
|
# env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0 # Set an explicit list of DRM devices (GPUs) to use. It’s a colon-separated list of paths, with the first being the primary. E.g. /dev/dri/card1:/dev/dri/card0
|
||||||
|
# env = AQ_MGPU_NO_EXPLICIT,1 # Disables explicit syncing on mgpu buffers
|
||||||
|
# env = AQ_NO_MODIFIERS,1 # Disables modifiers for DRM buffers
|
||||||
|
|
||||||
|
#### Hyprland Environment Variables ####
|
||||||
|
# https://wiki.hyprland.org/Configuring/Environment-variables/#hyprland-environment-variables
|
||||||
|
# env = HYPRLAND_TRACE,1 # Enables more verbose logging.
|
||||||
|
# env = HYPRLAND_NO_RT,1 # Disables realtime priority setting by Hyprland.
|
||||||
|
# env = HYPRLAND_NO_SD_NOTIFY,1 # If systemd, disables the 'sd_notify' calls.
|
||||||
|
# env = HYPRLAND_NO_SD_VARS,1 # Disables management of variables in systemd and dbus activation environments.
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
-- Hyprland env
|
|
||||||
-- https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
|
||||||
hl.env("HYPRLAND_TRACE", "1")
|
|
||||||
|
|
||||||
-- Toolkit Backend Variables
|
|
||||||
hl.env("GDK_BACKEND", "wayland,x11,*")
|
|
||||||
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
|
||||||
hl.env("SDL_VIDEODRIVER", "wayland,x11") -- if older game fails set to x11
|
|
||||||
hl.env("CLUTTER_BACKEND", "wayland")
|
|
||||||
|
|
||||||
-- XDG Specifications
|
|
||||||
hl.env("XDG_CURRENT_DESKTOP", "Hyprland")
|
|
||||||
hl.env("XDG_SESSION_TYPE", "wayland")
|
|
||||||
hl.env("XDG_SESSION_DESKTOP", "Hyprland")
|
|
||||||
|
|
||||||
-- Qt Variables
|
|
||||||
hl.env("QT_AUTO_SCREEN_SCALE_FACTOR", "1")
|
|
||||||
hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", "1")
|
|
||||||
-- enable hyprqt6engine
|
|
||||||
hl.env("QT_QPA_PLATFORMTHEME", "hyprqt6engine")
|
|
||||||
hl.env("QT_STYLE_OVERRIDE", "kvantum")
|
|
||||||
hl.env("QT_ENABLE_HIGHDPI_SCALING", "1")
|
|
||||||
-- hyprland-qt-support
|
|
||||||
hl.env("QT_ENABLE_HIGHDPI_SCALING", "1")
|
|
||||||
|
|
||||||
-- GDK Variables
|
|
||||||
hl.env("GTK_USE_PORTAL", "1")
|
|
||||||
hl.env("GDK_SCALE", "1")
|
|
||||||
|
|
||||||
-- Firefox
|
|
||||||
hl.env("MOZ_ENABLE_WAYLAND", "1")
|
|
||||||
|
|
||||||
-- electron
|
|
||||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
|
||||||
|
|
||||||
-- -- set XDG
|
|
||||||
-- hl.env("XDG_DATA_DIRS", "/usr/local/share:/usr/share:~/.local/share:~/.icons")
|
|
||||||
|
|
||||||
-- nvidia fixes look here: https://wiki.hypr.land/Nvidia/
|
|
||||||
if HOSTNAME == "arch" then
|
|
||||||
hl.env("LIBVA_DRIVER_NAME", "nvidia")
|
|
||||||
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
|
||||||
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
|
||||||
end
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
local f = io.popen("hostname 2>/dev/null")
|
|
||||||
HOSTNAME = "unknown"
|
|
||||||
if f then
|
|
||||||
HOSTNAME = (f:read("*l") or "unknown"):gsub("%s+", "")
|
|
||||||
f:close()
|
|
||||||
end
|
|
||||||
USER = "unknown"
|
|
||||||
if HOSTNAME ~= "unknown" then
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
USER = "honney"
|
|
||||||
elseif HOSTNAME == "arch" then
|
|
||||||
USER = "teo"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
hl.config({
|
|
||||||
input={
|
|
||||||
-- keyboard
|
|
||||||
kb_model = "",
|
|
||||||
kb_layout = "de",
|
|
||||||
kb_variant = "",
|
|
||||||
kb_options = "",
|
|
||||||
kb_rules = "",
|
|
||||||
kb_file = "",
|
|
||||||
numlock_by_default = true,
|
|
||||||
-- mouse
|
|
||||||
sensitivity = 0,
|
|
||||||
left_handed = false,
|
|
||||||
natural_scroll = false,
|
|
||||||
follow_mouse = 1,
|
|
||||||
touchpad = {
|
|
||||||
disable_while_typing = false,
|
|
||||||
natural_scroll = true,
|
|
||||||
scroll_factor = 0.15,
|
|
||||||
middle_button_emulation = true,
|
|
||||||
clickfinger_behavior = true,
|
|
||||||
drag_lock = 1,
|
|
||||||
tap_and_drag = true,
|
|
||||||
drag_3fg = 2,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
hl.config({
|
|
||||||
input={
|
|
||||||
kb_layout = "us",
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- To find the device names: hyprctl devices -j
|
|
||||||
|
|
||||||
hl.device({
|
|
||||||
name = "evision-rgb-keyboard",
|
|
||||||
kb_layout = "us"
|
|
||||||
})
|
|
||||||
for i = 1, 9 do
|
|
||||||
hl.device({
|
|
||||||
name = "evision-rgb-keyboard-" .. tostring(i),
|
|
||||||
kb_layout = "us"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# The config where the resolution, position and
|
||||||
|
# other monitor Stuff is set up
|
||||||
|
|
||||||
|
# monitor = name, resolution, position, scale
|
||||||
|
|
||||||
|
misc {
|
||||||
|
vrr = 2 # 0: off, 1: on, 2: fullscreen only
|
||||||
|
}
|
||||||
|
|
||||||
|
render {
|
||||||
|
cm_auto_hdr = 1 # 0: off, 1: on, 2: edid
|
||||||
|
}
|
||||||
@@ -1,135 +0,0 @@
|
|||||||
if HOSTNAME == "honney-main" then
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
mode = "3840x2160@144",
|
|
||||||
position = "0x0",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
-- bitdepth = 10,
|
|
||||||
-- cm = "srgb",
|
|
||||||
-- sdr_eotf = "default",
|
|
||||||
-- sdrbrightness = 1.0,
|
|
||||||
-- sdrsaturation = 1.0,
|
|
||||||
-- vrr = 0,
|
|
||||||
-- supports_wide_color = 1,
|
|
||||||
-- supports_hdr = 1,
|
|
||||||
-- sdr_min_luminance = 0.2,
|
|
||||||
-- sdr_max_luminance = 600,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
mode = "3840x2160@60",
|
|
||||||
position = "-3840x0",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
-- bitdepth = 10,
|
|
||||||
-- cm = "srgb",
|
|
||||||
-- sdr_eotf = "default",
|
|
||||||
-- sdrbrightness = 1.0,
|
|
||||||
-- sdrsaturation = 1.0,
|
|
||||||
-- vrr = 0,
|
|
||||||
-- supports_wide_color = 1,
|
|
||||||
-- supports_hdr = 1,
|
|
||||||
-- sdr_min_luminance = 0.2,
|
|
||||||
-- sdr_max_luminance = 400,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
|
||||||
mode = "3840x2160@60",
|
|
||||||
position = "0x-2160",
|
|
||||||
scale = 1,
|
|
||||||
transform = 2,
|
|
||||||
-- bitdepth = 10,
|
|
||||||
-- cm = "srgb",
|
|
||||||
-- sdr_eotf = "default",
|
|
||||||
-- sdrbrightness = 1.0,
|
|
||||||
-- sdrsaturation = 1.0,
|
|
||||||
-- vrr = 0,
|
|
||||||
-- supports_wide_color = 1,
|
|
||||||
-- supports_hdr = 1,
|
|
||||||
-- sdr_min_luminance = 0.2,
|
|
||||||
-- sdr_max_luminance = 400,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
|
||||||
mode = "1920x1080@144",
|
|
||||||
position = "-1920x-1080",
|
|
||||||
scale = 1,
|
|
||||||
transform = 2,
|
|
||||||
bitdepth = 10,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:Dell Inc. DELL P2419H D4CN3Q2",
|
|
||||||
mode = "1920x1080@60",
|
|
||||||
position = "-1920x-2160",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
})
|
|
||||||
elseif HOSTNAME == "hp-laptop" then
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:BNQ BenQ EX2710U 0000000000001",
|
|
||||||
mode = "3840x2160@120",
|
|
||||||
position = "960x-2160",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
-- bitdepth = 10,
|
|
||||||
-- cm = "srgb",
|
|
||||||
-- sdr_eotf = "default",
|
|
||||||
-- sdrbrightness = 1.0,
|
|
||||||
-- sdrsaturation = 1.0,
|
|
||||||
-- vrr = 0,
|
|
||||||
-- supports_wide_color = 1,
|
|
||||||
-- supports_hdr = 1,
|
|
||||||
-- sdr_min_luminance = 0.2,
|
|
||||||
-- sdr_max_luminance = 600,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
mode = "1920x1080@60",
|
|
||||||
position = "-960x-1080",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
-- bitdepth = 10,
|
|
||||||
-- cm = "srgb",
|
|
||||||
-- sdr_eotf = "default",
|
|
||||||
-- sdrbrightness = 1.0,
|
|
||||||
-- sdrsaturation = 1.0,
|
|
||||||
-- vrr = 0,
|
|
||||||
-- supports_wide_color = 1,
|
|
||||||
-- supports_hdr = 1,
|
|
||||||
-- sdr_min_luminance = 0.2,
|
|
||||||
-- sdr_max_luminance = 400,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:BOE 0x08A8",
|
|
||||||
mode = "1920x1080@60",
|
|
||||||
position = "0x0",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
})
|
|
||||||
-- hl.monitor({
|
|
||||||
-- output = "desc:AOC 24B3HA2 AVKS29A004767",
|
|
||||||
-- mode = "1920x1080@120",
|
|
||||||
-- position = "-1920x0",
|
|
||||||
-- scale = 1,
|
|
||||||
-- transform = 0,
|
|
||||||
-- })
|
|
||||||
elseif HOSTNAME == "arch" then
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
|
||||||
mode = "3440x1440@180",
|
|
||||||
position = "0x0",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
})
|
|
||||||
hl.monitor({
|
|
||||||
output = "desc:AOC 24G1WG4 0x0001A57A",
|
|
||||||
mode = "1920x1080@60",
|
|
||||||
position = "-1920x0",
|
|
||||||
scale = 1,
|
|
||||||
transform = 0,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- mirror string Output name to mirror
|
|
||||||
-- icc string Absolute path to an ICC profile
|
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
$GTK_THEME = "catppuccin-mocha-blue-standard+default"
|
||||||
|
$CURSOR_THEME = "DJ-FOX-C"
|
||||||
|
$ICON_THEME = "BeautyLine-Garuda"
|
||||||
|
$KVANTUM_THEME = "Catppuccin-Mocha-Blue"
|
||||||
|
|
||||||
|
# GTK Theming
|
||||||
|
env = GTK_THEME,Colloid-Dark
|
||||||
|
env = GTK_ICON_THEME,BeautyLine-Garuda
|
||||||
|
env = GTK_THEME_VARIANT,dark
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = GDK_BACKEND,wayland,x11
|
||||||
|
env = GTK_USE_PORTAL,1
|
||||||
|
env = GTK_THEME_VARIANT,dark
|
||||||
|
|
||||||
|
|
||||||
|
# Qt/Kvantum Theming
|
||||||
|
# in env.conf
|
||||||
|
|
||||||
|
# Icons:
|
||||||
|
env = XDG_DATA_DIRS,/usr/local/share:/usr/share:~/.local/share:~/.icons
|
||||||
|
env = GTK_ICON_THEME,BeautyLine-Garuda
|
||||||
|
|
||||||
|
# Icons & Cursor
|
||||||
|
env = HYPRCURSOR_THEME,DJ-FOX-C
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = XCURSOR_THEME,DJ-FOX-C
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Window management
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 8
|
||||||
|
border_size = 0
|
||||||
|
layout = dwindle
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 5
|
||||||
|
active_opacity = 1
|
||||||
|
# inactive_opacity = 0.75
|
||||||
|
inactive_opacity = 1
|
||||||
|
fullscreen_opacity = 1
|
||||||
|
blur {
|
||||||
|
enabled = false
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
}
|
||||||
|
|
||||||
|
scrolling {
|
||||||
|
column_width = 1
|
||||||
|
follow_focus = true
|
||||||
|
fullscreen_on_one_column = true
|
||||||
|
# explicit_column_widths = 0.17,0.3
|
||||||
|
}
|
||||||
@@ -1,189 +0,0 @@
|
|||||||
hl.config({
|
|
||||||
general = {
|
|
||||||
border_size = 2,
|
|
||||||
gaps_in = 5,
|
|
||||||
gaps_out = 8,
|
|
||||||
float_gaps = 0,
|
|
||||||
gaps_workspaces = 0,
|
|
||||||
col = {
|
|
||||||
inactive_border = INACTIVE_COLOR,
|
|
||||||
-- active_border = { colors = { "rgba(ff0000ff)", "rgba(ffff00ff)", "rgba(00ff00ff)", "rgba(00ffffff)", "rgba(0000ffff)", "rgba(ff00ffff)" }, angle = 45 },
|
|
||||||
active_border = ACTIVE_COLOR,
|
|
||||||
nogroup_border = 0xffffaaff,
|
|
||||||
nogroup_border_active = 0xffff00ff,
|
|
||||||
},
|
|
||||||
layout = "dwindle",
|
|
||||||
no_focus_fallback = false,
|
|
||||||
resize_on_border = false,
|
|
||||||
extend_border_grab_area = 15,
|
|
||||||
hover_icon_on_border = true,
|
|
||||||
allow_tearing = false,
|
|
||||||
resize_corner = 0,
|
|
||||||
modal_parent_blocking = true,
|
|
||||||
locale = "de",
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
dwindle = {
|
|
||||||
force_split = 0,
|
|
||||||
preserve_split = false,
|
|
||||||
smart_split = false,
|
|
||||||
smart_resizing = true,
|
|
||||||
permanent_direction_override = false,
|
|
||||||
special_scale_factor = 1,
|
|
||||||
split_width_multiplier = 1.0,
|
|
||||||
use_active_for_splits = true,
|
|
||||||
default_split_ratio = 1.0,
|
|
||||||
split_bias = 0,
|
|
||||||
precise_mouse_move = false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
scrolling = {
|
|
||||||
fullscreen_on_one_column = false,
|
|
||||||
column_width = 0.9,
|
|
||||||
focus_fit_method = 0,
|
|
||||||
follow_focus = true,
|
|
||||||
follow_min_visible = 1,
|
|
||||||
explicit_column_widths = "0.05, 0.90, 0.05",
|
|
||||||
wrap_focus = true,
|
|
||||||
wrap_swapcol = true,
|
|
||||||
direction = "right",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
if USER == "honney" then
|
|
||||||
hl.config({
|
|
||||||
decoration = {
|
|
||||||
rounding = 5,
|
|
||||||
active_opacity = 1,
|
|
||||||
inactive_opacity = 1,
|
|
||||||
dim_modal = true,
|
|
||||||
dim_inactive = true,
|
|
||||||
dim_strength = 0.35,
|
|
||||||
blur = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
render = {
|
|
||||||
direct_scanout = 2,
|
|
||||||
cm_enabled = true,
|
|
||||||
cm_auto_hdr = 0,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
elseif USER == "teo" then
|
|
||||||
hl.config({
|
|
||||||
decoration = {
|
|
||||||
rounding = 5,
|
|
||||||
active_opacity = 1,
|
|
||||||
inactive_opacity = 1,
|
|
||||||
dim_modal = false,
|
|
||||||
dim_inactive = false,
|
|
||||||
dim_strength = 0.35,
|
|
||||||
blur = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
render = {
|
|
||||||
direct_scanout = 2,
|
|
||||||
cm_enabled = true,
|
|
||||||
cm_auto_hdr = 0,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
else
|
|
||||||
hl.config({
|
|
||||||
decoration = {
|
|
||||||
rounding = 5,
|
|
||||||
active_opacity = 1,
|
|
||||||
inactive_opacity = 1,
|
|
||||||
dim_modal = true,
|
|
||||||
dim_inactive = true,
|
|
||||||
dim_strength = 0.35,
|
|
||||||
blur = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
render = {
|
|
||||||
direct_scanout = 2,
|
|
||||||
cm_enabled = true,
|
|
||||||
cm_auto_hdr = 0,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- MISC
|
|
||||||
hl.config({
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = true,
|
|
||||||
font_family = "CodeNewRoman Nerd Font",
|
|
||||||
splash_font_family = "CodeNewRoman Nerd Font",
|
|
||||||
force_default_wallpaper = 0,
|
|
||||||
vrr = 3,
|
|
||||||
animate_manual_resizes = true,
|
|
||||||
animate_mouse_windowdragging = true,
|
|
||||||
background_color = 0x000000,
|
|
||||||
on_focus_under_fullscreen = 0,
|
|
||||||
middle_click_paste = false,
|
|
||||||
key_press_enables_dpms = true,
|
|
||||||
mouse_move_enables_dpms = true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.config({
|
|
||||||
cursor ={
|
|
||||||
no_hardware_cursors = 1,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
hl.config({
|
|
||||||
cursor ={
|
|
||||||
default_monitor = "BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
if USER == "honney" then
|
|
||||||
hl.config({
|
|
||||||
quirks ={
|
|
||||||
prefer_hdr = 0,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
else
|
|
||||||
hl.config({
|
|
||||||
quirks ={
|
|
||||||
prefer_hdr = 0,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- hl.config({
|
|
||||||
-- debug={
|
|
||||||
-- full_cm_proto = true,
|
|
||||||
-- }
|
|
||||||
-- })
|
|
||||||
|
|
||||||
-- Kvantum
|
|
||||||
hl.env("KVANTUM_THEME", "ColloidDark")
|
|
||||||
|
|
||||||
-- GTK
|
|
||||||
hl.env("GTK_THEME", "Colloid-Dark")
|
|
||||||
hl.env("GTK_ICON_THEME", "BeautyLine-Garuda")
|
|
||||||
hl.env("GTK_THEME_VARIANT", "dark")
|
|
||||||
|
|
||||||
-- Cursor
|
|
||||||
hl.env("HYPRCURSOR_THEME", "RosePine")
|
|
||||||
hl.env("HYPRCURSOR_SIZE", "36")
|
|
||||||
hl.env("XCURSOR_THEME", "RosePine")
|
|
||||||
hl.env("XCURSOR_SIZE", "36")
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
-- Recommended command for getting class/..:
|
|
||||||
-- sleep 2 && hyprctl activewindow
|
|
||||||
|
|
||||||
if HOSTNAME == "honney-main" then
|
|
||||||
--# Window rules on Monitor 3
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Librewolf",
|
|
||||||
match = {
|
|
||||||
class = ".*librewolf.*"
|
|
||||||
},
|
|
||||||
workspace = "30 silent"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Mozilla Thunderbird",
|
|
||||||
match = {
|
|
||||||
class = ".*Thunderbird.*"
|
|
||||||
},
|
|
||||||
workspace = "31 silent"
|
|
||||||
})
|
|
||||||
--# Window rules on Monitor 4
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Discord",
|
|
||||||
match = {
|
|
||||||
class = ".*discord.*"
|
|
||||||
},
|
|
||||||
workspace = "4 silent"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Signal",
|
|
||||||
match = {
|
|
||||||
class = ".*signal.*"
|
|
||||||
},
|
|
||||||
workspace = "4"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Nextcloud",
|
|
||||||
match = {
|
|
||||||
class = ".*nextcloud.*"
|
|
||||||
},
|
|
||||||
workspace = "40"
|
|
||||||
})
|
|
||||||
elseif HOSTNAME == "hp-laptop" then
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Discord",
|
|
||||||
match = {
|
|
||||||
class = ".*discord.*"
|
|
||||||
},
|
|
||||||
workspace = "4 silent"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Signal",
|
|
||||||
match = {
|
|
||||||
class = ".*signal.*"
|
|
||||||
},
|
|
||||||
workspace = "4"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Nextcloud",
|
|
||||||
match = {
|
|
||||||
class = ".*nextcloud.*"
|
|
||||||
},
|
|
||||||
workspace = "40"
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-- Videos
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Youtube",
|
|
||||||
match = {
|
|
||||||
title = ".*YouTube — .*"
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "video"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Crunchyroll",
|
|
||||||
match = {
|
|
||||||
title = ".*Crunchyroll — .*"
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "video"
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Fladder",
|
|
||||||
match = {
|
|
||||||
class = ".*fladder.*"
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "video"
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Images
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Viewnior",
|
|
||||||
match = {
|
|
||||||
class = "viewnior"
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "image"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Gimp",
|
|
||||||
match = {
|
|
||||||
class = "gimp"
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "image"
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Games
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Steam Games",
|
|
||||||
match = {
|
|
||||||
class = "steam_app.*",
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "game"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Eden",
|
|
||||||
match = {
|
|
||||||
class = ".*eden.*",
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "game"
|
|
||||||
})
|
|
||||||
hl.window_rule({
|
|
||||||
name = "Minecraft",
|
|
||||||
match = {
|
|
||||||
class = ".*Minecraft.*",
|
|
||||||
},
|
|
||||||
no_dim = true,
|
|
||||||
content = "game"
|
|
||||||
})
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
if HOSTNAME == "honney-main" then
|
|
||||||
--# Workspaces on Monitor 1
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "1",
|
|
||||||
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
default = true,
|
|
||||||
layout = "scrolling",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "10",
|
|
||||||
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "11",
|
|
||||||
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "12",
|
|
||||||
monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
--# Workspaces on Monitor 2
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "2",
|
|
||||||
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
default = true,
|
|
||||||
layout = "scrolling",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "20",
|
|
||||||
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "21",
|
|
||||||
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "22",
|
|
||||||
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
--# Workspaces on Monitor 3
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "3",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
|
||||||
default = true,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "30",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "31",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "32",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
--# Workspaces on Monitor 4
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "4",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
|
||||||
default = true,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "40",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "41",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "42",
|
|
||||||
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
|
|
||||||
default = false,
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
elseif HOSTNAME == "arch" then
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "1",
|
|
||||||
monitor = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "2",
|
|
||||||
monitor = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "3",
|
|
||||||
monitor = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "4",
|
|
||||||
monitor = "desc:AOC CU34G2XP 1Q1R4HA002436",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "5",
|
|
||||||
monitor = "desc:AOC 24G1WG4 0x0001A57A",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "6",
|
|
||||||
monitor = "desc:AOC 24G1WG4 0x0001A57A",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "7",
|
|
||||||
monitor = "desc:AOC 24G1WG4 0x0001A57A",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "8",
|
|
||||||
monitor = "desc:AOC 24G1WG4 0x0001A57A",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
else
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "1",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "2",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "3",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
hl.workspace_rule({
|
|
||||||
workspace = "4",
|
|
||||||
persistent = true
|
|
||||||
})
|
|
||||||
end
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Needs To start first
|
||||||
|
exec-once = hypridle
|
||||||
|
exec-once = hyprpaper
|
||||||
|
# now via:
|
||||||
|
exec-once = bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'
|
||||||
|
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
|
exec-once = sleep 2 && hyprctl reload
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# bind = modifier (win/shift/alt/CTRL), other_button, exec, command
|
||||||
|
# bind = $mod SHIFT, 1, movetoworkspace, 1
|
||||||
|
|
||||||
|
# Umlaute / German compatability on english Keyboard
|
||||||
|
bind = $mod, a, exec, wtype "ä"
|
||||||
|
bind = $mod SHIFT, a, exec, wtype "Ä"
|
||||||
|
bind = $mod, o, exec, wtype "ö"
|
||||||
|
bind = $mod SHIFT, o, exec, wtype "Ö"
|
||||||
|
bind = $mod, u, exec, wtype "ü"
|
||||||
|
bind = $mod SHIFT, u, exec, wtype "Ü"
|
||||||
|
bind = $mod, s, exec, wtype "ß"
|
||||||
|
bind = $mod SHIFT, e, exec, wtype "€"
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
ACTIVE_COLOR = 0xFFFF0000
|
|
||||||
INACTIVE_COLOR = 0xFF0000FF
|
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
general {
|
||||||
|
hide_cursor = true
|
||||||
|
no_fade_in = false
|
||||||
|
grace = 0
|
||||||
|
disable_loading_bar = true
|
||||||
|
}
|
||||||
|
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = ~/Pictures/Wallpapers/Static/blurred.jpg
|
||||||
|
blur_passes = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- time --
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo "$(date +"%H:%M")"
|
||||||
|
color = 0xFFceca75
|
||||||
|
font_size = 80
|
||||||
|
font_family = JetBrains Mono ExtraBold
|
||||||
|
position = 0, 140
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- quote --
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = - PAIN IS REAL, BUT SO IS HOPE -
|
||||||
|
color = 0xFFa5d0bb
|
||||||
|
font_size = 12
|
||||||
|
font_family = JetBrains Mono ExtraLight
|
||||||
|
position = 0, 80
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- greeting --
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = Heya $USER :3
|
||||||
|
color = 0xFFceca75
|
||||||
|
font_size = 20
|
||||||
|
font_family = JetBrains Mono Light
|
||||||
|
position = 0, 0
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- password input --
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 230, 40
|
||||||
|
outline_thickness = 0
|
||||||
|
dots_size = 0.2
|
||||||
|
dots_spacing = 0.4
|
||||||
|
dots_center = true
|
||||||
|
inner_color = 0xFF4b4900
|
||||||
|
font_color = 0xFFceca75
|
||||||
|
fade_on_empty = false
|
||||||
|
placeholder_text = unlock the magic...
|
||||||
|
fail_color = 0xFFffb4ab
|
||||||
|
hide_input = false
|
||||||
|
position = 0, -50
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
wallpaper {
|
wallpaper {
|
||||||
monitor = *
|
monitor = *
|
||||||
path = /home/honney/Pictures/Wallpapers/japan_old_emperor_stream_with_bridge.png
|
path = /home/honney/Pictures/Wallpapers/Japanes_tempel_dark.png
|
||||||
fit_mode = cover
|
fit_mode = cover
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
follow_mouse = 1
|
||||||
|
touchpad {
|
||||||
|
disable_while_typing = false
|
||||||
|
natural_scroll = true
|
||||||
|
scroll_factor = 0.15
|
||||||
|
tap-and-drag = true
|
||||||
|
}
|
||||||
|
sensitivity = 0 # -1.0 to 1.0; 0 means no modification.
|
||||||
|
numlock_by_default = true
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
monitor=,preferred,auto,auto
|
||||||
|
|
||||||
|
# Getting monitor info:
|
||||||
|
# hyprctl monitors -j
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# monitorv2 {
|
||||||
|
# output = desc:BNQ BenQ EX2710U Y8P00876019
|
||||||
|
# mode = 3840x2160@144
|
||||||
|
# position = 0x0
|
||||||
|
# scale = 1
|
||||||
|
# bitdepth = 10
|
||||||
|
# supports_hdr = 1
|
||||||
|
# transform = 0
|
||||||
|
# supports_wide_color = 1
|
||||||
|
# sdr_min_luminance = 1000
|
||||||
|
# sdr_max_luminance = 400
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# monitor = desc:LG Electronics LG ULTRAFINE 503NTKF3L437, 3840x2160@60, 0x-2160, 1, transform, 2, bitdepth, 10, cm, wide
|
||||||
|
#
|
||||||
|
# monitor = desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65, 1920x1080@144, -1920x-1080, 1, transform, 2
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# To get monitor names: hyprctl monitors -j
|
||||||
|
#
|
||||||
|
# To get the class/name: hyprctl clients -j | jq '.[] | select(.workspace.id == ID_OF_THE_WORKSPACE)'
|
||||||
|
# hyprctl clients -j | jq '.[] | select(.workspace.id == )'
|
||||||
|
#
|
||||||
|
# To enable scrolling
|
||||||
|
# workspace = 1, monitor:desc:BNQ BenQ EX2710U Y8P00876019, layout:scrolling, layoutopt:direction:right
|
||||||
|
#
|
||||||
|
# to put a specific workspace on a monitor
|
||||||
|
# workspace = 3, monitor:desc:LG Electronics LG ULTRAFINE 503NTKF3L437
|
||||||
|
#
|
||||||
|
# How to set windowrules:
|
||||||
|
# windowrule {
|
||||||
|
# name = Discord
|
||||||
|
# match:class = .*discord.*
|
||||||
|
# workspace = 4
|
||||||
|
# }
|
||||||
@@ -1,10 +1,3 @@
|
|||||||
# listener {
|
|
||||||
# timeout = 200
|
|
||||||
# on-timeout = notify-send -u low "You are idle!"
|
|
||||||
# on-resume = notify-send -u low "Welcome back!"
|
|
||||||
# ignore_inhibit = true
|
|
||||||
# }
|
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 300
|
timeout = 300
|
||||||
on-timeout = hyprlock
|
on-timeout = hyprlock
|
||||||
@@ -12,9 +5,6 @@ listener {
|
|||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 360
|
timeout = 360
|
||||||
on-timeout = hyprctl dispatch "hl.dsp.dpms({action = 'off'})"
|
on-timeout = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --off "$o"; done'
|
||||||
on-resume = hyprctl dispatch "hl.dsp.dpms({action = 'on'})"
|
on-resume = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --on "$o"; done'
|
||||||
# alternative:
|
|
||||||
# on-timeout = wlopm --off '*'
|
|
||||||
# on-resume = wlopm --on '*'
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# _____ __ __ _____ _____ __ _____ _____ ____
|
||||||
|
# | | | | | _ | __ | | | _ | | | \
|
||||||
|
# | |_ _| __| -| |__| | | | | | |
|
||||||
|
# |__|__| |_| |__| |__|__|_____|__|__|_|___|____/
|
||||||
|
#
|
||||||
|
# by Bina & edited by Honney
|
||||||
|
|
||||||
|
# -- programs --
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = nautilus# nemo # put your preffered fileManager here, choose keybind
|
||||||
|
$menu = wofi --show drun, run
|
||||||
|
|
||||||
|
# including all the sub configs
|
||||||
|
source = ~/.config/hypr/config/*
|
||||||
|
source = ~/.config/hypr/user_config/*
|
||||||
|
|
||||||
|
debug:disable_logs=false
|
||||||
|
debug:gl_debugging=true
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
require("config/hostname")
|
|
||||||
require("config/color")
|
|
||||||
require("config/bind")
|
|
||||||
require("config/env")
|
|
||||||
require("config/theme")
|
|
||||||
require("config/autostart")
|
|
||||||
require("config/monitor")
|
|
||||||
require("config/input")
|
|
||||||
require("config/workspacerules")
|
|
||||||
require("config/windowrules")
|
|
||||||
@@ -1,132 +1,36 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||||
|
WALLPAPER_DIR=$(scripts/install/wallpaper_dir.sh)
|
||||||
|
|
||||||
# ----------------------------
|
copy_missing() {
|
||||||
# UI helpers
|
local dest="$1"
|
||||||
# ----------------------------
|
local filename
|
||||||
info() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
filename="$(basename "$dest")"
|
||||||
ok() { echo -e "\033[1;32m[ OK ]\033[0m $*"; }
|
local src="$SCRIPT_DIR/examples/$filename.example"
|
||||||
warn() { echo -e "\033[1;33m[WARN]\033[0m $*"; }
|
|
||||||
fail() { echo -e "\033[1;31m[FAIL]\033[0m $*"; }
|
|
||||||
|
|
||||||
# ----------------------------
|
if [ -e "$dest" ]; then
|
||||||
# Packages
|
echo "Already exists: $dest"
|
||||||
# ----------------------------
|
else
|
||||||
REQUIRED_PKGS=(
|
echo "Creating: $dest"
|
||||||
hyprland-qt-support
|
cp "$src" "$dest"
|
||||||
hyprcursor
|
fi
|
||||||
hypridle
|
|
||||||
hyprlock
|
|
||||||
libnotify
|
|
||||||
jq
|
|
||||||
inetutils
|
|
||||||
tmux
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
)
|
|
||||||
|
|
||||||
OPTIONAL_PKGS=(
|
|
||||||
hyprpaper "Wallpaper daemon" OFF
|
|
||||||
carla "Audio plugin host" OFF
|
|
||||||
gnome-keyring "Secrets management" OFF
|
|
||||||
curl "HTTP requests" OFF
|
|
||||||
wofi "Launcher" OFF
|
|
||||||
kitty "Terminal" OFF
|
|
||||||
nautilus "File manager" OFF
|
|
||||||
wtype "Typing tool" OFF
|
|
||||||
ydotool "Input automation" OFF
|
|
||||||
imagemagick "Image tools" OFF
|
|
||||||
playerctl "Media control" OFF
|
|
||||||
wlopm "Monitor power" OFF
|
|
||||||
satty "Screenshot editor" OFF
|
|
||||||
oxipng "PNG compressor" OFF
|
|
||||||
matugen "Theme generator" OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
# ----------------------------
|
|
||||||
# Optional selection (ONLY whiptail use)
|
|
||||||
# ----------------------------
|
|
||||||
command -v whiptail &>/dev/null || {
|
|
||||||
fail "whiptail is required for selection"
|
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
info "Selecting optional packages..."
|
if [ ! -d "$SCRIPT_DIR/user_config" ]; then
|
||||||
SELECTED=$(whiptail --title "Optional Packages" --checklist \
|
mkdir "$SCRIPT_DIR/user_config"
|
||||||
"Select extras to install:" 18 70 10 \
|
echo "$SCRIPT_DIR/user_config created"
|
||||||
"${OPTIONAL_PKGS[@]}" \
|
|
||||||
3>&1 1>&2 2>&3) || {
|
|
||||||
fail "Cancelled"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
OPT_ARGS=()
|
|
||||||
[[ -n "${SELECTED:-}" ]] && eval "OPT_ARGS=($SELECTED)"
|
|
||||||
|
|
||||||
ok "Selection complete"
|
|
||||||
|
|
||||||
# ----------------------------
|
|
||||||
# Config setup
|
|
||||||
# ----------------------------
|
|
||||||
info "Preparing config files..."
|
|
||||||
|
|
||||||
mkdir -p "$SCRIPT_DIR/scripts/autostart"
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/scripts/autostart/workspace" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/workspace.example" "$SCRIPT_DIR/scripts/autostart/workspace"
|
|
||||||
ok "workspace config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/hyprlock.conf" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/hyprlock.conf.example" "$SCRIPT_DIR/hyprlock.conf"
|
|
||||||
ok "hyprlock config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/hyprpaper.conf" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/hyprpaper.conf.example" "$SCRIPT_DIR/hyprpaper.conf"
|
|
||||||
ok "hyprpaper config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
|
||||||
ok "color config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
|
||||||
ok "color config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ ! -f "$SCRIPT_DIR/config/color.lua" ]] && {
|
|
||||||
cp "$SCRIPT_DIR/examples/color.lua.example" "$SCRIPT_DIR/config/color.lua"
|
|
||||||
ok "color config created"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ----------------------------
|
|
||||||
# Install
|
|
||||||
# ----------------------------
|
|
||||||
info "Updating system..."
|
|
||||||
sudo pacman -Syu --noconfirm
|
|
||||||
ok "System updated"
|
|
||||||
|
|
||||||
info "Installing required packages..."
|
|
||||||
sudo pacman -S --needed --noconfirm "${REQUIRED_PKGS[@]}"
|
|
||||||
ok "Required packages installed"
|
|
||||||
|
|
||||||
if [[ ${#OPT_ARGS[@]} -gt 0 ]]; then
|
|
||||||
info "Installing optional packages..."
|
|
||||||
sudo pacman -S --needed --noconfirm "${OPT_ARGS[@]}"
|
|
||||||
ok "Optional packages installed"
|
|
||||||
else
|
else
|
||||||
warn "No optional packages selected"
|
echo "$SCRIPT_DIR/user_config exists"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------
|
copy_missing "$SCRIPT_DIR/user_config/monitor.conf"
|
||||||
# Done
|
copy_missing "$SCRIPT_DIR/user_config/input.conf"
|
||||||
# ----------------------------
|
copy_missing "$SCRIPT_DIR/user_config/workspace.conf"
|
||||||
echo
|
copy_missing "$SCRIPT_DIR/scripts/autostart/workspace"
|
||||||
ok "Setup complete"
|
copy_missing "$SCRIPT_DIR/user_config/bind.conf"
|
||||||
info "Restart Hyprland to apply changes"
|
copy_missing "$SCRIPT_DIR/user_config/input.conf"
|
||||||
|
copy_missing "$SCRIPT_DIR/hyprlock.conf"
|
||||||
|
copy_missing "$SCRIPT_DIR/hyprpaper.conf"
|
||||||
|
copy_missing "$SCRIPT_DIR/config/autostart.conf"
|
||||||
|
|
||||||
|
echo "The script will now install dependencies via pacman"
|
||||||
|
sudo pacman -S --needed hyprland-qt-support hyprcursor hypridle hyprlock hypridle
|
||||||
@@ -14,26 +14,518 @@
|
|||||||
<BeatsPerMinute>120</BeatsPerMinute>
|
<BeatsPerMinute>120</BeatsPerMinute>
|
||||||
</Transport>
|
</Transport>
|
||||||
|
|
||||||
<!-- Simple Low Pass Filter -->
|
<!-- LSP Mixer x8 Stereo -->
|
||||||
<Plugin>
|
<Plugin>
|
||||||
<Info>
|
<Info>
|
||||||
<Type>LADSPA</Type>
|
<Type>LV2</Type>
|
||||||
<Name>Simple Low Pass Filter</Name>
|
<Name>LSP Mixer x8 Stereo</Name>
|
||||||
<Binary>/usr/lib/ladspa/filter.so</Binary>
|
<URI>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo</URI>
|
||||||
<Label>lpf</Label>
|
|
||||||
<UniqueID>1041</UniqueID>
|
|
||||||
</Info>
|
</Info>
|
||||||
|
|
||||||
<Data>
|
<Data>
|
||||||
<Active>Yes</Active>
|
<Active>Yes</Active>
|
||||||
<ControlChannel>1</ControlChannel>
|
<ControlChannel>1</ControlChannel>
|
||||||
<Options>0x0</Options>
|
<Options>0x1</Options>
|
||||||
|
|
||||||
<Parameter>
|
<Parameter>
|
||||||
<Index>0</Index>
|
<Index>0</Index>
|
||||||
<Name>Cutoff Frequency</Name>
|
<Name>Enabled</Name>
|
||||||
<Value>0.00916666630655527</Value>
|
<Symbol>enabled</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
</Parameter>
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>1</Index>
|
||||||
|
<Name>Mono output</Name>
|
||||||
|
<Symbol>mono</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>2</Index>
|
||||||
|
<Name>Output balance</Name>
|
||||||
|
<Symbol>bal</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>3</Index>
|
||||||
|
<Name>Dry amount</Name>
|
||||||
|
<Symbol>dry</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>4</Index>
|
||||||
|
<Name>Wet amount</Name>
|
||||||
|
<Symbol>wet</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>5</Index>
|
||||||
|
<Name>Output gain</Name>
|
||||||
|
<Symbol>g_out</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>10</Index>
|
||||||
|
<Name>Channel solo 1</Name>
|
||||||
|
<Symbol>cs_1</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>11</Index>
|
||||||
|
<Name>Channel mute 1</Name>
|
||||||
|
<Symbol>cm_1</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>12</Index>
|
||||||
|
<Name>Channel phase invert 1</Name>
|
||||||
|
<Symbol>ci_1</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>13</Index>
|
||||||
|
<Name>Channel pan left 1</Name>
|
||||||
|
<Symbol>cp_1l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>14</Index>
|
||||||
|
<Name>Channel pan right 1</Name>
|
||||||
|
<Symbol>cp_1r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>15</Index>
|
||||||
|
<Name>Channel output balance 1</Name>
|
||||||
|
<Symbol>cb_1</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>16</Index>
|
||||||
|
<Name>Channel gain 1</Name>
|
||||||
|
<Symbol>cg_1</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>19</Index>
|
||||||
|
<Name>Channel solo 2</Name>
|
||||||
|
<Symbol>cs_2</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>20</Index>
|
||||||
|
<Name>Channel mute 2</Name>
|
||||||
|
<Symbol>cm_2</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>21</Index>
|
||||||
|
<Name>Channel phase invert 2</Name>
|
||||||
|
<Symbol>ci_2</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>22</Index>
|
||||||
|
<Name>Channel pan left 2</Name>
|
||||||
|
<Symbol>cp_2l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>23</Index>
|
||||||
|
<Name>Channel pan right 2</Name>
|
||||||
|
<Symbol>cp_2r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>24</Index>
|
||||||
|
<Name>Channel output balance 2</Name>
|
||||||
|
<Symbol>cb_2</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>25</Index>
|
||||||
|
<Name>Channel gain 2</Name>
|
||||||
|
<Symbol>cg_2</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>28</Index>
|
||||||
|
<Name>Channel solo 3</Name>
|
||||||
|
<Symbol>cs_3</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>29</Index>
|
||||||
|
<Name>Channel mute 3</Name>
|
||||||
|
<Symbol>cm_3</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>30</Index>
|
||||||
|
<Name>Channel phase invert 3</Name>
|
||||||
|
<Symbol>ci_3</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>31</Index>
|
||||||
|
<Name>Channel pan left 3</Name>
|
||||||
|
<Symbol>cp_3l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>32</Index>
|
||||||
|
<Name>Channel pan right 3</Name>
|
||||||
|
<Symbol>cp_3r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>33</Index>
|
||||||
|
<Name>Channel output balance 3</Name>
|
||||||
|
<Symbol>cb_3</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>34</Index>
|
||||||
|
<Name>Channel gain 3</Name>
|
||||||
|
<Symbol>cg_3</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>37</Index>
|
||||||
|
<Name>Channel solo 4</Name>
|
||||||
|
<Symbol>cs_4</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>38</Index>
|
||||||
|
<Name>Channel mute 4</Name>
|
||||||
|
<Symbol>cm_4</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>39</Index>
|
||||||
|
<Name>Channel phase invert 4</Name>
|
||||||
|
<Symbol>ci_4</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>40</Index>
|
||||||
|
<Name>Channel pan left 4</Name>
|
||||||
|
<Symbol>cp_4l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>41</Index>
|
||||||
|
<Name>Channel pan right 4</Name>
|
||||||
|
<Symbol>cp_4r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>42</Index>
|
||||||
|
<Name>Channel output balance 4</Name>
|
||||||
|
<Symbol>cb_4</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>43</Index>
|
||||||
|
<Name>Channel gain 4</Name>
|
||||||
|
<Symbol>cg_4</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>46</Index>
|
||||||
|
<Name>Channel solo 5</Name>
|
||||||
|
<Symbol>cs_5</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>47</Index>
|
||||||
|
<Name>Channel mute 5</Name>
|
||||||
|
<Symbol>cm_5</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>48</Index>
|
||||||
|
<Name>Channel phase invert 5</Name>
|
||||||
|
<Symbol>ci_5</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>49</Index>
|
||||||
|
<Name>Channel pan left 5</Name>
|
||||||
|
<Symbol>cp_5l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>50</Index>
|
||||||
|
<Name>Channel pan right 5</Name>
|
||||||
|
<Symbol>cp_5r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>51</Index>
|
||||||
|
<Name>Channel output balance 5</Name>
|
||||||
|
<Symbol>cb_5</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>52</Index>
|
||||||
|
<Name>Channel gain 5</Name>
|
||||||
|
<Symbol>cg_5</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>55</Index>
|
||||||
|
<Name>Channel solo 6</Name>
|
||||||
|
<Symbol>cs_6</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>56</Index>
|
||||||
|
<Name>Channel mute 6</Name>
|
||||||
|
<Symbol>cm_6</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>57</Index>
|
||||||
|
<Name>Channel phase invert 6</Name>
|
||||||
|
<Symbol>ci_6</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>58</Index>
|
||||||
|
<Name>Channel pan left 6</Name>
|
||||||
|
<Symbol>cp_6l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>59</Index>
|
||||||
|
<Name>Channel pan right 6</Name>
|
||||||
|
<Symbol>cp_6r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>60</Index>
|
||||||
|
<Name>Channel output balance 6</Name>
|
||||||
|
<Symbol>cb_6</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>61</Index>
|
||||||
|
<Name>Channel gain 6</Name>
|
||||||
|
<Symbol>cg_6</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>64</Index>
|
||||||
|
<Name>Channel solo 7</Name>
|
||||||
|
<Symbol>cs_7</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>65</Index>
|
||||||
|
<Name>Channel mute 7</Name>
|
||||||
|
<Symbol>cm_7</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>66</Index>
|
||||||
|
<Name>Channel phase invert 7</Name>
|
||||||
|
<Symbol>ci_7</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>67</Index>
|
||||||
|
<Name>Channel pan left 7</Name>
|
||||||
|
<Symbol>cp_7l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>68</Index>
|
||||||
|
<Name>Channel pan right 7</Name>
|
||||||
|
<Symbol>cp_7r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>69</Index>
|
||||||
|
<Name>Channel output balance 7</Name>
|
||||||
|
<Symbol>cb_7</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>70</Index>
|
||||||
|
<Name>Channel gain 7</Name>
|
||||||
|
<Symbol>cg_7</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>73</Index>
|
||||||
|
<Name>Channel solo 8</Name>
|
||||||
|
<Symbol>cs_8</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>74</Index>
|
||||||
|
<Name>Channel mute 8</Name>
|
||||||
|
<Symbol>cm_8</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>75</Index>
|
||||||
|
<Name>Channel phase invert 8</Name>
|
||||||
|
<Symbol>ci_8</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>76</Index>
|
||||||
|
<Name>Channel pan left 8</Name>
|
||||||
|
<Symbol>cp_8l</Symbol>
|
||||||
|
<Value>-100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>77</Index>
|
||||||
|
<Name>Channel pan right 8</Name>
|
||||||
|
<Symbol>cp_8r</Symbol>
|
||||||
|
<Value>100</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>78</Index>
|
||||||
|
<Name>Channel output balance 8</Name>
|
||||||
|
<Symbol>cb_8</Symbol>
|
||||||
|
<Value>0</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>79</Index>
|
||||||
|
<Name>Channel gain 8</Name>
|
||||||
|
<Symbol>cg_8</Symbol>
|
||||||
|
<Value>1</Value>
|
||||||
|
</Parameter>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#send</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#return</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_1</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_2</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_3</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_4</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_5</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_6</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_7</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#String</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/ports#ret_8</Key>
|
||||||
|
<Value></Value>
|
||||||
|
</CustomData>
|
||||||
|
|
||||||
|
<CustomData>
|
||||||
|
<Type>http://lv2plug.in/ns/ext/atom#Object</Type>
|
||||||
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x8_stereo/preset_state</Key>
|
||||||
|
<Value>AAAAAFMAAABUAAAAAAAAAAEAAAARAAAAAAAAAAAAAABVAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABWAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
||||||
|
</CustomData>
|
||||||
</Data>
|
</Data>
|
||||||
</Plugin>
|
</Plugin>
|
||||||
|
|
||||||
@@ -229,43 +721,50 @@
|
|||||||
<CustomData>
|
<CustomData>
|
||||||
<Type>http://lv2plug.in/ns/ext/atom#Object</Type>
|
<Type>http://lv2plug.in/ns/ext/atom#Object</Type>
|
||||||
<Key>http://lsp-plug.in/plugins/lv2/mixer_x4_mono/preset_state</Key>
|
<Key>http://lsp-plug.in/plugins/lv2/mixer_x4_mono/preset_state</Key>
|
||||||
<Value>AAAAAFUAAABWAAAAAAAAAAEAAAARAAAAAAAAAAAAAABXAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABYAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
<Value>AAAAAFMAAABUAAAAAAAAAAEAAAARAAAAAAAAAAAAAABVAAAAAAAAAAQAAAAHAAAAAAAAAAAAAABWAAAAAAAAAAQAAAAHAAAAAAAAAAAAAAA=</Value>
|
||||||
</CustomData>
|
</CustomData>
|
||||||
</Data>
|
</Data>
|
||||||
</Plugin>
|
</Plugin>
|
||||||
|
|
||||||
|
<!-- Simple Low Pass Filter -->
|
||||||
|
<Plugin>
|
||||||
|
<Info>
|
||||||
|
<Type>LADSPA</Type>
|
||||||
|
<Name>Simple Low Pass Filter</Name>
|
||||||
|
<Binary>/usr/lib/ladspa/filter.so</Binary>
|
||||||
|
<Label>lpf</Label>
|
||||||
|
<UniqueID>1041</UniqueID>
|
||||||
|
</Info>
|
||||||
|
|
||||||
|
<Data>
|
||||||
|
<Active>Yes</Active>
|
||||||
|
<ControlChannel>1</ControlChannel>
|
||||||
|
<Options>0x0</Options>
|
||||||
|
|
||||||
|
<Parameter>
|
||||||
|
<Index>0</Index>
|
||||||
|
<Name>Cutoff Frequency</Name>
|
||||||
|
<Value>0.00916666630655527</Value>
|
||||||
|
</Parameter>
|
||||||
|
</Data>
|
||||||
|
</Plugin>
|
||||||
|
|
||||||
<ExternalPatchbay>
|
<ExternalPatchbay>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
<Source>GoXLR Chat Mic:capture_FL</Source>
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FL</Target>
|
<Target>WEBRTC VoiceEngine:input_FL</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
<Source>GoXLR Chat Mic:capture_FR</Source>
|
||||||
<Target>LSP Mixer x4 Mono:Input</Target>
|
<Target>WEBRTC VoiceEngine:input_FR</Target>
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>GoXLR Stream Mix 1:capture_FL</Source>
|
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_RL</Target>
|
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FR</Target>
|
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
|
||||||
<Target>LSP Mixer x4 Mono:Audio input 1</Target>
|
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>GoXLR Stream Mix 1:capture_FR</Source>
|
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_RR</Target>
|
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>GoXLR 0:capture_AUX0</Source>
|
<Source>GoXLR 0:capture_AUX0</Source>
|
||||||
<Target>Split GoXLR Stream Mix 1:input_AUX0</Target>
|
<Target>Split GoXLR Broadcast Stream Mix:input_AUX0</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>GoXLR 0:capture_AUX1</Source>
|
<Source>GoXLR 0:capture_AUX1</Source>
|
||||||
<Target>Split GoXLR Stream Mix 1:input_AUX1</Target>
|
<Target>Split GoXLR Broadcast Stream Mix:input_AUX1</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>GoXLR 0:capture_AUX2</Source>
|
<Source>GoXLR 0:capture_AUX2</Source>
|
||||||
@@ -292,28 +791,20 @@
|
|||||||
<Target>GoXLR Utility:input_FR</Target>
|
<Target>GoXLR Utility:input_FR</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Split GoXLR System:output_AUX0</Source>
|
<Source>GoXLR Broadcast Stream Mix:capture_FL</Source>
|
||||||
<Target>GoXLR 0:playback_AUX0</Target>
|
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input left 2</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Split GoXLR System:output_AUX1</Source>
|
<Source>GoXLR Broadcast Stream Mix:capture_FR</Source>
|
||||||
<Target>GoXLR 0:playback_AUX1</Target>
|
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input right 2</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Split GoXLR Game:output_AUX2</Source>
|
<Source>Family 17h/19h/1ah HD Audio Controller Analog Stereo:capture_FL</Source>
|
||||||
<Target>GoXLR 0:playback_AUX2</Target>
|
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input left 1</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Split GoXLR Game:output_AUX3</Source>
|
<Source>Family 17h/19h/1ah HD Audio Controller Analog Stereo:capture_FR</Source>
|
||||||
<Target>GoXLR 0:playback_AUX3</Target>
|
<Target>Carla.226/LSP Mixer x8 Stereo:Audio input right 1</Target>
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>Split GoXLR Music:output_AUX6</Source>
|
|
||||||
<Target>GoXLR 0:playback_AUX6</Target>
|
|
||||||
</Connection>
|
|
||||||
<Connection>
|
|
||||||
<Source>Split GoXLR Music:output_AUX7</Source>
|
|
||||||
<Target>GoXLR 0:playback_AUX7</Target>
|
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Split GoXLR Sample:output_AUX8</Source>
|
<Source>Split GoXLR Sample:output_AUX8</Source>
|
||||||
@@ -332,16 +823,52 @@
|
|||||||
<Target>GoXLR 0:playback_AUX5</Target>
|
<Target>GoXLR 0:playback_AUX5</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Simple Low Pass Filter:Output</Source>
|
<Source>Split GoXLR Music:output_AUX6</Source>
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_LFE</Target>
|
<Target>GoXLR 0:playback_AUX6</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>LSP Mixer x4 Mono:Output</Source>
|
<Source>Split GoXLR Music:output_AUX7</Source>
|
||||||
<Target>Simple Low Pass Filter:Input</Target>
|
<Target>GoXLR 0:playback_AUX7</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>LSP Mixer x4 Mono:Output</Source>
|
<Source>Split GoXLR Game:output_AUX2</Source>
|
||||||
<Target>Ryzen HD Audio Controller Analog Surround 5.1:playback_FC</Target>
|
<Target>GoXLR 0:playback_AUX2</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Split GoXLR Game:output_AUX3</Source>
|
||||||
|
<Target>GoXLR 0:playback_AUX3</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Split GoXLR System:output_AUX0</Source>
|
||||||
|
<Target>GoXLR 0:playback_AUX0</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Split GoXLR System:output_AUX1</Source>
|
||||||
|
<Target>GoXLR 0:playback_AUX1</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x8 Stereo:Output L</Source>
|
||||||
|
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FL</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x8 Stereo:Output L</Source>
|
||||||
|
<Target>Carla.226/LSP Mixer x4 Mono:Audio input 1</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x8 Stereo:Output R</Source>
|
||||||
|
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FR</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x8 Stereo:Output R</Source>
|
||||||
|
<Target>Carla.226/LSP Mixer x4 Mono:Audio input 2</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>WEBRTC VoiceEngine:output_FL</Source>
|
||||||
|
<Target>GoXLR Chat:playback_FL</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>WEBRTC VoiceEngine:output_FR</Source>
|
||||||
|
<Target>GoXLR Chat:playback_FR</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
<Connection>
|
<Connection>
|
||||||
<Source>Floorp:output_FL</Source>
|
<Source>Floorp:output_FL</Source>
|
||||||
@@ -351,78 +878,96 @@
|
|||||||
<Source>Floorp:output_FR</Source>
|
<Source>Floorp:output_FR</Source>
|
||||||
<Target>GoXLR System:playback_FR</Target>
|
<Target>GoXLR System:playback_FR</Target>
|
||||||
</Connection>
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x4 Mono:Output</Source>
|
||||||
|
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_FC</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/LSP Mixer x4 Mono:Output</Source>
|
||||||
|
<Target>Carla.226/Simple Low Pass Filter:Input</Target>
|
||||||
|
</Connection>
|
||||||
|
<Connection>
|
||||||
|
<Source>Carla.226/Simple Low Pass Filter:Output</Source>
|
||||||
|
<Target>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1:playback_LFE</Target>
|
||||||
|
</Connection>
|
||||||
<Positions>
|
<Positions>
|
||||||
<Position x1="1119" y1="629">
|
<Position x1="1105" y1="1578">
|
||||||
<Name>GoXLR Chat Mic</Name>
|
<Name>GoXLR Chat Mic</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1447" y1="1476">
|
<Position x1="1034" y1="538" x2="1909" y2="1027">
|
||||||
<Name>GoXLR Stream Mix 1</Name>
|
|
||||||
</Position>
|
|
||||||
<Position x1="198" y1="1207" x2="1501" y2="777">
|
|
||||||
<Name>GoXLR 0</Name>
|
<Name>GoXLR 0</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="575" y1="828">
|
<Position x1="1155" y1="1705">
|
||||||
<Name>GoXLR Sampler</Name>
|
<Name>GoXLR Sampler</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="925" x2="2136" y2="1570">
|
<Position x1="1463" y1="881">
|
||||||
<Name>Ryzen HD Audio Controller Analog Stereo</Name>
|
<Name>GoXLR Broadcast Stream Mix</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="999">
|
<Position x1="1446" y1="1290" x2="2257" y2="1128">
|
||||||
<Name>Split GoXLR System</Name>
|
<Name>Family 17h/19h/1ah HD Audio Controller Analog Stereo</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1073">
|
<Position x1="1301" y1="1233">
|
||||||
<Name>Split GoXLR Game</Name>
|
|
||||||
</Position>
|
|
||||||
<Position x1="1119" y1="1147">
|
|
||||||
<Name>Split GoXLR Music</Name>
|
|
||||||
</Position>
|
|
||||||
<Position x1="1119" y1="1221">
|
|
||||||
<Name>Split GoXLR Sample</Name>
|
<Name>Split GoXLR Sample</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1295">
|
<Position x1="1300" y1="1081">
|
||||||
<Name>Split GoXLR Chat</Name>
|
<Name>Split GoXLR Chat</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1369">
|
<Position x1="1299" y1="1151">
|
||||||
|
<Name>Split GoXLR Music</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1300" y1="1012">
|
||||||
|
<Name>Split GoXLR Game</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1308" y1="946">
|
||||||
|
<Name>Split GoXLR System</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1241" y1="1586">
|
||||||
|
<Name>WEBRTC VoiceEngine</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1277" y1="1360">
|
||||||
|
<Name>Floorp</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1447" y1="1333">
|
||||||
<Name>GoXLR System</Name>
|
<Name>GoXLR System</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1443">
|
<Position x1="1447" y1="1407">
|
||||||
<Name>GoXLR Game</Name>
|
|
||||||
</Position>
|
|
||||||
<Position x1="1119" y1="1517">
|
|
||||||
<Name>GoXLR Music</Name>
|
|
||||||
</Position>
|
|
||||||
<Position x1="1119" y1="1591">
|
|
||||||
<Name>GoXLR Sample</Name>
|
<Name>GoXLR Sample</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1665">
|
<Position x1="1447" y1="1629">
|
||||||
<Name>GoXLR Chat</Name>
|
<Name>GoXLR Chat</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="835" y1="1844" x2="2058" y2="1445">
|
<Position x1="1447" y1="1481">
|
||||||
<Name>Ryzen HD Audio Controller Analog Surround 5.1</Name>
|
<Name>GoXLR Music</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1731">
|
<Position x1="1447" y1="1555">
|
||||||
<Name>Split GoXLR Chat Mic</Name>
|
<Name>GoXLR Game</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1731">
|
<Position x1="1870" y1="1977" x2="2544" y2="1278">
|
||||||
<Name>Split GoXLR Stream Mix 1</Name>
|
<Name>Family 17h/19h/1ah HD Audio Controller Analog Surround 5.1</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1731">
|
<Position x1="1426" y1="401">
|
||||||
<Name>Split GoXLR Sampler</Name>
|
<Name>Split GoXLR Sampler</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="528" y1="1184" x2="2132" y2="1931">
|
<Position x1="1413" y1="489">
|
||||||
|
<Name>Split GoXLR Chat Mic</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1424" y1="307">
|
||||||
|
<Name>Split GoXLR Broadcast Stream Mix</Name>
|
||||||
|
</Position>
|
||||||
|
<Position x1="1447" y1="1769" x2="1952" y2="2357">
|
||||||
<Name>Midi-Bridge</Name>
|
<Name>Midi-Bridge</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1119" y1="1731" x2="1840" y2="2042">
|
<Position x1="1447" y1="1769" x2="1843" y2="1769">
|
||||||
<Name>BLE MIDI 1</Name>
|
<Name>BLE MIDI 1</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1825" y1="1600" pluginId="0">
|
<Position x1="1874" y1="1252" pluginId="0">
|
||||||
<Name>Simple Low Pass Filter</Name>
|
<Name>Carla.226/LSP Mixer x8 Stereo</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="1621" y1="1544" pluginId="1">
|
<Position x1="2211" y1="1377" pluginId="1">
|
||||||
<Name>LSP Mixer x4 Mono</Name>
|
<Name>Carla.226/LSP Mixer x4 Mono</Name>
|
||||||
</Position>
|
</Position>
|
||||||
<Position x1="783" y1="825">
|
<Position x1="2476" y1="1444" pluginId="2">
|
||||||
<Name>GoXLR Utility</Name>
|
<Name>Carla.226/Simple Low Pass Filter</Name>
|
||||||
</Position>
|
</Position>
|
||||||
</Positions>
|
</Positions>
|
||||||
</ExternalPatchbay>
|
</ExternalPatchbay>
|
||||||
|
|||||||
@@ -8,4 +8,4 @@
|
|||||||
killall carla
|
killall carla
|
||||||
|
|
||||||
# start new session
|
# start new session
|
||||||
tmux new-session -d -s carla '~/.config/hypr/scripts/audio/1Player.carxp'
|
nohup carla -n ~/.config/hypr/scripts/audio/1Player.carxp &
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
killall carla
|
killall carla
|
||||||
|
|
||||||
# start new session
|
# start new session
|
||||||
tmux new-session -d -s carla '~/.config/hypr/scripts/audio/2Player.carxp'
|
nohup carla -n ~/.config/hypr/scripts/audio/2Player.carxp &
|
||||||
|
|||||||
@@ -87,9 +87,7 @@ while true; do
|
|||||||
|
|
||||||
echo "[INFO] Found $CLASS -> $WIN (workspace $WORKSPACE)"
|
echo "[INFO] Found $CLASS -> $WIN (workspace $WORKSPACE)"
|
||||||
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({workspace = \"$WORKSPACE\", follow = false, window = \"address:$WIN\"})"
|
hyprctl dispatch movetoworkspacesilent "$WORKSPACE,address:$WIN"
|
||||||
# echo "hyprctl dispatch 'hl.dsp.window.move({workspace = \"$WORKSPACE\", follow = false, window = \"address:$WIN\"})'"
|
|
||||||
# hyprctl dispatch movetoworkspacesilent "$WORKSPACE,address:$WIN"
|
|
||||||
|
|
||||||
DONE["$CLASS"]=1
|
DONE["$CLASS"]=1
|
||||||
done
|
done
|
||||||
@@ -102,18 +100,7 @@ while true; do
|
|||||||
sleep 0.5
|
sleep 0.5
|
||||||
done
|
done
|
||||||
|
|
||||||
for i in 4 3 2 1; do
|
hyprctl dispatch workspace 4
|
||||||
echo "hyprctl dispatch \"hl.dsp.focus({workspace = \"$i\"})\""
|
hyprctl dispatch workspace 3
|
||||||
hyprctl dispatch "hl.dsp.focus({workspace = \"$i\"})"
|
hyprctl dispatch workspace 2
|
||||||
#echo "hyprctl dispatch workspace \"$i\""
|
hyprctl dispatch workspace 1
|
||||||
#hyprctl dispatch workspace "$i"
|
|
||||||
|
|
||||||
if [ "$i" -eq 3 ]; then
|
|
||||||
sleep 0.5
|
|
||||||
echo "R"
|
|
||||||
wtype "R"
|
|
||||||
sleep 0.5
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# tmux new-session -d -s qs 'sleep 4 && quickshell'
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
BASE=$1
|
|
||||||
ACTION=$2
|
|
||||||
|
|
||||||
case $BASE in
|
|
||||||
1) GROUP="1 10 11 12" ;;
|
|
||||||
2) GROUP="2 20 21 22" ;;
|
|
||||||
3) GROUP="3 30 31 32" ;;
|
|
||||||
4) GROUP="4 40 41 42" ;;
|
|
||||||
*) exit 1 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
CURRENT=$(hyprctl activeworkspace -j 2>/dev/null | jq '.id')
|
|
||||||
|
|
||||||
NEXT=""
|
|
||||||
FOUND=0
|
|
||||||
for WS in $GROUP; do
|
|
||||||
if [ "$FOUND" = "1" ]; then
|
|
||||||
NEXT=$WS
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
[ "$WS" = "$CURRENT" ] && FOUND=1
|
|
||||||
done
|
|
||||||
if [ -z "$NEXT" ] && [ "$FOUND" = "1" ]; then
|
|
||||||
NEXT=$(echo "$GROUP" | awk '{print $1}')
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$NEXT" ]; then
|
|
||||||
for WS in $GROUP; do
|
|
||||||
[ "$WS" = "$BASE" ] && continue
|
|
||||||
for MWS in $(hyprctl monitors -j 2>/dev/null | jq '.[].activeWorkspace.id'); do
|
|
||||||
if [ "$WS" = "$MWS" ]; then
|
|
||||||
NEXT=$WS
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
[ -z "$NEXT" ] && NEXT=$BASE
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $ACTION in
|
|
||||||
focus)
|
|
||||||
hyprctl dispatch "hl.dsp.focus({ workspace = \"$NEXT\" })"
|
|
||||||
;;
|
|
||||||
move)
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({ workspace = \"$NEXT\", follow = false })"
|
|
||||||
;;
|
|
||||||
move_follow)
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({ workspace = \"$NEXT\", follow = true })"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Source the functions file
|
# Source the functions file
|
||||||
notify-send --app-name "GOXLR client" --icon "goxlr-utility" -u normal "Starting" "GoXLR inteface is starting"
|
notify-send "GoXLR inteface is starting"
|
||||||
|
|
||||||
|
# nohup goxlr-daemon &
|
||||||
sleep 10
|
sleep 10
|
||||||
goxlr-client profiles device load 'Default'
|
goxlr-client profiles device load 'Default'
|
||||||
notify-send --app-name "GOXLR client" --icon "goxlr-utility" -u normal "Started" "GoXLR start complete"
|
notify-send "GoXLR start complete"
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Source the functions file
|
||||||
|
source "$HOME/.config/function_helper.sh"
|
||||||
|
|
||||||
SCRIPT="goxlr-daemon"
|
SCRIPT="goxlr-daemon"
|
||||||
SCRIPT2="$HOME/.config/hypr/scripts/goxlr/goxlr-settings-start.sh"
|
SCRIPT2="$HOME/.config/hypr/scripts/goxlr/goxlr-settings-start.sh"
|
||||||
|
|
||||||
tmux new-session -d -s goxlr "$SCRIPT" &
|
nohup "$SCRIPT" &
|
||||||
notify-send --app-name "GOXLR daemon" --icon "goxlr-utility" -u normal "Started" "Launched the GOXLR Daemon to control the Audio"
|
send_notification "normal" "GOXLR daemon Started" "Launched the GOXLR Daemon to control the Audio" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/goxlr-utility.svg"
|
||||||
"$SCRIPT2"
|
nohup "$SCRIPT2" &
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
[ -f /sys/class/power_supply/BAT0/type ] || exit 1
|
|
||||||
type=$(</sys/class/power_supply/BAT0/type)
|
|
||||||
[ "$type" != "Battery" ] && exit 1
|
|
||||||
|
|
||||||
cap=$(</sys/class/power_supply/BAT0/capacity)
|
|
||||||
stat=$(</sys/class/power_supply/BAT0/status)
|
|
||||||
|
|
||||||
if [ "$stat" = "Discharging" ]; then
|
|
||||||
printf " %s%%" "$cap"
|
|
||||||
elif [ "$stat" = "Charging" ]; then
|
|
||||||
printf " %s%%" "$cap"
|
|
||||||
elif [ "$stat" = "Full" ]; then
|
|
||||||
printf " %s%%" "Full"
|
|
||||||
else
|
|
||||||
printf ""
|
|
||||||
fi
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
s=$(cut -d. -f1 /proc/uptime)
|
|
||||||
h=$((s / 3600))
|
|
||||||
m=$(((s % 3600) / 60))
|
|
||||||
printf " %02d:%02dh" "$h" "$m"
|
|
||||||
@@ -20,7 +20,6 @@ fi
|
|||||||
|
|
||||||
# Focus Discord
|
# Focus Discord
|
||||||
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
||||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
|
|
||||||
|
|
||||||
# Give it a moment to receive focus
|
# Give it a moment to receive focus
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
@@ -32,7 +31,6 @@ wtype -M ctrl -M shift -k M -m shift -m ctrl
|
|||||||
if [ -n "$ACTIVE_WIN" ]; then
|
if [ -n "$ACTIVE_WIN" ]; then
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
||||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl notify 1 500 0 "Row 1, Colums 1"
|
hyprctl notify 1 500 0 "Row 1, Colums 1"
|
||||||
@@ -7,4 +7,4 @@ source "$HOME/.config/function_helper.sh"
|
|||||||
|
|
||||||
send_notification "low" "Pressed Makropad Button" "Row 1, Colums 4" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
send_notification "low" "Pressed Makropad Button" "Row 1, Colums 4" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
||||||
|
|
||||||
~/.config/hypr/scripts/makropad/writing/todo.sh
|
~/.config/hypr/scripts/writing/todo.sh
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ fi
|
|||||||
|
|
||||||
# Focus the Discord window
|
# Focus the Discord window
|
||||||
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
||||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
|
|
||||||
|
|
||||||
# Give Discord time to focus
|
# Give Discord time to focus
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
@@ -34,7 +33,6 @@ wtype -M ctrl -M shift -k D -m shift -m ctrl
|
|||||||
if [ -n "$ACTIVE_WIN" ]; then
|
if [ -n "$ACTIVE_WIN" ]; then
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
||||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add shared script Functions
|
# Add shared script Functions
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ source "$HOME/.config/function_helper.sh"
|
|||||||
|
|
||||||
send_notification "low" "Pressed Makropad Button" "Row 2, Colums 4 (08)" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
send_notification "low" "Pressed Makropad Button" "Row 2, Colums 4 (08)" "$HOME/.icons/BeautyLine-Garuda/apps/scalable/keyboard.svg"
|
||||||
|
|
||||||
~/.config/hypr/scripts/makropad/writing/tmdb.sh
|
~/.config/hypr/scripts/writing/tmdb.sh
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -x
|
|
||||||
|
|
||||||
tmdbid() {
|
|
||||||
local type q url
|
|
||||||
type="$1"
|
|
||||||
shift
|
|
||||||
|
|
||||||
q=$(printf '%s' "$*" | jq -sRr @uri)
|
|
||||||
echo "tmdbid: type=$type encoded query: $q" >&2
|
|
||||||
|
|
||||||
if [ "$type" = "tv" ]; then
|
|
||||||
url="https://www.themoviedb.org/search/tv?query=$q"
|
|
||||||
else
|
|
||||||
url="https://www.themoviedb.org/search/movie?query=$q"
|
|
||||||
fi
|
|
||||||
echo "tmdbid: url: $url" >&2
|
|
||||||
|
|
||||||
local result
|
|
||||||
result=$(curl -sL -A 'Mozilla/5.0' "$url" \
|
|
||||||
| grep -oE '/(movie|tv)/[0-9]+' \
|
|
||||||
| head -1 \
|
|
||||||
| cut -d/ -f3)
|
|
||||||
echo "tmdbid: result: $result" >&2
|
|
||||||
echo "$result"
|
|
||||||
}
|
|
||||||
|
|
||||||
clean_title() {
|
|
||||||
local s="$1"
|
|
||||||
echo "clean_title: input: $s" >&2
|
|
||||||
|
|
||||||
s=$(echo "$s" | sed -E 's/ *\([^)]*[0-9]{4}[^)]*\)//')
|
|
||||||
echo "clean_title: after year removal: $s" >&2
|
|
||||||
|
|
||||||
s="${s//ä/ae}"; s="${s//ö/oe}"; s="${s//ü/ue}"
|
|
||||||
s="${s//Ä/Ae}"; s="${s//Ö/Oe}"; s="${s//Ü/Ue}"
|
|
||||||
echo "clean_title: after umlauts: $s" >&2
|
|
||||||
|
|
||||||
s=$(echo "$s" | tr -d '0-9')
|
|
||||||
echo "clean_title: after number removal: $s" >&2
|
|
||||||
|
|
||||||
s=$(echo "$s" | tr -cd '[:alpha:] [:space:]')
|
|
||||||
echo "clean_title: after special char removal: $s" >&2
|
|
||||||
|
|
||||||
s=$(echo "$s" | tr -s ' ')
|
|
||||||
echo "clean_title: final: $s" >&2
|
|
||||||
|
|
||||||
echo "$s"
|
|
||||||
}
|
|
||||||
|
|
||||||
ws="${1:-3}"
|
|
||||||
|
|
||||||
title=$(hyprctl clients -j | jq ".[] | select(.workspace.id == $ws)" | grep "The Movie Database" | sed 's/ — The Movie Database.*//' | sed 's/ "title": "//' | sed 's/"$//')
|
|
||||||
echo "title: $title" >&2
|
|
||||||
|
|
||||||
search_title=$(echo "$title" | sed -E 's/ *\([^)]*\) *//g')
|
|
||||||
echo "search_title: $search_title" >&2
|
|
||||||
|
|
||||||
if echo "$title" | grep -qi "TV [Ss]eries"; then
|
|
||||||
type="tv"
|
|
||||||
else
|
|
||||||
type="movie"
|
|
||||||
fi
|
|
||||||
echo "detected type: $type" >&2
|
|
||||||
|
|
||||||
tmdbid=$(tmdbid "$type" "$search_title")
|
|
||||||
echo "tmdbid: $tmdbid" >&2
|
|
||||||
|
|
||||||
if [ -z "$tmdbid" ]; then
|
|
||||||
if [ "$type" = "tv" ]; then
|
|
||||||
echo "retrying as movie" >&2
|
|
||||||
tmdbid=$(tmdbid "movie" "$search_title")
|
|
||||||
else
|
|
||||||
echo "retrying as tv" >&2
|
|
||||||
tmdbid=$(tmdbid "tv" "$search_title")
|
|
||||||
fi
|
|
||||||
echo "tmdbid (retry): $tmdbid" >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $title =~ ([0-9]{4}) ]]; then
|
|
||||||
year="${BASH_REMATCH[1]}"
|
|
||||||
else
|
|
||||||
year=""
|
|
||||||
fi
|
|
||||||
echo "year: $year" >&2
|
|
||||||
|
|
||||||
clean=$(clean_title "$title")
|
|
||||||
echo "clean: $clean" >&2
|
|
||||||
|
|
||||||
result="$clean ($year) [tmdb-$tmdbid]"
|
|
||||||
echo "final wtype input: $result" >&2
|
|
||||||
|
|
||||||
wtype "$result"
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
tmdbid() {
|
|
||||||
local type q url
|
|
||||||
type="$1"
|
|
||||||
shift
|
|
||||||
|
|
||||||
q=$(printf '%s' "$*" | jq -sRr @uri)
|
|
||||||
|
|
||||||
if [ "$type" = "tv" ]; then
|
|
||||||
url="https://www.themoviedb.org/search/tv?query=$q"
|
|
||||||
else
|
|
||||||
url="https://www.themoviedb.org/search/movie?query=$q"
|
|
||||||
fi
|
|
||||||
|
|
||||||
curl -sL -A 'Mozilla/5.0' "$url" \
|
|
||||||
| grep -oE '/(movie|tv)/[0-9]+' \
|
|
||||||
| head -1 \
|
|
||||||
| cut -d/ -f3
|
|
||||||
}
|
|
||||||
|
|
||||||
clean_title() {
|
|
||||||
local s="$1"
|
|
||||||
|
|
||||||
# remove (year) or (TV Series year) style parentheses
|
|
||||||
s=$(echo "$s" | sed -E 's/ *\([^)]*[0-9]{4}[^)]*\)//')
|
|
||||||
|
|
||||||
# umlaut replacement
|
|
||||||
s="${s//ä/ae}"; s="${s//ö/oe}"; s="${s//ü/ue}"
|
|
||||||
s="${s//Ä/Ae}"; s="${s//Ö/Oe}"; s="${s//Ü/Ue}"
|
|
||||||
|
|
||||||
# remove all numbers
|
|
||||||
s=$(echo "$s" | tr -d '0-9')
|
|
||||||
|
|
||||||
# remove special characters except spaces and letters
|
|
||||||
s=$(echo "$s" | tr -cd '[:alpha:] [:space:]')
|
|
||||||
|
|
||||||
# clean extra spaces
|
|
||||||
s=$(echo "$s" | tr -s ' ')
|
|
||||||
|
|
||||||
echo "$s"
|
|
||||||
}
|
|
||||||
|
|
||||||
ws="${1:-3}"
|
|
||||||
|
|
||||||
title=$(hyprctl clients -j | jq ".[] | select(.workspace.id == $ws)" | grep "The Movie Database" | sed 's/ — The Movie Database.*//' | sed 's/ "title": "//' | sed 's/"$//')
|
|
||||||
|
|
||||||
search_title=$(echo "$title" | sed -E 's/ *\([^)]*\) *//g')
|
|
||||||
|
|
||||||
if echo "$title" | grep -qi "TV [Ss]eries"; then
|
|
||||||
type="tv"
|
|
||||||
else
|
|
||||||
type="movie"
|
|
||||||
fi
|
|
||||||
|
|
||||||
tmdbid=$(tmdbid "$type" "$search_title")
|
|
||||||
|
|
||||||
if [ -z "$tmdbid" ]; then
|
|
||||||
if [ "$type" = "tv" ]; then
|
|
||||||
tmdbid=$(tmdbid "movie" "$search_title")
|
|
||||||
else
|
|
||||||
tmdbid=$(tmdbid "tv" "$search_title")
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $title =~ ([0-9]{4}) ]]; then
|
|
||||||
year="${BASH_REMATCH[1]}"
|
|
||||||
else
|
|
||||||
year=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
clean=$(clean_title "$title")
|
|
||||||
|
|
||||||
wtype "$clean ($year) [tmdb-$tmdbid]"
|
|
||||||
@@ -3,51 +3,17 @@
|
|||||||
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
||||||
###
|
###
|
||||||
|
|
||||||
time=$(date +%Y-%m-%d-%H%M%S)
|
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||||
|
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||||
file="Screenshot_${time}.png"
|
file="Screenshot_${time}_${geometry}.png"
|
||||||
|
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|
||||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
# Take screenshot of selected region using hyprshot
|
||||||
geometry=$(slurp) || exit 1
|
hyprshot -m region -o "$dir" -f "$file"
|
||||||
|
|
||||||
# Capture region, save it and copy to clipboard
|
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||||
grim -g "$geometry" "$dir/$file" || exit 1
|
# if command -v swappy >/dev/null 2>&1; then
|
||||||
wl-copy -t image/png < "$dir/$file"
|
# swappy -f "$dir/$file"
|
||||||
|
# fi
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
|
||||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Area" "Screenshot saved $file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Open the editor if satty is available (blocks until it is closed).
|
|
||||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
|
||||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
|
||||||
# decorations, with the pen preselected and moved over the captured area.
|
|
||||||
if command -v satty >/dev/null 2>&1; then
|
|
||||||
x=$(cut -d, -f1 <<< "$geometry")
|
|
||||||
y=$(cut -d, -f2 <<< "$geometry" | cut -d' ' -f1)
|
|
||||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
|
||||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
|
||||||
--floating-hack --no-window-decoration --initial-tool brush &
|
|
||||||
pid=$!
|
|
||||||
for _ in $(seq 1 20); do
|
|
||||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
|
||||||
[ -n "$addr" ] && break
|
|
||||||
sleep 0.1
|
|
||||||
done
|
|
||||||
if [ -n "$addr" ]; then
|
|
||||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
|
||||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
|
||||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
wait "$pid"
|
|
||||||
wl-copy -t image/png < "$dir/$file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compress the resulting image in the background if oxipng is available
|
|
||||||
if command -v oxipng >/dev/null 2>&1; then
|
|
||||||
oxipng --strip safe -o 4 "$dir/$file" &
|
|
||||||
fi
|
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
###
|
###
|
||||||
### ~/.config/hypr/scripts/screenshot/screenshot_area_2.sh
|
### ~/.config/hypr/scripts/screenshot/screenshot_area.sh
|
||||||
###
|
###
|
||||||
|
|
||||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||||
geometry=$(slurp) || exit 1
|
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||||
|
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||||
|
file="Screenshot_${time}_${geometry}.png"
|
||||||
|
|
||||||
# Capture region and copy to clipboard only
|
mkdir -p "$dir"
|
||||||
grim -g "$geometry" - | wl-copy -t image/png
|
|
||||||
|
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
# Take screenshot of selected region using hyprshot
|
||||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Area" "Screenshot copied to clipboard"
|
hyprshot -m region -o "$dir" -f "$file" --clipboard-only
|
||||||
fi
|
|
||||||
@@ -3,52 +3,17 @@
|
|||||||
### ~/.config/hypr/scripts/screenshot/screenshot_monitor.sh
|
### ~/.config/hypr/scripts/screenshot/screenshot_monitor.sh
|
||||||
###
|
###
|
||||||
|
|
||||||
time=$(date +%Y-%m-%d-%H%M%S)
|
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||||
|
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||||
|
file="Screenshot_${time}_${geometry}.png"
|
||||||
monitor=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | .name')
|
|
||||||
[ -n "$monitor" ] || exit 1
|
|
||||||
|
|
||||||
file="Screenshot_${time}_${monitor}.png"
|
|
||||||
|
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|
||||||
# Capture the focused monitor, save it and copy to clipboard
|
# Take screenshot of selected region using hyprshot
|
||||||
grim -o "$monitor" "$dir/$file" || exit 1
|
hyprshot -m output -o "$dir" -f "$file"
|
||||||
wl-copy -t image/png < "$dir/$file"
|
|
||||||
|
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Monitor" "Screenshot saved $file"
|
# if command -v swappy >/dev/null 2>&1; then
|
||||||
fi
|
# swappy -f "$dir/$file"
|
||||||
|
# fi
|
||||||
# Open the editor if satty is available (blocks until it is closed).
|
|
||||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
|
||||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
|
||||||
# decorations, with the pen preselected and moved over the captured area.
|
|
||||||
if command -v satty >/dev/null 2>&1; then
|
|
||||||
x=$(hyprctl monitors -j | jq -r --arg m "$monitor" '.[] | select(.name == $m) | .x')
|
|
||||||
y=$(hyprctl monitors -j | jq -r --arg m "$monitor" '.[] | select(.name == $m) | .y')
|
|
||||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
|
||||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
|
||||||
--floating-hack --no-window-decoration --initial-tool brush &
|
|
||||||
pid=$!
|
|
||||||
for _ in $(seq 1 20); do
|
|
||||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
|
||||||
[ -n "$addr" ] && break
|
|
||||||
sleep 0.1
|
|
||||||
done
|
|
||||||
if [ -n "$addr" ]; then
|
|
||||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
|
||||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
|
||||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
wait "$pid"
|
|
||||||
wl-copy -t image/png < "$dir/$file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compress the resulting image in the background if oxipng is available
|
|
||||||
if command -v oxipng >/dev/null 2>&1; then
|
|
||||||
oxipng --strip safe -o 4 "$dir/$file" &
|
|
||||||
fi
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
###
|
|
||||||
### ~/.config/hypr/scripts/screenshot/ocr_area.sh
|
|
||||||
###
|
|
||||||
|
|
||||||
# Ensure dependencies exist
|
|
||||||
for cmd in slurp grim tesseract wl-copy; do
|
|
||||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
|
||||||
notify-send -a "OCR" -u critical "OCR Error" "Missing required command: $cmd"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Select a region with slurp; exit silently if cancelled (ESC/right-click)
|
|
||||||
geometry=$(slurp) || exit 0
|
|
||||||
|
|
||||||
# Capture region directly from grim, pipe into tesseract, and save stdout to clipboard
|
|
||||||
text=$(grim -g "$geometry" - | tesseract - stdout --psm 6 2>/dev/null)
|
|
||||||
|
|
||||||
# Exit if no text was detected
|
|
||||||
if [ -z "$text" ]; then
|
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
|
||||||
notify-send -a "OCR" -i edit-select-all "OCR Failed" "No text recognized in selected area."
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copy detected text to Wayland clipboard
|
|
||||||
printf "%s" "$text" | wl-copy
|
|
||||||
|
|
||||||
# Notify user of successful extraction
|
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
|
||||||
# Truncate text preview for notification brevity
|
|
||||||
preview=$(echo "$text" | head -n 3)
|
|
||||||
notify-send --app-name "Screenshot" --icon "edit-find" -u normal "OCR" "Text Copied to Clipboard:\n$preview"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Install: sudo pacman -S grim slurp tesseract tesseract-data-eng wl-clipboard libnotify
|
|
||||||
@@ -3,71 +3,17 @@
|
|||||||
### ~/.config/hypr/scripts/screenshot/screenshot_window.sh
|
### ~/.config/hypr/scripts/screenshot/screenshot_window.sh
|
||||||
###
|
###
|
||||||
|
|
||||||
time=$(date +%Y-%m-%d-%H%M%S)
|
time=$(date +%Y-%m-%d-%I-%M-%S)
|
||||||
|
geometry=$(hyprctl monitors -j | jq -r '.[] | select(.focused) | "\(.width)x\(.height)"')
|
||||||
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
dir="$(xdg-user-dir PICTURES)/Screenshots"
|
||||||
file="Screenshot_${time}.png"
|
file="Screenshot_${time}_${geometry}.png"
|
||||||
|
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|
||||||
# Build selection boxes for windows on visible workspaces
|
# Take screenshot of selected region using hyprshot
|
||||||
ids=$(hyprctl monitors -j | jq -c '[.[].activeWorkspace.id]')
|
hyprshot -m window -o "$dir" -f "$file"
|
||||||
boxes=$(hyprctl clients -j | jq -r --argjson ids "$ids" '
|
|
||||||
[.[] | select(.workspace.id | IN($ids[]))] | .[] |
|
|
||||||
"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1]) \(.title)"
|
|
||||||
' | cut -d' ' -f1,2)
|
|
||||||
|
|
||||||
# Let the user pick a window (click the box); exit silently if cancelled
|
# Optional: open in swappy for annotation (since hyprshot doesn't pipe to swappy directly)
|
||||||
geometry=$(slurp -r <<< "$boxes") || exit 1
|
# if command -v swappy >/dev/null 2>&1; then
|
||||||
|
# swappy -f "$dir/$file"
|
||||||
# Expand the selection by border + gap so the capture includes the border
|
# fi
|
||||||
border=$(hyprctl getoption general:border_size -j | jq -r '(.int // 0)')
|
|
||||||
gap=$(hyprctl getoption general:gaps_out -j | jq -r '(.int // 0)')
|
|
||||||
pad=$(( border + gap ))
|
|
||||||
|
|
||||||
geometry=$(awk -v p="$pad" '
|
|
||||||
{
|
|
||||||
split($1, pos, ",");
|
|
||||||
split($2, size, "x");
|
|
||||||
printf "%d,%d %dx%d\n",
|
|
||||||
pos[1] - p, pos[2] - p, size[1] + p * 2, size[2] + p * 2
|
|
||||||
}' <<< "$geometry")
|
|
||||||
|
|
||||||
# Capture the window, save it and copy to clipboard
|
|
||||||
grim -g "$geometry" "$dir/$file" || exit 1
|
|
||||||
wl-copy -t image/png < "$dir/$file"
|
|
||||||
|
|
||||||
if command -v notify-send >/dev/null 2>&1; then
|
|
||||||
notify-send --app-name "Screenshot" --icon "camera-photo" -u normal "Window" "Screenshot saved $file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Open the editor if satty is available (blocks until it is closed).
|
|
||||||
# satty writes the annotated image to --output-filename on Ctrl+s (and on
|
|
||||||
# Esc/Enter here) and exits immediately. It is launched floating, without
|
|
||||||
# decorations, with the pen preselected and moved over the captured area.
|
|
||||||
if command -v satty >/dev/null 2>&1; then
|
|
||||||
x=$(cut -d, -f1 <<< "$geometry")
|
|
||||||
y=$(cut -d, -f2 <<< "$geometry" | cut -d' ' -f1)
|
|
||||||
satty --filename "$dir/$file" --output-filename "$dir/$file" \
|
|
||||||
--copy-command wl-copy --actions-on-escape save-to-file --early-exit \
|
|
||||||
--floating-hack --no-window-decoration --initial-tool brush &
|
|
||||||
pid=$!
|
|
||||||
for _ in $(seq 1 20); do
|
|
||||||
addr=$(hyprctl clients -j 2>/dev/null | jq -r --argjson p "$pid" '.[] | select(.pid == $p) | .address' | head -1)
|
|
||||||
[ -n "$addr" ] && break
|
|
||||||
sleep 0.1
|
|
||||||
done
|
|
||||||
if [ -n "$addr" ]; then
|
|
||||||
# Lua config (Hyprland 0.55+) dispatches through hl.dsp.*, so try
|
|
||||||
# hyprctl eval first, then the raw lua dispatch, then classic syntax.
|
|
||||||
hyprctl eval "hl.dispatch(hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' }))" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch "hl.dsp.window.move({ x = $x, y = $y, window = 'address:$addr' })" >/dev/null 2>&1 ||
|
|
||||||
hyprctl dispatch movewindowpixel "exact $x $y,address:$addr" >/dev/null 2>&1
|
|
||||||
fi
|
|
||||||
wait "$pid"
|
|
||||||
wl-copy -t image/png < "$dir/$file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compress the resulting image in the background if oxipng is available
|
|
||||||
if command -v oxipng >/dev/null 2>&1; then
|
|
||||||
oxipng --strip safe -o 4 "$dir/$file" &
|
|
||||||
fi
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
timeout=50 # 10 seconds max (50 * 0.2s)
|
||||||
|
count=0
|
||||||
|
|
||||||
|
while (( count < timeout )); do
|
||||||
|
# Grab both address and floating status
|
||||||
|
read -r win_addr floating <<< $(hyprctl -j clients | jq -r '.[] | select(.title == "Grayjay") | "\(.address) \(.floating)"')
|
||||||
|
|
||||||
|
if [[ -n "$win_addr" ]]; then
|
||||||
|
# Add 0x prefix if missing
|
||||||
|
if [[ "$win_addr" != 0x* ]]; then
|
||||||
|
win_addr="0x$win_addr"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If the window is floating, toggle to make it tiled
|
||||||
|
if [[ "$floating" == "true" ]]; then
|
||||||
|
hyprctl dispatch togglefloating address:$win_addr
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Move to workspace 2 silently
|
||||||
|
hyprctl dispatch movetoworkspacesilent 2,address:$win_addr
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 0.2
|
||||||
|
((count++))
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Grayjay window not found within timeout." >&2
|
||||||
|
exit 1
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
timeout=50 # 10 seconds max (50 * 0.2s)
|
||||||
|
count=0
|
||||||
|
|
||||||
|
while (( count < timeout )); do
|
||||||
|
win_addr=$(hyprctl clients | awk '
|
||||||
|
/^Window/ { addr=$2 }
|
||||||
|
/title: GoXLR Utility/ { print addr }
|
||||||
|
')
|
||||||
|
|
||||||
|
if [[ -n "$win_addr" ]]; then
|
||||||
|
# Add 0x prefix if missing
|
||||||
|
if [[ "$win_addr" != 0x* ]]; then
|
||||||
|
win_addr="0x$win_addr"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get fullscreen state (1 or 0)
|
||||||
|
fullscreen_state=$(hyprctl clients | awk -v addr="${win_addr#0x}" '
|
||||||
|
$1 == "Window" && $2 == addr { found=1 }
|
||||||
|
found && /^fullscreen:/ { print $2; exit }
|
||||||
|
')
|
||||||
|
|
||||||
|
if [[ "$fullscreen_state" == "1" ]]; then
|
||||||
|
hyprctl dispatch fullscreen address:$win_addr
|
||||||
|
echo "Fullscreen disabled for GoXLR Utility."
|
||||||
|
else
|
||||||
|
echo "GoXLR Utility is not fullscreen."
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 0.2
|
||||||
|
((count++))
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "GoXLR Utility window not found within timeout." >&2
|
||||||
|
exit 1
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/home/honney/.config/hypr/scripts/wallpapers/wallpapers/cherry_river.png
|
||||||
|
After Width: | Height: | Size: 3.0 MiB |
@@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
wallpapers_dir="$HOME/Pictures/Wallpapers/"
|
||||||
|
current_wallpaper=$(cat $wallpapers_dir"/Static/current")
|
||||||
|
|
||||||
|
# Pick a random wallpaper from the directory but not the current_wallpaper
|
||||||
|
image=$(find "$wallpapers_dir" -maxdepth 1 -type f ! -name "$(basename "$current_wallpaper")" | shuf -n 1)
|
||||||
|
|
||||||
|
echo "Image $image"
|
||||||
|
|
||||||
|
# Check if an image was provided
|
||||||
|
if [[ -z "$image" ]]; then
|
||||||
|
echo "Usage: $0 /path/to/image"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -x "/usr/bin/swww-daemon" ]; then
|
||||||
|
echo "swww-daemon exists and is executable"
|
||||||
|
|
||||||
|
# Check if swww daemon is running
|
||||||
|
if ! pgrep -x "swww-daemon" > /dev/null; then
|
||||||
|
echo "Starting swww daemon..."
|
||||||
|
swww-daemon &
|
||||||
|
|
||||||
|
# Give the daemon a moment to start
|
||||||
|
sleep 0.2
|
||||||
|
echo "daemon started"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the wallpaper
|
||||||
|
echo "running"
|
||||||
|
swww img "$image" -t grow --transition-duration 1
|
||||||
|
|
||||||
|
elif [ -x "/usr/bin/hyprpaper" ]; then
|
||||||
|
echo "hyprpaper exists and is executable"
|
||||||
|
|
||||||
|
if ! pgrep -x "hyprpaper" > /dev/null; then
|
||||||
|
echo "Starting hyprpaper daemon..."
|
||||||
|
hyprpaper &
|
||||||
|
|
||||||
|
# Give the daemon a moment to start
|
||||||
|
sleep 0.2
|
||||||
|
echo "daemon started"
|
||||||
|
fi
|
||||||
|
sed -i "3s|path = .*|path = ${image}|" ~/.config/hypr/hyprpaper.conf
|
||||||
|
hyprctl monitors -j | jq -r 'sort_by(.id) | .[].name' | while IFS= read -r display; do
|
||||||
|
hyprctl hyprpaper wallpaper "$display, $image"
|
||||||
|
done
|
||||||
|
echo "set Wallpaper to $image with hyprpaper"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -x "/usr/bin/matugen" ]; then
|
||||||
|
matugen image $image --mode dark --source-color-index 0
|
||||||
|
else
|
||||||
|
cp $HOME/.config/quickshell/colors/example_colors.qml $HOME/.config/quickshell/colors/Colors.qml
|
||||||
|
fi
|
||||||
|
|
||||||
|
### Blured Wallpaper for wlogout
|
||||||
|
blur="50x30"
|
||||||
|
static_wallpaper_dir="$HOME/Pictures/Wallpapers/Static"
|
||||||
|
|
||||||
|
if [ ! -d $static_wallpaper_dir ]; then
|
||||||
|
mkdir -p $static_wallpaper_dir;
|
||||||
|
fi
|
||||||
|
|
||||||
|
current_wallpaper="$static_wallpaper_dir/current"
|
||||||
|
|
||||||
|
echo "$image" > $current_wallpaper
|
||||||
|
|
||||||
|
blurred_wp="$static_wallpaper_dir/blurred.jpg"
|
||||||
|
|
||||||
|
if [ -x "/usr/bin/sddm" ]; then
|
||||||
|
magick $image -blur $blur $blurred_wp
|
||||||
|
else
|
||||||
|
cp $image $blurred_wp
|
||||||
|
fi
|
||||||
|
if [ -x "/usr/bin/sddm" ] && [ -d "/usr/share/backgrounds" ]; then
|
||||||
|
sddm_background="/usr/share/backgrounds/background.jpg"
|
||||||
|
cp "$image" "$sddm_background"
|
||||||
|
fi
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# _ _ _ _____ __ __ _____ _____ _____ _____ _____
|
||||||
|
# | | | | _ | | | | | _ | _ | _ | __| __ |
|
||||||
|
# | | | | | |__| |__| __| | __| __| -|
|
||||||
|
# |_____|__|__|_____|_____|__| |__|__|__| |_____|__|__|
|
||||||
|
#
|
||||||
|
|
||||||
|
current_wp="$HOME/.config/hypr/scripts/wallpapers/current_wallpaper"
|
||||||
|
blurred_wp="$HOME/.config/hypr/scripts/wallpapers/current_wallpaper_blurred.png"
|
||||||
|
wallpapers_dir="$HOME/.config/hypr/scripts/wallpapers/wallpapers"
|
||||||
|
blur="50x30"
|
||||||
|
|
||||||
|
# write path to wp into file
|
||||||
|
if [ ! -f $current_wp ]; then
|
||||||
|
touch $current_wp
|
||||||
|
echo "$HOME/wallpapers/default.png" > "$current_wp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# current wallpaper path
|
||||||
|
current_wallpaper=$(cat "$current_wp")
|
||||||
|
|
||||||
|
# echo "$current_wallpaper"
|
||||||
|
|
||||||
|
wallpapers=$(ls "$wallpapers_dir"/*.png "$wallpapers_dir"/*.jpg 2>/dev/null)
|
||||||
|
|
||||||
|
# Convert the wallpapers list into an array
|
||||||
|
wallpapers_array=($wallpapers)
|
||||||
|
|
||||||
|
# Get the index of the current wallpaper in the array
|
||||||
|
current_index=-1
|
||||||
|
for i in "${!wallpapers_array[@]}"; do
|
||||||
|
if [ "${wallpapers_array[$i]}" == "$current_wallpaper" ]; then
|
||||||
|
current_index=$i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# If current wallpaper is not found in the list, set it to the first wallpaper
|
||||||
|
if [ "$current_index" -eq -1 ]; then
|
||||||
|
current_index=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Determine the next wallpaper (loop back to the start if we're at the end)
|
||||||
|
next_index=$(( (current_index + 1) % ${#wallpapers_array[@]} ))
|
||||||
|
next_wallpaper="${wallpapers_array[$next_index]}"
|
||||||
|
|
||||||
|
# Update the current wallpaper path in the file
|
||||||
|
echo "$next_wallpaper" > "$current_wp"
|
||||||
|
|
||||||
|
# echo "Current wallpaper is now: $next_wallpaper"
|
||||||
|
|
||||||
|
wal -q -i $next_wallpaper
|
||||||
|
|
||||||
|
# launch waybar based on new wallpaper colors
|
||||||
|
source "$HOME/.cache/wal/colors.sh"
|
||||||
|
~/.config/waybar/launch.sh &
|
||||||
|
|
||||||
|
# update soft link to cava colors based on wallpaper colors
|
||||||
|
# (cava needs to manually be restarted)
|
||||||
|
ln -sf "$HOME/.cache/wal/cava-colors" "$HOME/.config/cava/config"
|
||||||
|
|
||||||
|
hyprctl hyprpaper preload "$next_wallpaper"
|
||||||
|
hyprctl hyprpaper wallpaper ", $next_wallpaper"
|
||||||
|
|
||||||
|
# Create Blurred Wallpaper
|
||||||
|
magick $next_wallpaper -resize 3840x2160\! $next_wallpaper
|
||||||
|
echo ":: Resized"
|
||||||
|
echo "Next wallpaper path: $next_wallpaper"
|
||||||
|
echo "Blurred wallpaper path: $blurred_wp"
|
||||||
|
if [ ! "$blur" == "0x0" ] ; then
|
||||||
|
magick $next_wallpaper -blur $blur $blurred_wp
|
||||||
|
echo ":: Blurred"
|
||||||
|
fi
|
||||||
|
After Width: | Height: | Size: 16 MiB |
|
After Width: | Height: | Size: 7.5 MiB |
|
After Width: | Height: | Size: 12 MiB |
|
After Width: | Height: | Size: 14 MiB |
|
After Width: | Height: | Size: 4.5 MiB |
|
After Width: | Height: | Size: 18 MiB |
|
After Width: | Height: | Size: 11 MiB |
|
After Width: | Height: | Size: 5.8 MiB |
|
After Width: | Height: | Size: 10 MiB |
|
After Width: | Height: | Size: 11 MiB |
|
After Width: | Height: | Size: 13 MiB |
|
After Width: | Height: | Size: 9.9 MiB |
|
After Width: | Height: | Size: 10 MiB |
|
After Width: | Height: | Size: 13 MiB |
|
After Width: | Height: | Size: 8.9 MiB |
|
After Width: | Height: | Size: 3.0 MiB |
@@ -0,0 +1 @@
|
|||||||
|
https://wallhaven.cc
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
tmdbid() {
|
||||||
|
local q url
|
||||||
|
|
||||||
|
# encode query safely
|
||||||
|
q=$(printf '%s' "$*" | jq -sRr @uri)
|
||||||
|
|
||||||
|
url="https://www.themoviedb.org/search/movie?query=$q"
|
||||||
|
|
||||||
|
curl -sL -A 'Mozilla/5.0' "$url" \
|
||||||
|
| grep -oE '/movie/[0-9]+' \
|
||||||
|
| head -1 \
|
||||||
|
| cut -d/ -f3
|
||||||
|
}
|
||||||
|
|
||||||
|
clean_title() {
|
||||||
|
local s="$1"
|
||||||
|
|
||||||
|
# remove (year) style parentheses
|
||||||
|
s=$(echo "$s" | sed -E 's/ *\([0-9]{4}\)//')
|
||||||
|
|
||||||
|
# umlaut replacement
|
||||||
|
s="${s//ä/ae}"; s="${s//ö/oe}"; s="${s//ü/ue}"
|
||||||
|
s="${s//Ä/Ae}"; s="${s//Ö/Oe}"; s="${s//Ü/Ue}"
|
||||||
|
|
||||||
|
# remove all numbers
|
||||||
|
s=$(echo "$s" | tr -d '0-9')
|
||||||
|
|
||||||
|
# remove special characters except spaces and letters
|
||||||
|
s=$(echo "$s" | tr -cd '[:alpha:] [:space:]')
|
||||||
|
|
||||||
|
# clean extra spaces
|
||||||
|
s=$(echo "$s" | tr -s ' ')
|
||||||
|
|
||||||
|
echo "$s"
|
||||||
|
}
|
||||||
|
|
||||||
|
title=$(hyprctl clients -j | jq '.[] | select(.workspace.id == 3)' | grep "The Movie Database" | sed 's/ — The Movie Database.*//' | sed 's/ "title": "//g')
|
||||||
|
tmdbid=$(tmdbid "$title")
|
||||||
|
|
||||||
|
year="${title: -6}"
|
||||||
|
|
||||||
|
if [ -z "$tmdbid" ]; then
|
||||||
|
new_title="${title//\ ([0-9][0-9][0-9][0-9])/}"
|
||||||
|
tmdbid=$(tmdbid "$new_title")
|
||||||
|
fi
|
||||||
|
|
||||||
|
clean=$(clean_title "$title")
|
||||||
|
|
||||||
|
wtype "$clean $year [tmdb-$tmdbid]"
|
||||||