Compare commits

33 Commits
Author SHA1 Message Date
Honney d20eff8d97 updates for my laptop 2026-07-29 18:03:12 +02:00
Hannes 864fe79600 fix turning screen off for idle 2026-07-24 16:34:19 +02:00
Honney dd26af0c9d fixed quickshell autostart 2026-07-24 10:05:42 +02:00
Hannes 07a798ac00 mini updates 2026-07-13 17:37:25 +02:00
Hannes 791b34e7e4 added cycling of workspaces for honney-main 2026-07-05 18:24:49 +02:00
Hannes 05a4580e67 added tmux as needed package 2026-07-03 22:39:53 +02:00
Hannes 24738fb313 fixed something for nvidia 2026-07-03 21:55:37 +02:00
Hannes 5cd56c8d82 removed old Wallpaper script stuff 2026-07-03 21:52:17 +02:00
Hannes 8574c73327 added a USER to switch 2026-07-03 21:50:29 +02:00
Hannes 5ed4535e46 changed my hostname 2026-07-03 21:48:06 +02:00
Teo ef2f7bf57c teo workspace rules 2026-07-03 21:34:39 +02:00
Hannes 0dd9bcc2fd added nvidia fixes if needed 2026-07-03 21:33:04 +02:00
Hannes cf61a7fab0 fix blackscreen on fullscreen 2026-07-03 21:26:26 +02:00
Hannes 514574928b allways have 1-4 attached 2026-07-03 19:22:22 +02:00
Hannes 101d9bdbb9 fix 2026-07-02 22:12:28 +02:00
Hannes c8bb3f40c5 updates 2026-07-02 22:11:57 +02:00
Hannes 421b4ca97e updates 2026-07-01 16:40:44 +02:00
Hannes df75a3092a added window rules for mc and eden 2026-06-26 23:10:41 +02:00
Hannes 77be4b9636 fixed some shortcuts 2026-06-26 23:06:50 +02:00
Hannes 5b5ed66cbd fix 2026-06-21 22:08:58 +02:00
Hannes d5a6e992ee Merge remote-tracking branch 'refs/remotes/origin/main' 2026-06-21 19:44:43 +02:00
Hannes d6e82ab45b repairs and added crunchyroll to do not darken 2026-06-21 19:44:36 +02:00
Honney 376b7ef14b added mic mute 2026-06-18 15:21:41 +02:00
Hannes dd07b89fd5 fixes 2026-06-15 23:10:43 +02:00
Hannes 90d1336fc6 updated stuff 2026-06-15 19:50:32 +02:00
Honney 3e0b7a9402 added command to find match 2026-06-15 13:08:13 +02:00
Honney 3f5b981e04 fixed signal windowrules 2026-06-15 13:07:13 +02:00
Hannes 5f9cb74a52 made esc free 2026-06-14 23:59:40 +02:00
Hannes 9754ff2368 fixed windows 2026-06-14 23:40:32 +02:00
Honney fc76cb7b80 repaired scrolling 2026-06-14 23:31:25 +02:00
Honney bbfcf7fad7 fixes of binds and dispatcher 2026-06-14 23:22:06 +02:00
Hannes e37b943e80 removed transparency for inactive 2026-06-14 20:43:55 +02:00
Hannes 610c5de813 update to lua 2026-06-14 18:49:46 +02:00
52 changed files with 1158 additions and 617 deletions
-2
View File
@@ -2,6 +2,4 @@
*.log
hyprlock.conf
hyprpaper.conf
user_config/*
config/autostart.conf
scripts/autostart/workspace
+34
View File
@@ -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)
-92
View File
@@ -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
+119
View File
@@ -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"))
-69
View File
@@ -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. Its 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.
+44
View File
@@ -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
+14
View File
@@ -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
-12
View File
@@ -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
}
-76
View File
@@ -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
}
+178
View File
@@ -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")
-9
View File
@@ -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
-12
View File
@@ -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 "€"
Executable → Regular
-67
View File
@@ -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 -1
View File
@@ -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
}
-16
View File
@@ -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
}
-23
View File
@@ -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
-17
View File
@@ -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
# }
+14 -2
View File
@@ -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.
}
-18
View File
@@ -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
+9
View File
@@ -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")
+105 -28
View File
@@ -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"
+18 -5
View File
@@ -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'
+51
View File
@@ -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
+2
View File
@@ -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"
+2
View File
@@ -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
View File
@@ -1 +0,0 @@
/home/honney/.config/hypr/scripts/wallpapers/wallpapers/cherry_river.png
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

-79
View File
@@ -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
-73
View File
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

-1
View File
@@ -1 +0,0 @@
https://wallhaven.cc
+94
View File
@@ -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"
+34 -11
View File
@@ -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]"
+34
View File
@@ -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
+101
View File
@@ -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
+136
View File
@@ -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"
})
+165
View File
@@ -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