Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d20eff8d97 | ||
|
|
864fe79600 | ||
|
|
dd26af0c9d | ||
|
|
07a798ac00 | ||
|
|
791b34e7e4 | ||
|
|
05a4580e67 | ||
|
|
24738fb313 | ||
|
|
5cd56c8d82 | ||
|
|
8574c73327 | ||
|
|
5ed4535e46 | ||
|
|
ef2f7bf57c | ||
|
|
0dd9bcc2fd | ||
|
|
cf61a7fab0 | ||
|
|
514574928b | ||
|
|
101d9bdbb9 | ||
|
|
c8bb3f40c5 | ||
|
|
421b4ca97e | ||
|
|
df75a3092a | ||
|
|
77be4b9636 | ||
|
|
5b5ed66cbd | ||
|
|
d5a6e992ee | ||
|
|
d6e82ab45b | ||
|
|
376b7ef14b | ||
|
|
dd07b89fd5 | ||
|
|
90d1336fc6 | ||
|
|
3e0b7a9402 | ||
|
|
3f5b981e04 | ||
|
|
5f9cb74a52 | ||
|
|
9754ff2368 | ||
|
|
fc76cb7b80 | ||
|
|
bbfcf7fad7 | ||
|
|
e37b943e80 | ||
|
|
610c5de813 |
@@ -2,6 +2,4 @@
|
||||
*.log
|
||||
hyprlock.conf
|
||||
hyprpaper.conf
|
||||
user_config/*
|
||||
config/autostart.conf
|
||||
scripts/autostart/workspace
|
||||
@@ -0,0 +1,34 @@
|
||||
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("hypridle")
|
||||
hl.exec_cmd("hyprpaper")
|
||||
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/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")
|
||||
elseif HOSTNAME == "honney-opencode" then
|
||||
hl.exec_cmd("tmux new-session -d -s oc 'cd ~/Projects && opencode web --hostname 0.0.0.0 --port 4096'")
|
||||
end
|
||||
|
||||
hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'")
|
||||
end)
|
||||
@@ -1,92 +0,0 @@
|
||||
# -- 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
|
||||
@@ -0,0 +1,119 @@
|
||||
-- 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"))
|
||||
|
||||
-- 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("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"))
|
||||
@@ -1,69 +0,0 @@
|
||||
# /* ---- 💫 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.
|
||||
@@ -0,0 +1,44 @@
|
||||
-- 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
|
||||
@@ -0,0 +1,14 @@
|
||||
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,12 +0,0 @@
|
||||
# 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,76 +0,0 @@
|
||||
$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
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
hl.config({
|
||||
general = {
|
||||
border_size = 2,
|
||||
gaps_in = 5,
|
||||
gaps_out = 8,
|
||||
float_gaps = 0,
|
||||
gaps_workspaces = 0,
|
||||
col = {
|
||||
inactive_border = 0xff00B7EB,
|
||||
active_border = { colors = { "rgba(ff0000ff)", "rgba(ffff00ff)", "rgba(00ff00ff)", "rgba(00ffffff)", "rgba(0000ffff)", "rgba(ff00ffff)" }, angle = 45 },
|
||||
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 = 1,
|
||||
}
|
||||
})
|
||||
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,
|
||||
}
|
||||
})
|
||||
|
||||
hl.config({
|
||||
cursor ={
|
||||
no_hardware_cursors = 1,
|
||||
}
|
||||
})
|
||||
|
||||
if HOSTNAME == "honney-main" then
|
||||
hl.config({
|
||||
cursor ={
|
||||
default_monitor = "BNQ BenQ EX2710U Y8P00876019",
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
hl.config({
|
||||
quirks ={
|
||||
prefer_hdr = 1,
|
||||
}
|
||||
})
|
||||
|
||||
-- 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")
|
||||
|
||||
--
|
||||
hl.env("HYPRCURSOR_THEME", "DJ-FOX-C")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
hl.env("XCURSOR_THEME", "DJ-FOX-C")
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
@@ -1,9 +0,0 @@
|
||||
# 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
|
||||
@@ -1,12 +0,0 @@
|
||||
# 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,67 +0,0 @@
|
||||
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 {
|
||||
monitor = *
|
||||
path = /home/honney/Pictures/Wallpapers/Japanes_tempel_dark.png
|
||||
path = /home/honney/Pictures/Wallpapers/japan_old_emperor_stream_with_bridge.png
|
||||
fit_mode = cover
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
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
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
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
|
||||
@@ -1,17 +0,0 @@
|
||||
# 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
|
||||
# }
|
||||
@@ -3,8 +3,20 @@ listener {
|
||||
on-timeout = hyprlock
|
||||
}
|
||||
|
||||
# listener {
|
||||
# timeout = 360
|
||||
# on-timeout = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --off "$o"; done'
|
||||
# on-resume = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --on "$o"; done'
|
||||
# }
|
||||
|
||||
listener {
|
||||
timeout = 360
|
||||
on-timeout = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --off "$o"; done'
|
||||
on-resume = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --on "$o"; done'
|
||||
on-timeout = hyprctl dispatch "hl.dsp.dpms({action = 'off'})"
|
||||
on-resume = hyprctl dispatch "hl.dsp.dpms({action = 'on'})"
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 250 # in seconds.
|
||||
on-timeout = notify-send "You are idle!" # command to run when timeout has passed.
|
||||
on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# _____ __ __ _____ _____ __ _____ _____ ____
|
||||
# | | | | | _ | __ | | | _ | | | \
|
||||
# | |_ _| __| -| |__| | | | | | |
|
||||
# |__|__| |_| |__| |__|__|_____|__|__|_|___|____/
|
||||
#
|
||||
# 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
|
||||
@@ -0,0 +1,9 @@
|
||||
require("config/hostname")
|
||||
require("config/bind")
|
||||
require("config/env")
|
||||
require("config/theme")
|
||||
require("config/autostart")
|
||||
require("user_config/monitor")
|
||||
require("user_config/input")
|
||||
require("user_config/workspacerules")
|
||||
require("user_config/windowrules")
|
||||
@@ -1,36 +1,113 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
WALLPAPER_DIR=$(scripts/install/wallpaper_dir.sh)
|
||||
|
||||
copy_missing() {
|
||||
local dest="$1"
|
||||
local filename
|
||||
filename="$(basename "$dest")"
|
||||
local src="$SCRIPT_DIR/examples/$filename.example"
|
||||
# ----------------------------
|
||||
# UI helpers
|
||||
# ----------------------------
|
||||
info() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
||||
ok() { echo -e "\033[1;32m[ OK ]\033[0m $*"; }
|
||||
warn() { echo -e "\033[1;33m[WARN]\033[0m $*"; }
|
||||
fail() { echo -e "\033[1;31m[FAIL]\033[0m $*"; }
|
||||
|
||||
if [ -e "$dest" ]; then
|
||||
echo "Already exists: $dest"
|
||||
else
|
||||
echo "Creating: $dest"
|
||||
cp "$src" "$dest"
|
||||
fi
|
||||
# ----------------------------
|
||||
# Packages
|
||||
# ----------------------------
|
||||
REQUIRED_PKGS=(
|
||||
hyprland-qt-support
|
||||
hyprcursor
|
||||
hypridle
|
||||
hyprlock
|
||||
libnotify
|
||||
jq
|
||||
inetutils
|
||||
tmux
|
||||
)
|
||||
|
||||
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
|
||||
hyprshot "Screenshot tool" OFF
|
||||
matugen "Theme generator" OFF
|
||||
)
|
||||
|
||||
# ----------------------------
|
||||
# Optional selection (ONLY whiptail use)
|
||||
# ----------------------------
|
||||
command -v whiptail &>/dev/null || {
|
||||
fail "whiptail is required for selection"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ ! -d "$SCRIPT_DIR/user_config" ]; then
|
||||
mkdir "$SCRIPT_DIR/user_config"
|
||||
echo "$SCRIPT_DIR/user_config created"
|
||||
info "Selecting optional packages..."
|
||||
SELECTED=$(whiptail --title "Optional Packages" --checklist \
|
||||
"Select extras to install:" 18 70 10 \
|
||||
"${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"
|
||||
}
|
||||
|
||||
# ----------------------------
|
||||
# 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
|
||||
echo "$SCRIPT_DIR/user_config exists"
|
||||
warn "No optional packages selected"
|
||||
fi
|
||||
|
||||
copy_missing "$SCRIPT_DIR/user_config/monitor.conf"
|
||||
copy_missing "$SCRIPT_DIR/user_config/input.conf"
|
||||
copy_missing "$SCRIPT_DIR/user_config/workspace.conf"
|
||||
copy_missing "$SCRIPT_DIR/scripts/autostart/workspace"
|
||||
copy_missing "$SCRIPT_DIR/user_config/bind.conf"
|
||||
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
|
||||
# ----------------------------
|
||||
# Done
|
||||
# ----------------------------
|
||||
echo
|
||||
ok "Setup complete"
|
||||
info "Restart Hyprland to apply changes"
|
||||
@@ -87,7 +87,9 @@ while true; do
|
||||
|
||||
echo "[INFO] Found $CLASS -> $WIN (workspace $WORKSPACE)"
|
||||
|
||||
hyprctl dispatch movetoworkspacesilent "$WORKSPACE,address:$WIN"
|
||||
hyprctl dispatch "hl.dsp.window.move({workspace = \"$WORKSPACE\", follow = false, window = \"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
|
||||
@@ -100,7 +102,18 @@ while true; do
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
hyprctl dispatch workspace 4
|
||||
hyprctl dispatch workspace 3
|
||||
hyprctl dispatch workspace 2
|
||||
hyprctl dispatch workspace 1
|
||||
for i in 4 3 2 1; do
|
||||
echo "hyprctl dispatch \"hl.dsp.focus({workspace = \"$i\"})\""
|
||||
hyprctl dispatch "hl.dsp.focus({workspace = \"$i\"})"
|
||||
#echo "hyprctl dispatch workspace \"$i\""
|
||||
#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'
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
#!/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
|
||||
@@ -20,6 +20,7 @@ fi
|
||||
|
||||
# Focus Discord
|
||||
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
|
||||
|
||||
# Give it a moment to receive focus
|
||||
sleep 0.1
|
||||
@@ -31,6 +32,7 @@ wtype -M ctrl -M shift -k M -m shift -m ctrl
|
||||
if [ -n "$ACTIVE_WIN" ]; then
|
||||
sleep 0.1
|
||||
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
|
||||
fi
|
||||
|
||||
hyprctl notify 1 500 0 "Row 1, Colums 1"
|
||||
@@ -22,6 +22,7 @@ fi
|
||||
|
||||
# Focus the Discord window
|
||||
hyprctl dispatch focuswindow address:$DISCORD_WIN
|
||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
|
||||
|
||||
# Give Discord time to focus
|
||||
sleep 0.1
|
||||
@@ -33,6 +34,7 @@ wtype -M ctrl -M shift -k D -m shift -m ctrl
|
||||
if [ -n "$ACTIVE_WIN" ]; then
|
||||
sleep 0.1
|
||||
hyprctl dispatch focuswindow address:$ACTIVE_WIN
|
||||
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
|
||||
fi
|
||||
|
||||
# Add shared script Functions
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/home/honney/.config/hypr/scripts/wallpapers/wallpapers/cherry_river.png
|
||||
|
Before Width: | Height: | Size: 3.0 MiB |
@@ -1,79 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/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
|
||||
|
Before Width: | Height: | Size: 16 MiB |
|
Before Width: | Height: | Size: 7.5 MiB |
|
Before Width: | Height: | Size: 12 MiB |
|
Before Width: | Height: | Size: 14 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 18 MiB |
|
Before Width: | Height: | Size: 11 MiB |
|
Before Width: | Height: | Size: 5.8 MiB |
|
Before Width: | Height: | Size: 10 MiB |
|
Before Width: | Height: | Size: 11 MiB |
|
Before Width: | Height: | Size: 13 MiB |
|
Before Width: | Height: | Size: 9.9 MiB |
|
Before Width: | Height: | Size: 10 MiB |
|
Before Width: | Height: | Size: 13 MiB |
|
Before Width: | Height: | Size: 8.9 MiB |
|
Before Width: | Height: | Size: 3.0 MiB |
@@ -1 +0,0 @@
|
||||
https://wallhaven.cc
|
||||
@@ -0,0 +1,94 @@
|
||||
#!/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,15 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
tmdbid() {
|
||||
local q url
|
||||
local type q url
|
||||
type="$1"
|
||||
shift
|
||||
|
||||
# encode query safely
|
||||
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/[0-9]+' \
|
||||
| grep -oE '/(movie|tv)/[0-9]+' \
|
||||
| head -1 \
|
||||
| cut -d/ -f3
|
||||
}
|
||||
@@ -17,8 +22,8 @@ tmdbid() {
|
||||
clean_title() {
|
||||
local s="$1"
|
||||
|
||||
# remove (year) style parentheses
|
||||
s=$(echo "$s" | sed -E 's/ *\([0-9]{4}\)//')
|
||||
# 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}"
|
||||
@@ -36,16 +41,34 @@ clean_title() {
|
||||
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")
|
||||
ws="${1:-3}"
|
||||
|
||||
year="${title: -6}"
|
||||
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
|
||||
new_title="${title//\ ([0-9][0-9][0-9][0-9])/}"
|
||||
tmdbid=$(tmdbid "$new_title")
|
||||
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]"
|
||||
wtype "$clean ($year) [tmdb-$tmdbid]"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
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
|
||||
@@ -0,0 +1,101 @@
|
||||
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: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,136 @@
|
||||
-- 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"
|
||||
})
|
||||
@@ -0,0 +1,165 @@
|
||||
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
|
||||