Compare commits

..
20 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
38 changed files with 500 additions and 228 deletions
+4 -2
View File
@@ -8,11 +8,11 @@ hl.on("hyprland.start", function ()
hl.exec_cmd("hypridle") hl.exec_cmd("hypridle")
hl.exec_cmd("hyprpaper") hl.exec_cmd("hyprpaper")
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
hl.exec_cmd("tmux new-session -d -s ydotool 'ydotoold'") 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 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 fah 'cd ~/.local/share/fah && fah-client'")
hl.exec_cmd("tmux new-session -d -s carla 'carla -n /home/honney/Downloads/test.carxp'") 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 '~/.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("bash -c 'sleep 2 && ~/.config/hypr/scripts/wallpapers/random_wallpaper.sh > ~/.config/hypr/scripts/wallpapers/random_wallpaper.log'")
@@ -26,6 +26,8 @@ hl.on("hyprland.start", function ()
hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'") hl.exec_cmd("tmux new-session -d -s ollama '/usr/bin/ollama serve'")
hl.exec_cmd("nextcloud") hl.exec_cmd("nextcloud")
hl.exec_cmd("discord") 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 end
hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'") hl.exec_cmd("bash -c '~/.config/hypr/scripts/autostart/autostart.sh > ~/.config/hypr/scripts/autostart/autostart.log'")
+13 -2
View File
@@ -23,10 +23,12 @@ hl.bind("SUPER+L", hl.dsp.exec_cmd(lockscreen), { locked = true })
-- Interacting with Workspaces -- Interacting with Workspaces
for i = 1, 9 do 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+" .. 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+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})) hl.bind("SUPER+SHIFT+" .. tostring(i), hl.dsp.window.move({workspace = tostring(i), follow = true}))
end end
end
hl.bind("SUPER+0", hl.dsp.focus({ workspace = "10" })) 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+CTRL+0", hl.dsp.window.move({workspace = "10", follow = false}))
@@ -90,11 +92,11 @@ hl.bind("SUPER+s", hl.dsp.exec_cmd("wtype \"ß\""))
hl.bind("SUPER+SHIFT+e", hl.dsp.exec_cmd("wtype \"\"")) hl.bind("SUPER+SHIFT+e", hl.dsp.exec_cmd("wtype \"\""))
-- Opening coder -- Opening coder
hl.bind("SUPER+SHIFT+C", hl.dsp.exec_cmd("code")) hl.bind("SUPER+SHIFT+C", hl.dsp.exec_cmd("code --password-store=gnome-libsecret"))
hl.bind("SUPER+SHIFT+V", hl.dsp.exec_cmd("vscodium")) hl.bind("SUPER+SHIFT+V", hl.dsp.exec_cmd("vscodium"))
-- device specifics -- device specifics
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
for i = 1, 12 do 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")) hl.bind("SUPER+SHIFT+CTRL+F"..tostring(i), hl.dsp.exec_cmd("~/.config/hypr/scripts/makropad/button"..string.format("%02d", i)..".sh"))
end end
@@ -102,6 +104,15 @@ if HOSTNAME == "archlinux-hypr" then
hl.bind("ALT+Y", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/tmdb.sh")) hl.bind("ALT+Y", hl.dsp.exec_cmd("~/.config/hypr/scripts/writing/tmdb.sh"))
end 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 -- Quickshell
hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper")) hl.bind("SUPER + SHIFT + W", hl.dsp.global("quickshell:Wallpaper"))
hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner")) hl.bind("SUPER + SHIFT + J", hl.dsp.global("quickshell:JLearner"))
+7
View File
@@ -35,3 +35,10 @@ hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
-- -- set XDG -- -- set XDG
-- hl.env("XDG_DATA_DIRS", "/usr/local/share:/usr/share:~/.local/share:~/.icons") -- 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
+8
View File
@@ -4,3 +4,11 @@ if f then
HOSTNAME = (f:read("*l") or "unknown"):gsub("%s+", "") HOSTNAME = (f:read("*l") or "unknown"):gsub("%s+", "")
f:close() f:close()
end end
USER = "unknown"
if HOSTNAME ~= "unknown" then
if HOSTNAME == "honney-main" then
USER = "honney"
elseif HOSTNAME == "arch" then
USER = "teo"
end
end
+60 -14
View File
@@ -53,6 +53,7 @@ hl.config({
}, },
}) })
if USER == "honney" then
hl.config({ hl.config({
decoration = { decoration = {
rounding = 5, rounding = 5,
@@ -67,6 +68,59 @@ hl.config({
} }
}) })
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 -- MISC
hl.config({ hl.config({
misc = { misc = {
@@ -83,21 +137,13 @@ hl.config({
} }
}) })
hl.config({
render = {
direct_scanout = 2,
cm_enabled = true,
cm_auto_hdr = 1,
}
})
hl.config({ hl.config({
cursor ={ cursor ={
no_hardware_cursors = 1, no_hardware_cursors = 1,
} }
}) })
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
hl.config({ hl.config({
cursor ={ cursor ={
default_monitor = "BNQ BenQ EX2710U Y8P00876019", default_monitor = "BNQ BenQ EX2710U Y8P00876019",
@@ -111,11 +157,11 @@ hl.config({
} }
}) })
hl.config({ -- hl.config({
debug={ -- debug={
full_cm_proto = true, -- full_cm_proto = true,
} -- }
}) -- })
-- Kvantum -- Kvantum
hl.env("KVANTUM_THEME", "ColloidDark") hl.env("KVANTUM_THEME", "ColloidDark")
+14 -2
View File
@@ -3,8 +3,20 @@ listener {
on-timeout = hyprlock 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 { listener {
timeout = 360 timeout = 360
on-timeout = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --off "$o"; done' on-timeout = hyprctl dispatch "hl.dsp.dpms({action = 'off'})"
on-resume = bash -c 'for o in $(hyprctl monitors -j | jq -r ".[].name"); do wlopm --on "$o"; done' 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
View File
@@ -22,6 +22,7 @@ REQUIRED_PKGS=(
libnotify libnotify
jq jq
inetutils inetutils
tmux
) )
OPTIONAL_PKGS=( OPTIONAL_PKGS=(
+10 -4
View File
@@ -103,11 +103,17 @@ while true; do
done done
for i in 4 3 2 1; do for i in 4 3 2 1; do
echo "hyprctl dispatch \"hl.dsp.focus({workspace = \"$i\"})\""
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 done
# hyprctl dispatch workspace 4
# hyprctl dispatch workspace 3
# hyprctl dispatch workspace 2
# hyprctl dispatch workspace 1
tmux new-session -d -s qs 'sleep 4 && quickshell' 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 # Focus Discord
hyprctl dispatch focuswindow address:$DISCORD_WIN hyprctl dispatch focuswindow address:$DISCORD_WIN
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
# Give it a moment to receive focus # Give it a moment to receive focus
sleep 0.1 sleep 0.1
@@ -31,6 +32,7 @@ wtype -M ctrl -M shift -k M -m shift -m ctrl
if [ -n "$ACTIVE_WIN" ]; then if [ -n "$ACTIVE_WIN" ]; then
sleep 0.1 sleep 0.1
hyprctl dispatch focuswindow address:$ACTIVE_WIN hyprctl dispatch focuswindow address:$ACTIVE_WIN
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
fi fi
hyprctl notify 1 500 0 "Row 1, Colums 1" hyprctl notify 1 500 0 "Row 1, Colums 1"
+2
View File
@@ -22,6 +22,7 @@ fi
# Focus the Discord window # Focus the Discord window
hyprctl dispatch focuswindow address:$DISCORD_WIN hyprctl dispatch focuswindow address:$DISCORD_WIN
hyprctl dispatch "hl.dsp.focus({window = 'address:$DISCORD_WIN'})"
# Give Discord time to focus # Give Discord time to focus
sleep 0.1 sleep 0.1
@@ -33,6 +34,7 @@ wtype -M ctrl -M shift -k D -m shift -m ctrl
if [ -n "$ACTIVE_WIN" ]; then if [ -n "$ACTIVE_WIN" ]; then
sleep 0.1 sleep 0.1
hyprctl dispatch focuswindow address:$ACTIVE_WIN hyprctl dispatch focuswindow address:$ACTIVE_WIN
hyprctl dispatch "hl.dsp.focus({window = 'address:$ACTIVE_WIN'})"
fi fi
# Add shared script Functions # Add shared script Functions
-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 #!/bin/bash
tmdbid() { tmdbid() {
local q url local type q url
type="$1"
shift
# encode query safely
q=$(printf '%s' "$*" | jq -sRr @uri) 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" url="https://www.themoviedb.org/search/movie?query=$q"
fi
curl -sL -A 'Mozilla/5.0' "$url" \ curl -sL -A 'Mozilla/5.0' "$url" \
| grep -oE '/movie/[0-9]+' \ | grep -oE '/(movie|tv)/[0-9]+' \
| head -1 \ | head -1 \
| cut -d/ -f3 | cut -d/ -f3
} }
@@ -17,8 +22,8 @@ tmdbid() {
clean_title() { clean_title() {
local s="$1" local s="$1"
# remove (year) style parentheses # remove (year) or (TV Series year) style parentheses
s=$(echo "$s" | sed -E 's/ *\([0-9]{4}\)//') s=$(echo "$s" | sed -E 's/ *\([^)]*[0-9]{4}[^)]*\)//')
# umlaut replacement # umlaut replacement
s="${s//ä/ae}"; s="${s//ö/oe}"; s="${s//ü/ue}" s="${s//ä/ae}"; s="${s//ö/oe}"; s="${s//ü/ue}"
@@ -36,16 +41,34 @@ clean_title() {
echo "$s" echo "$s"
} }
title=$(hyprctl clients -j | jq '.[] | select(.workspace.id == 3)' | grep "The Movie Database" | sed 's/ — The Movie Database.*//' | sed 's/ "title": "//g') ws="${1:-3}"
tmdbid=$(tmdbid "$title")
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 if [ -z "$tmdbid" ]; then
new_title="${title//\ ([0-9][0-9][0-9][0-9])/}" if [ "$type" = "tv" ]; then
tmdbid=$(tmdbid "$new_title") 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 fi
clean=$(clean_title "$title") clean=$(clean_title "$title")
wtype "$clean $year [tmdb-$tmdbid]" wtype "$clean ($year) [tmdb-$tmdbid]"
+1 -1
View File
@@ -25,7 +25,7 @@ hl.config({
}, },
} }
}) })
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
hl.config({ hl.config({
input={ input={
kb_layout = "us", kb_layout = "us",
+23 -1
View File
@@ -1,4 +1,4 @@
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
hl.monitor({ hl.monitor({
output = "desc:BNQ BenQ EX2710U Y8P00876019", output = "desc:BNQ BenQ EX2710U Y8P00876019",
mode = "3840x2160@144", mode = "3840x2160@144",
@@ -73,6 +73,28 @@ elseif HOSTNAME == "hp-laptop" then
scale = 1, scale = 1,
transform = 0, 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 end
-- mirror string Output name to mirror -- mirror string Output name to mirror
+40 -8
View File
@@ -1,21 +1,21 @@
-- Recommended command for getting class/..: -- Recommended command for getting class/..:
-- sleep 2 && hyprctl activewindow -- sleep 2 && hyprctl activewindow
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
--# Window rules on Monitor 3 --# Window rules on Monitor 3
hl.window_rule({ hl.window_rule({
name = "Librewolf", name = "Librewolf",
match = { match = {
class = ".*librewolf.*" class = ".*librewolf.*"
}, },
workspace = "300 silent" workspace = "30 silent"
}) })
hl.window_rule({ hl.window_rule({
name = "Mozilla Thunderbird", name = "Mozilla Thunderbird",
match = { match = {
class = ".*Thunderbird.*" class = ".*Thunderbird.*"
}, },
workspace = "301 silent" workspace = "31 silent"
}) })
--# Window rules on Monitor 4 --# Window rules on Monitor 4
hl.window_rule({ hl.window_rule({
@@ -37,7 +37,7 @@ if HOSTNAME == "archlinux-hypr" then
match = { match = {
class = ".*nextcloud.*" class = ".*nextcloud.*"
}, },
workspace = "400" workspace = "40"
}) })
elseif HOSTNAME == "hp-laptop" then elseif HOSTNAME == "hp-laptop" then
hl.window_rule({ hl.window_rule({
@@ -59,7 +59,7 @@ elseif HOSTNAME == "hp-laptop" then
match = { match = {
class = ".*nextcloud.*" class = ".*nextcloud.*"
}, },
workspace = "400" workspace = "40"
}) })
end end
@@ -73,10 +73,8 @@ hl.window_rule({
no_dim = true, no_dim = true,
content = "video" content = "video"
}) })
-- Videos
hl.window_rule({ hl.window_rule({
name = "Youtube", name = "Crunchyroll",
match = { match = {
title = ".*Crunchyroll — .*" title = ".*Crunchyroll — .*"
}, },
@@ -93,6 +91,24 @@ hl.window_rule({
content = "video" 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 -- Games
hl.window_rule({ hl.window_rule({
name = "Steam Games", name = "Steam Games",
@@ -102,3 +118,19 @@ hl.window_rule({
no_dim = true, no_dim = true,
content = "game" 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"
})
+114 -7
View File
@@ -1,10 +1,29 @@
if HOSTNAME == "archlinux-hypr" then if HOSTNAME == "honney-main" then
--# Workspaces on Monitor 1 --# Workspaces on Monitor 1
hl.workspace_rule({ hl.workspace_rule({
workspace = "1", workspace = "1",
monitor = "desc:BNQ BenQ EX2710U Y8P00876019", monitor = "desc:BNQ BenQ EX2710U Y8P00876019",
default = true, default = true,
layout = "scrolling", 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 --# Workspaces on Monitor 2
hl.workspace_rule({ hl.workspace_rule({
@@ -12,47 +31,135 @@ if HOSTNAME == "archlinux-hypr" then
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609", monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
default = true, default = true,
layout = "scrolling", layout = "scrolling",
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "200", workspace = "20",
monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609", monitor = "desc:ASUSTek COMPUTER INC PA279CRV S5LMSB007609",
default = false, 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 --# Workspaces on Monitor 3
hl.workspace_rule({ hl.workspace_rule({
workspace = "3", workspace = "3",
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437", monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
default = true, default = true,
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "300", workspace = "30",
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437", monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
default = false, default = false,
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "301", workspace = "31",
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437", monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
default = false, default = false,
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "302", workspace = "32",
monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437", monitor = "desc:LG Electronics LG ULTRAFINE 503NTKF3L437",
default = false, default = false,
persistent = true
}) })
--# Workspaces on Monitor 4 --# Workspaces on Monitor 4
hl.workspace_rule({ hl.workspace_rule({
workspace = "4", workspace = "4",
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65", monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
default = true, default = true,
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "400", workspace = "40",
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65", monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
default = false, default = false,
persistent = true
}) })
hl.workspace_rule({ hl.workspace_rule({
workspace = "401", workspace = "41",
monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65", monitor = "desc:LG Electronics LG ULTRAGEAR 107MAKR2RE65",
default = false, 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 end