This commit is contained in:
2025-08-13 21:46:48 +02:00
commit c3e2e6509b
818 changed files with 54187 additions and 0 deletions

22
hypr/.github/README.md vendored Normal file
View File

@@ -0,0 +1,22 @@
<div align="center">
<a href="#"><img src="./title.png"></a>
</div>
<div align="center">
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="90%"/><br>
</div>
<div align="center">
<a href="https://dotfiles-docs.vercel.app/app-confs/hyprland.html#about"><img width="190px" src="https://raw.githubusercontent.com/Matt-FTW/dotfiles/main/.github/assets/category-images/dotfiles-about.png"></a>
<a href="https://dotfiles-docs.vercel.app/app-confs/hyprland.html#setup"><img width="190px" src="https://raw.githubusercontent.com/Matt-FTW/dotfiles/main/.github/assets/category-images/dotfiles-setup.png"></a>
<a href="https://dotfiles-docs.vercel.app/app-confs/hyprland.html#gallery"><img width="190px" src="https://raw.githubusercontent.com/Matt-FTW/dotfiles/main/.github/assets/category-images/dotfiles-gallery.png"></a>
</div>
<br>
> [!NOTE]
> All the information about the Hyprland setup is on the documentation website: https://dotfiles-docs.vercel.app/app-confs/hyprland.html

BIN
hypr/.github/overview-1.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

BIN
hypr/.github/overview-2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
hypr/.github/overview-3.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
hypr/.github/title.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

246
hypr/configs/binds.conf Normal file
View File

@@ -0,0 +1,246 @@
source = ~/.config/hypr/configs/default_apps.conf
# Variables
$mainMod = SUPER
$altMod = ALT
$altrMod = SUPER MOD5
$scripts = ~/.config/hypr/scripts
$launcher-scripts = ~/.config/rofi/scripts
# Applications
bind = $mainMod, S, exec, $scripts/launch_app $browser
bind = $mainMod, V, exec, $scripts/launch_app $ide
bind = $mainMod, O, exec, $scripts/launch_app $office-suite
bind = $mainMod, E, exec, $scripts/launch_app $file-manager
bind = $mainMod, C, exec, $scripts/launch_app $terminal
bind = $mainMod SHIFT, C, exec, $scripts/launch_app $terminal docker exec -it ros2 zsh
bind = $altMod, C, exec, $scripts/launch_app $terminal ssh Hetzner
bind = $altMod SHIFT, C, exec, $scripts/launch_app $terminal ssh Zima00
bind = $mainMod, T, exec, $scripts/launch_app Telegram
bind = $mainMod, M, exec, $scripts/launch_app thunderbird
## Notifications Menu
bind = $mainMod, N, exec, $notifications-menu-toggle
bind = $mainMod SHIFT, R, exec, $notifications-menu-reload
bind = $mainMod SHIFT, N, exec, $notifications-menu-read
## Bar
bind = $mainMod SHIFT, R, exec, $bar-reload
bind = $mainMod SHIFT, T, exec, $bar-toggle
# Pickers/Launchers
bind = $mainMod, R, exec, $launcher
bind = $mainMod SHIFT, P, exec, $launcher-scripts/wallpaper/wallpaper
bind = $altMod, P, exec, $launcher-scripts/wireguard/wireguard_selection menu
bind = $mainMod, ESCAPE, exec, $launcher-scripts/powermenu/powermenu
bind = $mainMod, Y, exec, $launcher-scripts/clipboard/clipboard
## Screenshots
bind = CTRL, ESCAPE, exec, $launcher-scripts/screenshot/screenshot
bind = SHIFT, ESCAPE, exec, $launcher-scripts/screenshot/screenshot --freeze
# Pyprland
## Scratchpad Module
bind = $mainMod, B, exec, pypr toggle btop
#bind = $mainMod, ENTER, exec, pypr toggle kitty
## Other Modules
bind = $mainMod, P, exec, pypr wall next
# Windows
## Basic Operations
bind = $mainMod, Q, killactive,
bind = $altMod, Q, killactive,
bind = $mainMod, W, exec, $scripts/toggle_floating
#bind = $mainMod, P, pseudo
bind = $mainMod, F, fullscreen, 0
## Mouse
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
## Focusing
bind = $mainMod, LEFT, movefocus, l
bind = $mainMod, RIGHT, movefocus, r
bind = $mainMod, UP, movefocus, u
bind = $mainMod, DOWN, movefocus, d
## Moving
bind = $altMod, LEFT, movewindow, l
bind = $altMod, RIGHT, movewindow, r
bind = $altMod, UP, movewindow, u
bind = $altMod, DOWN, movewindow, d
## Center and Split
#bind = $mainMod, S, togglesplit
#bind = $mainMod, D, exec, hyprctl dispatch centerwindow 1
## Group Control
bind = $mainMod, G, togglegroup
bind = $mainMod CTRL, G, lockactivegroup, toggle
bind = ALT, TAB, changegroupactive
## Resizing Windows
bind = $mainMod, 23, submap, resize # TAB
submap = resize
binde = , RIGHT, resizeactive, 40 0
binde = , LEFT, resizeactive, -40 0
binde = , UP, resizeactive, 0 -40
binde = , DOWN, resizeactive, 0 40
bind = , ESCAPE, submap, reset
submap = reset
# Workspaces
## Focusing other Workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $altMod, 1, workspace, 11
bind = $altMod, 2, workspace, 12
bind = $altMod, 3, workspace, 13
bind = $altMod, 4, workspace, 14
bind = $altMod, 5, workspace, 15
bind = $altMod, 6, workspace, 16
bind = $altMod, 7, workspace, 17
bind = $altMod, 8, workspace, 18
bind = $altMod, 9, workspace, 19
bind = $altMod, 0, workspace, 20
bind = $altrMod, 1, workspace, 21
bind = $altrMod, 2, workspace, 22
bind = $altrMod, 3, workspace, 23
bind = $altrMod, 4, workspace, 24
bind = $altrMod, 5, workspace, 25
bind = $altrMod, 6, workspace, 26
bind = $altrMod, 7, workspace, 27
bind = $altrMod, 8, workspace, 28
bind = $altrMod, 9, workspace, 29
bind = $altrMod, 0, workspace, 30
## Moving Windows to other Workspaces
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $altMod SHIFT, 1, movetoworkspace, 11
bind = $altMod SHIFT, 2, movetoworkspace, 12
bind = $altMod SHIFT, 3, movetoworkspace, 13
bind = $altMod SHIFT, 4, movetoworkspace, 14
bind = $altMod SHIFT, 5, movetoworkspace, 15
bind = $altMod SHIFT, 6, movetoworkspace, 16
bind = $altMod SHIFT, 7, movetoworkspace, 17
bind = $altMod SHIFT, 8, movetoworkspace, 18
bind = $altMod SHIFT, 9, movetoworkspace, 19
bind = $altMod SHIFT, 0, movetoworkspace, 20
bind = $altrMod SHIFT, 1, movetoworkspace, 21
bind = $altrMod SHIFT, 2, movetoworkspace, 22
bind = $altrMod SHIFT, 3, movetoworkspace, 23
bind = $altrMod SHIFT, 4, movetoworkspace, 24
bind = $altrMod SHIFT, 5, movetoworkspace, 25
bind = $altrMod SHIFT, 6, movetoworkspace, 26
bind = $altrMod SHIFT, 7, movetoworkspace, 27
bind = $altrMod SHIFT, 8, movetoworkspace, 28
bind = $altrMod SHIFT, 9, movetoworkspace, 29
bind = $altrMod SHIFT, 0, movetoworkspace, 30
## Moving Windows to other Workspaces (Silent)
bind = $mainMod CTRL, 1, movetoworkspacesilent, 1
bind = $mainMod CTRL, 2, movetoworkspacesilent, 2
bind = $mainMod CTRL, 3, movetoworkspacesilent, 3
bind = $mainMod CTRL, 4, movetoworkspacesilent, 4
bind = $mainMod CTRL, 5, movetoworkspacesilent, 5
bind = $mainMod CTRL, 6, movetoworkspacesilent, 6
bind = $mainMod CTRL, 7, movetoworkspacesilent, 7
bind = $mainMod CTRL, 8, movetoworkspacesilent, 8
bind = $mainMod CTRL, 9, movetoworkspacesilent, 9
bind = $mainMod CTRL, 0, movetoworkspacesilent, 10
bind = $altMod CTRL, 1, movetoworkspacesilent, 11
bind = $altMod CTRL, 2, movetoworkspacesilent, 12
bind = $altMod CTRL, 3, movetoworkspacesilent, 13
bind = $altMod CTRL, 4, movetoworkspacesilent, 14
bind = $altMod CTRL, 5, movetoworkspacesilent, 15
bind = $altMod CTRL, 6, movetoworkspacesilent, 16
bind = $altMod CTRL, 7, movetoworkspacesilent, 17
bind = $altMod CTRL, 8, movetoworkspacesilent, 18
bind = $altMod CTRL, 9, movetoworkspacesilent, 19
bind = $altMod CTRL, 0, movetoworkspacesilent, 20
bind = $altrMod CTRL, 1, movetoworkspacesilent, 21
bind = $altrMod CTRL, 2, movetoworkspacesilent, 22
bind = $altrMod CTRL, 3, movetoworkspacesilent, 23
bind = $altrMod CTRL, 4, movetoworkspacesilent, 24
bind = $altrMod CTRL, 5, movetoworkspacesilent, 25
bind = $altrMod CTRL, 6, movetoworkspacesilent, 26
bind = $altrMod CTRL, 7, movetoworkspacesilent, 27
bind = $altrMod CTRL, 8, movetoworkspacesilent, 28
bind = $altrMod CTRL, 9, movetoworkspacesilent, 29
bind = $altrMod CTRL, 0, movetoworkspacesilent, 30
## Moving to other Workspace with Mouse Control
bind = $mainMod, mouse_down, workspace, m-1
bind = $mainMod, mouse_up, workspace, m+1
# Media
bindl = $mainMod CTRL, mouse:280, exec, swayosd-client --output-volume mute-toggle # Extra Up Button
bindl = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
bindl = $mainMod CTRL, mouse:281, exec, swayosd-client --input-volume mute-toggle # Extra Down Button
bindl = , XF86AudioMicMute, exec, exec swayosd-client --input-volume mute-toggle
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = $mainMod CTRL, mouse:282, exec, playerctl play-pause # Extra Center Button
bindl = $mainMod CTRL, RETURN, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindl = $mainMod CTRL, mouse:275, exec, playerctl previous # Extra Back Button
bindl = $mainMod CTRL, 20, exec, playerctl previous # Minus Key
bindl = , XF86AudioNext, exec, playerctl next
bindl = $mainMod CTRL, mouse:276, exec, playerctl next # Extra Forward Button
bindl = $mainMod CTRL, 21, exec, playerctl next # Plus Key
bindle = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume +10
bindle = $mainMod ALT, 21, exec, swayosd-client --output-volume raise # Minus key
bindle = , XF86AudioLowerVolume, exec, swayosd-client --output-volume -10
bindle = $mainMod ALT, 20, exec, swayosd-client --output-volume lower # Plus key
bindle = , XF86InputRaiseVolume, exec, swayosd-client --input-volume raise
bindle = $mainMod SHIFT, 21, exec, swayosd-client --input-volume raise # Minus key
bindle = , XF86InputLowerVolume, exec, swayosd-client --input-volume lower
bindle = $mainMod SHIFT, 20, exec, swayosd-client --input-volume lower # Plus key
## Brightness
bindle = , XF86MonBrightnessUp, exec, swayosd-client --brightness +10
bindle = , XF86MonBrightnessDown, exec, swayosd-client --brightness -10
# Other
# Color picker
bind = $mainMod, INSERT, exec, $scripts/color_picker
## Disable anim, blur, etc
bind = $mainMod, F12, exec, $scripts/performance
## Freeze active window
bind = $mainMod, H, exec, $scripts/hyprfreeze -a
## Open Wikis
#bind = $mainMod, F1, exec, xdg-open https://wiki.hyprland.org/
## Zoom
#bind = $mainMod SHIFT, mouse:276, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 + 0.5}')
#bind = $mainMod SHIFT, mouse:275, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 - 0.5}')
# lock
bind = $mainMod, L, exec, swaylock

View File

@@ -0,0 +1,19 @@
# Define your programs
$launcher = rofi -show drun
$bar = waybar
$bar-toggle = killall -SIGUSR1 $bar
$bar-reload = killall $bar; $bar
$notifications-menu = swaync-client
$notifications-menu-read = $notifications-menu -C
$notifications-menu-toggle = $notifications-menu -t
$notifications-menu-reload = $notifications-menu -R && $notifications-menu -rs
$browser = firefox
$notetaking-app = notesh
$terminal = kitty
$office-suite = libreoffice
$editor = $terminal vim
$ide = code
$file-manager = nemo

23
hypr/configs/env.conf Normal file
View File

@@ -0,0 +1,23 @@
# XDG
envd = XDG_CURRENT_DESKTOP, Hyprland
envd = XDG_SESSION_TYPE, wayland
envd = XDG_SESSION_DESKTOP, Hyprland
# QT
env = QT_QPA_PLATFORM, wayland
env = QT_QPA_PLATFORMTHEME, qt5ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1
env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
env = QT_STYLE_OVERRIDE, kvantum
# Tearing
env = WLR_DRM_NO_ATOMIC, 0
# Themes
env = GTK_THEME, catppuccin-macchiato-lavender-standard+default
env = XCURSOR_THEME, catppuccin-macchiato-dark-cursors
#env = XCURSOR_THEME, Wii-Pointer-P1
env = XCURSOR_SIZE, 24
env = HYPRCURSOR_THEME, catppuccin-macchiato-dark-cursors
#env = HYPRCURSOR_THEME, Wii-Pointer-P1
env = HYPRCURSOR_SIZE, 24

13
hypr/configs/input.conf Normal file
View File

@@ -0,0 +1,13 @@
input {
kb_layout = de
kb_options = compose:rctrl, level3:ralt_switch, grp:win_space_toggle
follow_mouse = 1
numlock_by_default = true
touchpad {
natural_scroll = yes
disable_while_typing = true
scroll_factor = 0.5
}
}

35
hypr/configs/misc.conf Normal file
View File

@@ -0,0 +1,35 @@
general {
allow_tearing = false
}
misc {
always_follow_on_dnd = true
disable_hyprland_logo = true
vrr = 0
animate_manual_resizes = true
animate_mouse_windowdragging = false
enable_swallow = true
font_family = JetBrainsMono Nerd Font
enable_anr_dialog = false
}
binds {
movefocus_cycles_fullscreen = false
}
xwayland {
force_zero_scaling = true
}
dwindle {
pseudotile = yes # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # You probably want this
pseudotile = true # Enable pseudotiling on dwindle
force_split = 0
preserve_split = true
}
gestures {
workspace_swipe = yes
workspace_swipe_fingers = 4
}

View File

@@ -0,0 +1,13 @@
$MONITOR1=eDP-1
$MONITOR2=DP-1
$MONITOR3=DP-3
# Main Monitor
monitor=$MONITOR1, 3072x1920@120.00, 0x0, 2.0, vrr, 1
# Second Monitor
monitor=$MONITOR2, 1920x1080@60.00, -1920x-800, 1.0 #, mirror, $MONITOR3
# FSIT Arbeitsplatz: -1920x-800
# Third Monitor
monitor=$MONITOR3, 1920x1080@60.00, 0x1920, 1.0 #, mirror, $MONITOR2

25
hypr/configs/plugins.conf Normal file
View File

@@ -0,0 +1,25 @@
# Hyprtrails
# exec-once = hyprpm enable hyprtrails
# source = ~/.config/hypr/plugins/hyprtrails.conf
# Hyprexpo
# exec-once = hyprpm enable hyprexpo
# source = ~/.config/hypr/plugins/hyprexpo.conf
# Hyprsplit
# exec-once = hyprpm enable hyprsplit
# source = ~/.config/hypr/plugins/hyprsplit.conf
# Hyprtasking
# exec-once = hyprpm enable hyprtasking
# source = ~/.config/hypr/plugins/hyprtasking.conf
# Hyprspace
# exec-once = hyprpm enable hyprspace
# source = ~/.config/hypr/plugins/hyprspace.conf
# Dynamic-cursors
# exec-once = hyprpm enable dynamic-cursors
# source = ~/.config/hypr/plugins/dynamic-cursors.conf
exec-once = hyprpm reload -n

View File

@@ -0,0 +1,36 @@
# Main Monitor
workspace = 1, monitor:$MONITOR1, default:true
workspace = 2, monitor:$MONITOR1
workspace = 3, monitor:$MONITOR1
workspace = 4, monitor:$MONITOR1
workspace = 5, monitor:$MONITOR1
workspace = 6, monitor:$MONITOR1
workspace = 7, monitor:$MONITOR1
workspace = 8, monitor:$MONITOR1
workspace = 9, monitor:$MONITOR1
workspace = 10, monitor:$MONITOR1 #, rounding:false, decorate:false, gapsin:-1, gapsout:0, border:false, decorate:false # Gaming Workspace
# Second Monitor
workspace = 11, monitor:$MONITOR2, default:true
workspace = 12, monitor:$MONITOR2
workspace = 13, monitor:$MONITOR2
workspace = 14, monitor:$MONITOR2
workspace = 15, monitor:$MONITOR2
workspace = 16, monitor:$MONITOR2
workspace = 17, monitor:$MONITOR2
workspace = 18, monitor:$MONITOR2
workspace = 19, monitor:$MONITOR2
workspace = 20, monitor:$MONITOR2 #, rounding:false, decorate:false, gapsin:-1, gapsout:0, border:false, decorate:false # Gaming Workspace
# Third Monitor
workspace = 21, monitor:$MONITOR3, default:true
workspace = 22, monitor:$MONITOR3
workspace = 23, monitor:$MONITOR3
workspace = 24, monitor:$MONITOR3
workspace = 25, monitor:$MONITOR3
workspace = 26, monitor:$MONITOR3
workspace = 27, monitor:$MONITOR3
workspace = 28, monitor:$MONITOR3
workspace = 29, monitor:$MONITOR3
workspace = 30, monitor:$MONITOR3 #, rounding:false, decorate:false, gapsin:-1, gapsout:0, border:false, decorate:false # Gaming Workspace

24
hypr/hypridle.conf Normal file
View File

@@ -0,0 +1,24 @@
$lock_cmd = pidof hyprlock || hyprlock
$suspend_cmd = systemctl suspend || loginctl suspend
general {
lock_cmd = $lock_cmd
before_sleep_cmd = $lock_cmd
after_sleep_cmd = hyprctl dispatch dpms on
}
listener {
timeout = 600 # 10 min
on-timeout = loginctl lock-session
}
# listener {
# timeout = 900 # 15 min
# on-timeout = hyprctl dispatch dpms off
# on-resume = hyprctl dispatch dpms on
# }
# listener {
# timeout = 1800 # 30 min
# on-timeout = $suspend_cmd
# }

13
hypr/hyprland.conf Normal file
View File

@@ -0,0 +1,13 @@
# Configs
source = ~/.config/hypr/configs/env.conf
source = ~/.config/hypr/configs/monitors.conf
source = ~/.config/hypr/configs/workspaces.conf
source = ~/.config/hypr/configs/binds.conf
source = ~/.config/hypr/configs/input.conf
source = ~/.config/hypr/configs/misc.conf
source = ~/.config/hypr/configs/plugins.conf
source = ~/.config/hypr/theme/theme.conf
# Autostart
exec-once = $HOME/.config/hypr/scripts/autostart/services
exec-once = $HOME/.config/hypr/scripts/autostart/apps

82
hypr/hyprlock.conf Normal file
View File

@@ -0,0 +1,82 @@
source = ./theme/colors.conf
$font = JetBrains Mono Nerd Font 10
general {
hide_cursor = true
}
background {
monitor =
path = $HOME/.config/hypr/theme/walls/flowers.png
color = $lavender
blur_size = 4
blur_passes = 3
noise = 0.0117
contrast = 1.3000
brightness = 0.8000
vibrancy = 0.2100
vibrancy_darkness = 0.0
}
# Password Field
input-field {
monitor = DP-1
rounding = 20
shadow_passes = 2
size = 300, 50
outline_thickness = 2
dots_size = 0.2
dots_spacing = 0.64
dots_center = true
inner_color = $surface0
font_color = $subtext0
check_color = $yellow
fail_color = $red
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i>
fail_transition = 300
fade_on_empty = true
placeholder_text = <i>Password...</i>
hide_input = false
position = 0, 50
halign = center
valign = bottom
}
# Current Time
label {
monitor = DP-1
shadow_passes = 1
text = cmd[update:1000] echo "<b><big> $(date +"%H:%M:%S") </big></b>"
color = $text
font_size = 64
font_family = $font
position = 0, -35
halign = center
valign = center
}
# Current Song
label {
monitor = DP-1
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/current_song)"
shadow_passes = 1
color = $subtext0
font_size = 17
font_family = $font
position = 0, -107
halign = center
valign = center
}
# User Image
image {
monitor = DP-1
path = $HOME/.face.icon
shadow_passes = 2
rounding = -1 # negative values mean circle
position = 0, 100
halign = center
valign = center
}

View File

@@ -0,0 +1,25 @@
# Conf
plugin {
enabled = true
mode = rotate
threshold = 10
rotate {
length = 10
}
tilt {
limit = 5000
function = negative_quadratic
}
shake = true
shake {
threshold = 3.0
factor = 3.5
effects = rotate
nearest = true
}
}

33
hypr/plugins/hycov.conf Normal file
View File

@@ -0,0 +1,33 @@
# Conf
plugin {
hycov {
overview_gappo = 60
overview_gappi = 24
hotarea_size = 10
enable_hotarea = 0
swipe_fingers = 4
move_focus_distance = 100
enable_gesture = 1
disable_workspace_change = 0
disable_spawn = 0
auto_exit = 1
auto_fullscreen = 0
only_active_workspace = 0
only_active_monitor = 1
enable_alt_release_exit = 0
alt_toggle_auto_next = 0
click_in_cursor = 1
}
}
# Keybinds
bind = SUPER, ;, hycov:toggleoverview
bind = SUPERALT, BACKSPACE, hycov:toggleoverview, forceall
bind = SUPERALT, LEFT, hycov:movefocus, l
bind = SUPERALT, RIGHT, hycov:movefocus, r
bind = SUPERALT, UP, hycov:movefocus, u
bind = SUPERALT, DOWN, hycov:movefocus, d
bind = SUPERALT, H, hycov:movefocus, l
bind = SUPERALT, L, hycov:movefocus, r
bind = SUPERALT, K, hycov:movefocus, u
bind = SUPERALT, J, hycov:movefocus, d

View File

@@ -0,0 +1,15 @@
source = ../theme/colors.conf
# Conf
plugin {
hyprbars {
bar_height = 20
bar_color = $mantle
bar_text_font = "JetBrainsMono Nerd Font"
bar_part_of_window = true
bar_precedence_over_border = false
hyprbars-button = rgb(ff4040), 10,  , hyprctl dispatch killactive
hyprbars-button = rgb(eeee11), 10,  , hyprctl dispatch fullscreen 1
}
}

View File

@@ -0,0 +1,18 @@
source = ../theme/colors.conf
# Conf
plugin {
hyprexpo {
columns = 3
gap_size = 6
bg_col = $surface0
workspace_method = first r~1
enable_gesture = true
gesture_distance = 300
gesture_positive = true
}
}
# Keybinds
bind = ALT, ESCAPE, hyprexpo:expo, toggle

View File

@@ -0,0 +1,30 @@
source = ../theme/colors.conf
# Conf
plugin {
overview {
# Colors
panelColor = $surface0
panelBorderColor = $surface0
workspaceActiveBorder = $lavender
workspaceInactiveBorder = $surface1
dragAlpha = 1
# Layout
onBottom = true
centerAligned = true
hideTopLayers = true
hideOverlayLayers = true
hideRealLayers = true
affectStrut = false
workspaceBorderSize = 3
# Behaviors
exitOnClick = false
showNewWorkspace = false
showEmptyWorkspace = true
}
}
# Keybinds
bind = ALT, BACKSPACE, overview:toggle

View File

@@ -0,0 +1,39 @@
# Conf
plugin {
hyprsplit {
num_workspaces = 9
}
}
# Keybinds
bind = SUPER, 1, split:workspace, 1
bind = SUPER, 2, split:workspace, 2
bind = SUPER, 3, split:workspace, 3
bind = SUPER, 4, split:workspace, 4
bind = SUPER, 5, split:workspace, 5
bind = SUPER, 6, split:workspace, 6
bind = SUPER, 7, split:workspace, 7
bind = SUPER, 8, split:workspace, 8
bind = SUPER, 9, split:workspace, 9
# Moving windows to other workspaces
bind = SUPERSHIFT, 1, split:movetoworkspace, 1
bind = SUPERSHIFT, 2, split:movetoworkspace, 2
bind = SUPERSHIFT, 3, split:movetoworkspace, 3
bind = SUPERSHIFT, 4, split:movetoworkspace, 4
bind = SUPERSHIFT, 5, split:movetoworkspace, 5
bind = SUPERSHIFT, 6, split:movetoworkspace, 6
bind = SUPERSHIFT, 7, split:movetoworkspace, 7
bind = SUPERSHIFT, 8, split:movetoworkspace, 8
bind = SUPERSHIFT, 9, split:movetoworkspace, 9
# Moving windows to other workspaces (silent)
bind = SUPERALT, 1, split:movetoworkspacesilent, 1
bind = SUPERALT, 2, split:movetoworkspacesilent, 2
bind = SUPERALT, 3, split:movetoworkspacesilent, 3
bind = SUPERALT, 4, split:movetoworkspacesilent, 4
bind = SUPERALT, 5, split:movetoworkspacesilent, 5
bind = SUPERALT, 6, split:movetoworkspacesilent, 6
bind = SUPERALT, 7, split:movetoworkspacesilent, 7
bind = SUPERALT, 8, split:movetoworkspacesilent, 8
bind = SUPERALT, 9, split:movetoworkspacesilent, 9

View File

@@ -0,0 +1,26 @@
source = ../theme/colors.conf
# Conf
plugin {
hyprtasking {
layout = grid
gap_size = 15
bg_color = $base
border_size = 3
exit_behavior = active
gaps {
rows = 3
cols = 3
}
linear {
height = 300
scroll_speed = 1.1;
}
}
}
# Keybinds
bind = ALT, ESCAPE, hyprtasking:toggle, cursor

View File

@@ -0,0 +1,8 @@
source = ../theme/colors.conf
# Conf
plugin {
hyprtrails {
color = $lavender
}
}

68
hypr/pyprland.toml Normal file
View File

@@ -0,0 +1,68 @@
[pyprland]
plugins = ["scratchpads", "magnify", "wallpapers"]
[scratchpads.volume]
command = "pavucontrol"
unfocus = "hide"
position = "1% 8%"
lazy = true
force_monitor = "DP-1"
[scratchpads.terminal]
command = "kitty --class scratchpad-large"
lazy = true
[scratchpads.yazi]
command = "kitty --class scratchpad-large fish -c yazi"
unfocus = "hide"
hysteresis = 0.1
lazy = true
[scratchpads.gpt]
command = "kitty --class scratchpad-large tgpt -m"
lazy = true
[scratchpads.dots]
command = "kitty --class scratchpad-large yadm enter lazygit"
lazy = true
[scratchpads.btop]
command = "kitty --class scratchpad-large btop"
lazy = true
[scratchpads.nvtop]
command = "kitty --class scratchpad-large nvtop"
lazy = true
[scratchpads.topgrade-system]
command = "kitty --class scratchpad-large fish -c 'up'"
lazy = true
[scratchpads.topgrade-all]
command = "kitty --class scratchpad-large fish -c 'upall'"
lazy = true
[scratchpads.bluetooth]
command = "overskride"
animation = "fromRight"
margin = 20
lazy = true
[scratchpads.wifi]
command = "iwgtk"
animation = "fromRight"
margin = 20
lazy = true
[scratchpads.network]
command = "nm-connection-editor"
animation = "fromRight"
margin = 20
lazy = true
[wallpapers]
path = "~/.config/hypr/theme/walls/"
interval = 60 # change every hour
command = "swww img --transition-bezier 0.5,1.19,.8,.4 --transition-type wipe --transition-duration 2 --transition-fps 75 \"[file]\" && notify-send 'Wallpaper Changed' -i \"[file]\" --app-name=Wallpaper"
clear_command = "swww clear"
extensions = ["jpg", "png", "gif", "jpeg"]

11
hypr/scripts/autostart/apps Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# Apps
#spotify &
#vesktop &
#thunderbird &
#obsidian &
# Terminal Apps
#kitty --class btop btop &
#kitty --class nvtop nvtop &

38
hypr/scripts/autostart/services Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
# Automounter for removable media
udiskie &
# Wallpaper Backend
swww-daemon --format xrgb &
# Pyprland Daemon
pypr --debug /tmp/pypr.log &
# Bar
waybar &
# Notification Daemon
swaync &
# OSD Window
swayosd-server &
# Notify about devices connecting and disconnecting
devify &
# Idle daemon to screen lock
hypridle &
# Clipboard
wl-paste --watch cliphist store &
# Polkit authentication
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
# Screen sharing and portals
"$HOME"/.config/hypr/portal &
# xwaylandvideobridge & # Off when using Vesktop instead of Discord
# Audio
easyeffects --gapplication-service &

16
hypr/scripts/color_picker Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
# Simple Script To Pick Color Quickly.
# pick, autocopy and get the value
color=$(hyprpicker -a)
echo "$color"
if [[ "$color" ]]; then
image=/tmp/${color}.png
# generate preview
convert -size 48x48 xc:"$color" "$image"
# notify the color
notify-send -i "$image" "$color" "Copied to clipboard"
fi

5
hypr/scripts/current_song Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
song_info=$(playerctl metadata --format '󰎈 {{artist}} - {{title}} 󰎈')
echo "$song_info"

223
hypr/scripts/hyprfreeze Executable file
View File

@@ -0,0 +1,223 @@
#!/bin/bash
function printHelp() {
cat <<EOF
Usage: hyprfreeze (-a | -p <pid> | -n <name> | -r) [options]
Utility to suspend a game process (and other programs) in Hyprland.
Options:
-h, --help show help message
-a, --active toggle suspend by active window
-p, --pid toggle suspend by process id
-n, --name toggle suspend by process name/command
-r, --prop toggle suspend by clicking on window (hyprprop must be installed)
-s, --silent don't send notification
-t, --notif-timeout notification timeout in milliseconds (default 5000)
--info show information about the process
--dry-run doesn't actually suspend/resume a process, useful with --info
--debug enable debug mode
EOF
}
function debugPrint() {
if [ "$DEBUG" -eq 1 ]; then
echo "[DEBUG] $1"
fi
}
function toggleFreeze() {
# Skip this function if --dry-run flag was provided
if [[ $DRYRUN == "1" ]]; then return 0; fi
# Get pids of process tree
PIDS=$(pstree -p "$PID" | grep -oP '\(\K[^\)]+')
debugPrint "PIDs: $PIDS"
# Prevent suspending itself
local pid_of_script=$$
if echo "$PIDS" | grep -q "$pid_of_script"; then
echo "You are trying to suspend the hyprfreeze process."
exit 1
fi
# Suspend or resume processes
if [[ "$(ps -o state= "$PID")" == T ]]; then
debugPrint "Resuming processes..."
kill -CONT $PIDS 2>/dev/null && echo "Resumed $(ps -p "$PID" -o comm= 2>/dev/null) (PID $PID)" || exit 1
else
debugPrint "Suspending processes..."
kill -STOP $PIDS 2>/dev/null && echo "Suspended $(ps -p "$PID" -o comm= 2>/dev/null) (PID $PID)" || exit 1
fi
}
function getPidByActive() {
debugPrint "Getting PID by active window..."
PID=$(hyprctl activewindow -j | jq '.pid')
debugPrint "PID by active window: $PID"
}
function getPidByPid() {
debugPrint "Getting PID by PID: $1"
# Check if process pid exists
if ! ps -p "$1" &>/dev/null; then
echo "Process ID $1 not found"
exit 1
fi
PID=$1
}
function getPidByName() {
debugPrint "Getting PID by name: $1"
# Check if process name exists
if ! pidof -x "$1" >/dev/null; then
echo "Process name $1 not found"
exit 1
fi
# Get last process if there are multiple
PID=$(pidof "$1" | awk '{print $NF}')
debugPrint "PID by name: $PID"
}
function getPidByProp() {
debugPrint "Getting PID by prop..."
if ! command -v hyprprop; then
echo "You need to install 'hyprprop' to use this feature. (https://github.com/vilari-mickopf/hyprprop)"
exit 1
fi
PID=$(hyprprop | jq '.pid')
debugPrint "PID by prop: $PID"
}
function printInfo() {
debugPrint "Printing process info...\n"
echo -e "$(tput bold)Process tree:$(tput sgr0)"
ps -p "$PID" 2>/dev/null && pstree -p "$PID"
echo -e "\n$(tput bold)Process threads:$(tput sgr0)"
ps -eLo pid,tid,comm | grep "$PID" 2>/dev/null
echo -e "\n$(tput bold)Process ID$(tput sgr0) = $PID \
\n$(tput bold)Process name$(tput sgr0) = $(ps -p "$PID" -o comm= 2>/dev/null) \
\n$(tput bold)Process state$(tput sgr0) = $(ps -o state= -p "$PID" 2>/dev/null)\n"
}
function sendNotification() {
debugPrint "Sending notification..."
local title
title=$([[ "$(ps -p "$PID" -o state=)" == T ]] &&
echo "Suspended $(ps -p "$PID" -o comm= 2>/dev/null)" ||
echo "Resumed $(ps -p "$PID" -o comm= 2>/dev/null)")
local message="PID $PID"
notify-send "${title}" "${message}" -t "$NOTIF_TIMEOUT" -a Hyprfreeze
}
function args() {
# Track required flags
local required_flag_count=0
# Parse options
local options="hap:n:rst:"
local long_options="help,active,pid:,name:,prop,silent,notif-timeout:,info,dry-run,debug"
local parsed_args
parsed_args=$(getopt -o "$options" --long "$long_options" -n "$(basename "$0")" -- "$@")
eval set -- "$parsed_args"
while true; do
case $1 in
-h | --help)
printHelp
exit 0
;;
-a | --active)
((required_flag_count++))
FLAG_ACTIVE=true
;;
-p | --pid)
((required_flag_count++))
shift
FLAG_PID="$1"
;;
-n | --name)
((required_flag_count++))
shift
NAME_FLAG="$1"
;;
-r | --prop)
((required_flag_count++))
FLAG_PROP=true
;;
-s | --silent)
SILENT=1
;;
-t | --notif-timeout)
shift
NOTIF_TIMEOUT="$1"
;;
--info)
INFO=1
;;
--dry-run)
DRYRUN=1
;;
--debug)
DEBUG=1
;;
--)
shift # Skip -- argument
break
;;
*)
exit 1
;;
esac
shift
done
# Check if more than one required flag is provided, or if none was provided
if [ $required_flag_count -ne 1 ]; then
printHelp
exit 1
fi
}
function main() {
debugPrint "Starting main function..."
# Get pid by a required flag
if [ "$FLAG_ACTIVE" = true ]; then
getPidByActive
elif [ -n "$FLAG_PID" ]; then
getPidByPid "$FLAG_PID"
elif [ -n "$NAME_FLAG" ]; then
getPidByName "$NAME_FLAG"
elif [ "$FLAG_PROP" = true ]; then
getPidByProp
fi
# Suspend or resume process
toggleFreeze
# Run these functions after PID is obtained
if [ $INFO -eq 1 ]; then printInfo; fi
if [ $SILENT -ne 1 ]; then sendNotification; fi
debugPrint "End of main function."
}
SILENT=0
NOTIF_TIMEOUT=5000
INFO=0
DRYRUN=0
DEBUG=0
args "$@"
main

354
hypr/scripts/hyprshot Executable file
View File

@@ -0,0 +1,354 @@
#!/bin/bash
set -e
function Help() {
cat <<EOF
Usage: hyprshot [options ..] [-m [mode] ..] -- [command]
Hyprshot is an utility to easily take screenshot in Hyprland using your mouse.
It allows taking screenshots of windows, regions and monitors which are saved to a folder of your choosing and copied to your clipboard.
Examples:
capture a window \`hyprshot -m window\`
capture active window to clipboard \`hyprshot -m window -m active --clipboard-only\`
capture selected monitor \`hyprshot -m output -m DP-1\`
Options:
-h, --help show help message
-m, --mode one of: output, window, region, active, OUTPUT_NAME
-o, --output-folder directory in which to save screenshot
-f, --filename the file name of the resulting screenshot
-D, --delay how long to delay taking the screenshot after selection (seconds)
-z, --freeze freeze the screen on initialization
-d, --debug print debug information
-s, --silent don't send notification when screenshot is saved
-r, --raw output raw image data to stdout
-t, --notif-timeout notification timeout in milliseconds (default 5000)
--border-width width of the selection border in pixels (default 0)
--border-color color of the selection border (default #181926)
--background-color color around the selection (default #8087a25a)
--clipboard-only copy screenshot to clipboard and don't save image in disk
-- [command] open screenshot with a command of your choosing. e.g. hyprshot -m window -- mirage
Modes:
output take screenshot of an entire monitor
window take screenshot of an open window
region take screenshot of selected region
active take screenshot of active window|output
(you must use --mode again with the intended selection)
OUTPUT_NAME take screenshot of output with OUTPUT_NAME
(you must use --mode again with the intended selection)
(you can get this from \`hyprctl monitors\`)
EOF
}
function Print() {
if [ $DEBUG -eq 0 ]; then
return 0
fi
1>&2 printf "$@"
}
function send_notification() {
if [ $SILENT -eq 1 ]; then
return 0
fi
local message=$([ $CLIPBOARD -eq 1 ] &&
echo "Image copied to the clipboard" ||
echo "Image saved in <i>${1}</i> and copied to the clipboard.")
action=$(notify-send -i "$1" --action="view=View" --action="edit=Edit" --action="folder=Open on Folder" "Screenshot saved" \
"${message}" \
-t "$NOTIF_TIMEOUT" -i "${1}" -a Hyprshot)
case $action in
"view")
xdg-open "$1"
;;
"edit")
if command -v satty &>/dev/null; then
satty -f "$1"
else
notify-send -u critical "Cannot Edit Image" "Install Satty"
fi
;;
"folder")
nemo "$1"
;;
esac
}
function trim() {
Print "Geometry: %s\n" "${1}"
local geometry="${1}"
local xy_str=$(echo "${geometry}" | cut -d' ' -f1)
local wh_str=$(echo "${geometry}" | cut -d' ' -f2)
local x=$(echo "${xy_str}" | cut -d',' -f1)
local y=$(echo "${xy_str}" | cut -d',' -f2)
local width=$(echo "${wh_str}" | cut -dx -f1)
local height=$(echo "${wh_str}" | cut -dx -f2)
local max_width=$(hyprctl monitors -j | jq -r '[.[] | if (.transform % 2 == 0) then (.x + .width) else (.x + .height) end] | max')
local max_height=$(hyprctl monitors -j | jq -r '[.[] | if (.transform % 2 == 0) then (.y + .height) else (.y + .width) end] | max')
local min_x=$(hyprctl monitors -j | jq -r '[.[] | (.x)] | min')
local min_y=$(hyprctl monitors -j | jq -r '[.[] | (.y)] | min')
local cropped_x=$x
local cropped_y=$y
local cropped_width=$width
local cropped_height=$height
if ((x + width > max_width)); then
cropped_width=$((max_width - x))
fi
if ((y + height > max_height)); then
cropped_height=$((max_height - y))
fi
if ((x < min_x)); then
cropped_x="$min_x"
cropped_width=$((cropped_width + x - min_x))
fi
if ((y < min_y)); then
cropped_y="$min_y"
cropped_height=$((cropped_height + y - min_y))
fi
local cropped=$(printf "%s,%s %sx%s\n" \
"${cropped_x}" "${cropped_y}" \
"${cropped_width}" "${cropped_height}")
Print "Crop: %s\n" "${cropped}"
echo ${cropped}
}
function save_geometry() {
local geometry="${1}"
local output=""
if [ $RAW -eq 1 ]; then
grim -g "${geometry}" -
return 0
fi
if [ $CLIPBOARD -eq 0 ]; then
mkdir -p "$SAVEDIR"
grim -g "${geometry}" "$SAVE_FULLPATH"
output="$SAVE_FULLPATH"
wl-copy --type image/png <"$output"
[ -z "$COMMAND" ] || {
"$COMMAND" "$output"
}
else
wl-copy --type image/png < <(grim -g "${geometry}" -)
fi
send_notification $output
}
function checkRunning() {
sleep 1
while [[ 1 == 1 ]]; do
if [[ $(pgrep slurp | wc -m) == 0 ]]; then
pkill hyprpicker
exit
fi
done
}
function begin_grab() {
if [ $FREEZE -eq 1 ] && [ "$(command -v "hyprpicker")" ] >/dev/null 2>&1; then
sleep 0.2
hyprpicker -r -z &
sleep 0.2
HYPRPICKER_PID=$!
fi
local option=$1
case $option in
output)
if [ $CURRENT -eq 1 ]; then
local geometry=$(grab_active_output)
elif [ -z $SELECTED_MONITOR ]; then
local geometry=$(grab_output)
else
local geometry=$(grab_selected_output $SELECTED_MONITOR)
fi
;;
region)
local geometry=$(grab_region)
;;
window)
if [ $CURRENT -eq 1 ]; then
local geometry=$(grab_active_window)
else
local geometry=$(grab_window)
fi
geometry=$(trim "${geometry}")
;;
esac
if [ ${DELAY} -gt 0 ] 2>/dev/null; then
sleep ${DELAY}
fi
save_geometry "${geometry}"
}
function grab_output() {
slurp -or
}
function grab_active_output() {
local active_workspace=$(hyprctl -j activeworkspace)
local monitors=$(hyprctl -j monitors)
Print "Monitors: %s\n" "$monitors"
Print "Active workspace: %s\n" "$active_workspace"
local current_monitor="$(echo $monitors | jq -r 'first(.[] | select(.activeWorkspace.id == '$(echo $active_workspace | jq -r '.id')'))')"
Print "Current output: %s\n" "$current_monitor"
echo $current_monitor | jq -r '"\(.x),\(.y) \(.width/.scale|round)x\(.height/.scale|round)"'
}
function grab_selected_output() {
local monitor=$(hyprctl -j monitors | jq -r '.[] | select(.name == "'$(echo $1)'")')
Print "Capturing: %s\n" "${1}"
echo $monitor | jq -r '"\(.x),\(.y) \(.width/.scale|round)x\(.height/.scale|round)"'
}
function grab_region() {
slurp -d -b $BACKGROUND_COLOR -c $BORDER_COLOR -w $BORDER_WIDTH
}
function grab_window() {
local monitors=$(hyprctl -j monitors)
local clients=$(hyprctl -j clients | jq -r '[.[] | select(.workspace.id | contains('$(echo $monitors | jq -r 'map(.activeWorkspace.id) | join(",")')'))]')
Print "Monitors: %s\n" "$monitors"
Print "Clients: %s\n" "$clients"
# Generate boxes for each visible window and send that to slurp
# through stdin
local boxes="$(echo $clients | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1]) \(.title)"' | cut -f1,2 -d' ')"
Print "Boxes:\n%s\n" "$boxes"
slurp -r -b $BACKGROUND_COLOR -c $BORDER_COLOR -w $BORDER_WIDTH <<<"$boxes"
}
function grab_active_window() {
local active_window=$(hyprctl -j activewindow)
local box=$(echo $active_window | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | cut -f1,2 -d' ')
Print "Box:\n%s\n" "$box"
echo "$box"
}
function parse_mode() {
local mode="${1}"
case $mode in
window | region | output)
OPTION=$mode
;;
active)
CURRENT=1
;;
*)
hyprctl monitors -j | jq -re '.[] | select(.name == "'$(echo $mode)'")' &>/dev/null
SELECTED_MONITOR=$mode
;;
esac
}
function args() {
local options=$(getopt -o hf:o:m:D:dszr:t: --long help,filename:,output-folder:,mode:,delay:,clipboard-only,debug,silent,freeze,raw,notif-timeout:,border-color:,background-color:,border-width: -- "$@")
eval set -- "$options"
while true; do
case "$1" in
-h | --help)
Help
exit
;;
-o | --output-folder)
shift
SAVEDIR=$1
;;
-f | --filename)
shift
FILENAME=$1
;;
-D | --delay)
shift
DELAY=$1
;;
-m | --mode)
shift
parse_mode $1
;;
--clipboard-only)
CLIPBOARD=1
;;
-d | --debug)
DEBUG=1
;;
-z | --freeze)
FREEZE=1
;;
-s | --silent)
SILENT=1
;;
-r | --raw)
RAW=1
;;
-t | --notif-timeout)
shift
NOTIF_TIMEOUT=$1
;;
--border-color)
shift
BORDER_COLOR=$1
;;
--background-color)
shift
BACKGROUND_COLOR=$1
;;
--border-width)
shift
BORDER_WIDTH=$1
;;
--)
shift # Skip -- argument
COMMAND=${@:2}
break
;;
esac
shift
done
if [ -z $OPTION ]; then
Print "A mode is required\n\nAvailable modes are:\n\toutput\n\tregion\n\twindow\n"
exit 2
fi
}
if [ -z $1 ]; then
Help
exit
fi
CLIPBOARD=0
DEBUG=0
SILENT=0
RAW=0
NOTIF_TIMEOUT=5000
CURRENT=0
FREEZE=0
BORDER_COLOR=\#181926
BACKGROUND_COLOR=\#8087a25a
BORDER_WIDTH=0
[ -z "$XDG_PICTURES_DIR" ] && type xdg-user-dir &>/dev/null && XDG_PICTURES_DIR=$(xdg-user-dir PICTURES)
FILENAME="$(date +'%Y-%m-%d-%H%M%S_hyprshot.png')"
[ -z "$HYPRSHOT_DIR" ] && SAVEDIR=${XDG_PICTURES_DIR:=~} || SAVEDIR=${HYPRSHOT_DIR}
args $0 "$@"
SAVE_FULLPATH="$SAVEDIR/$FILENAME"
[ $CLIPBOARD -eq 0 ] && Print "Saving in: %s\n" "$SAVE_FULLPATH"
begin_grab $OPTION &
checkRunning

14
hypr/scripts/launch_app Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
if [ -z "$1" ]; then
exit 1
fi
program="$1"
if ! command -v "$program" >/dev/null 2>&1; then
notify-send "Program not found" "Make sure you have installed $program"
exit 1
else
exec $@
fi

19
hypr/scripts/lock Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/bash
swaylock --screenshots --indicator --clock \
--inside-wrong-color $(~/.config/hypr/scripts/color 1 -n) \
--ring-wrong-color $(~/.config/hypr/scripts/color background -n) \
--inside-clear-color $(~/.config/hypr/scripts/color 2 -n) \
--ring-clear-color $(~/.config/hypr/scripts/color background -n) \
--inside-ver-color $(~/.config/hypr/scripts/color 4 -n) \
--ring-ver-color $(~/.config/hypr/scripts/color background -n) \
--text-color $(~/.config/hypr/scripts/color 5 -un) \
--key-hl-color $(~/.config/hypr/scripts/color 4 -un) \
--indicator-radius 80 \
--indicator-thickness 5 \
--effect-blur 10x7 \
--effect-vignette 0.2:0.2 \
--ring-color 11111b \
--line-color 313244 \
--inside-color 0011111b \
--separator-color 00000000 \
--fade-in 0.1 &

23
hypr/scripts/move_by_rules Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
# Script created by: https://github.com/moguay
# Retrieve the active class of the window
active_class=$(hyprctl -j activewindow | jq '.class')
active_class=$(echo "$active_class" | tr -d \")
# Read the file and store lines containing 'workspace' in an array
grep 'workspace' ~/.config/hypr/themes/luna/rules.conf | while IFS= read -r line; do
workspace_value=$(echo "$line" | sed -n -e 's/^.*workspace \([0-9]*\)[ ,].*$/\1/p')
class_value=$(echo "$line" | sed -n -e 's/^.*class:\s*\(.*\)$/\1/p')
regex=$class_value
if [ -n "$workspace_value" ] && [ -n "$class_value" ]; then
# Compare the retrieved value with the active class of the window
if echo "$active_class" | grep -E "$regex"; then
#echo "The class matches the active class of the window. Workspace value to apply: $workspace_value"
hyprctl dispatch movetoworkspace "$workspace_value"
fi
fi
done
exit 1

29
hypr/scripts/performance Executable file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env sh
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==2{print $2}')
# Waybar performance
FILE="$HOME/.config/waybar/style.css"
sed -i 's/\/\* \(.*animation:.*\) \*\//\1/g' $FILE
if [ "$HYPRGAMEMODE" = 1 ]; then
sed -i 's/^\(.*animation:.*\)$/\/\* \1 \*\//g' $FILE
fi
killall waybar
waybar > /dev/null 2>&1 &
# Hyprland performance
if [ "$HYPRGAMEMODE" = 1 ]; then
hyprctl --batch "\
keyword animations:enabled 0;\
keyword decoration:drop_shadow 0;\
keyword decoration:blur:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
exit
fi
hyprctl reload > /dev/null 2>&1 &

9
hypr/scripts/portal Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
sleep 1
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal-wlr
killall xdg-desktop-portal
/usr/lib/xdg-desktop-portal-hyprland &
sleep 2
/usr/lib/xdg-desktop-portal &

11
hypr/scripts/random_wallpaper Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/bash
random=$(fd --base-directory "$HOME/.config/hypr/theme/walls/" --type f . | shuf -n 1)
wallpaper="$HOME/.config/hypr/theme/walls/$random"
swww img "$wallpaper" \
--transition-bezier 0.5,1.19,.8,.4 \
--transition-type wipe \
--transition-duration 2 \
--transition-fps 75 && notify-send "Wallpaper Changed" -i "$wallpaper" --app-name=Wallpaper

31
hypr/scripts/toggle_floating Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
floating=$(hyprctl activewindow -j | jq '.floating')
window=$(hyprctl activewindow -j | jq '.initialClass' | tr -d "\"")
function toggle() {
width=$1
height=$2
hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact ${width} ${height}; dispatch centerwindow"
}
function untoggle() {
hyprctl dispatch togglefloating
}
function handle() {
width=$1
height=$2
if [ "$floating" == "false" ]; then
toggle "$width" "$height"
else
untoggle
fi
}
case $window in
kitty) handle "50%" "55%" ;;
*) handle "70%" "70%" ;;
esac

View File

@@ -0,0 +1,41 @@
animations {
enabled = 1
bezier = default, 0.05, 0.9, 0.1, 1.02
bezier = wind, 0.05, 0.9, 0.1, 1.02
bezier = overshot, 0.13, 0.99, 0.29, 1.02
bezier = liner, 1, 1, 1, 1
bezier = easeOutQuint, 0.23, 1, 0.32, 1.03
# Slow Animations
# animation = windows, 1, 7, wind, popin
# animation = windowsIn, 1, 6, overshot, popin
# animation = windowsOut, 1, 5, overshot, popin
# animation = windowsMove, 1, 6, overshot, slide
# animation = layers, 1, 4, default, popin
# animation = fadeIn, 1, 10, default
# animation = fadeOut, 1, 10, default
# animation = fadeSwitch, 1, 10, default
# animation = fadeShadow, 1, 10, default
# animation = fadeDim, 1, 10, default
# animation = fadeLayers, 1, 10, default
# animation = workspaces, 1, 6, overshot, slide
# animation = border, 1, 1, liner
# animation = borderangle, 1, 30, liner, loop
# Fast Animations
animation = windows, 1, 3.5, easeOutQuint, popin
animation = windowsIn, 1, 3.5, easeOutQuint, popin
animation = windowsOut, 1, 3.5, overshot, popin
animation = windowsMove, 1, 3.5, overshot, slide
animation = layers, 1, 3, default, popin
animation = fadeIn, 1, 4, default
animation = fadeOut, 1, 4, default
animation = fadeSwitch, 1, 4, default
animation = fadeShadow, 1, 4, default
animation = fadeDim, 1, 4, default
animation = fadeLayers, 1, 4, default
animation = workspaces, 1, 3.25, easeOutQuint, slide
#animation = border, 1, 1, liner
#animation = borderangle, 1, 30, liner, loop
}

77
hypr/theme/colors.conf Normal file
View File

@@ -0,0 +1,77 @@
$rosewater = rgb(f4dbd6)
$rosewaterAlpha = f4dbd6
$flamingo = rgb(f0c6c6)
$flamingoAlpha = f0c6c6
$pink = rgb(f5bde6)
$pinkAlpha = f5bde6
$mauve = rgb(c6a0f6)
$mauveAlpha = c6a0f6
$red = rgb(ed8796)
$redAlpha = ed8796
$maroon = rgb(ee99a0)
$maroonAlpha = ee99a0
$peach = rgb(f5a97f)
$peachAlpha = f5a97f
$yellow = rgb(eed49f)
$yellowAlpha = eed49f
$green = rgb(a6da95)
$greenAlpha = a6da95
$teal = rgb(8bd5ca)
$tealAlpha = 8bd5ca
$sky = rgb(91d7e3)
$skyAlpha = 91d7e3
$sapphire = rgb(7dc4e4)
$sapphireAlpha = 7dc4e4
$blue = rgb(8aadf4)
$blueAlpha = 8aadf4
$lavender = rgb(b7bdf8)
$lavenderAlpha = b7bdf8
$text = rgb(cad3f5)
$textAlpha = cad3f5
$subtext1 = rgb(b8c0e0)
$subtext1Alpha = b8c0e0
$subtext0 = rgb(a5adcb)
$subtext0Alpha = a5adcb
$overlay2 = rgb(939ab7)
$overlay2Alpha = 939ab7
$overlay1 = rgb(8087a2)
$overlay1Alpha = 8087a2
$overlay0 = rgb(6e738d)
$overlay0Alpha = 6e738d
$surface2 = rgb(5b6078)
$surface2Alpha = 5b6078
$surface1 = rgb(494d64)
$surface1Alpha = 494d64
$surface0 = rgb(363a4f)
$surface0Alpha = 363a4f
$base = rgb(24273a)
$baseAlpha = 24273a
$mantle = rgb(1e2030)
$mantleAlpha = 1e2030
$crust = rgb(181926)
$crustAlpha = 181926

View File

@@ -0,0 +1,59 @@
source = ./colors.conf
general {
border_size = 2
col.inactive_border = rgba($lavenderAlpha69)
col.active_border = rgba($textAlphaee) rgba($lavenderAlpha69) rgba($lavenderAlpha69) rgba($textAlphaee) 45deg
gaps_in = 3
gaps_out = 5
}
decoration {
rounding = 7
active_opacity = 0.92
inactive_opacity = 0.90
blur {
enabled = yes
size = 5
passes = 4
ignore_opacity = true
new_optimizations = true
xray = false
noise = 0.0
popups = true
}
shadow {
enabled = yes
range = 30
scale = 2
render_power = 5
color = $crust
color_inactive = $surface0
}
dim_inactive = false
dim_strength = 0.05
}
group {
col.border_inactive = rgba($lavenderAlpha69)
col.border_active = rgba($textAlphaee) rgba($lavenderAlpha69) rgba($lavenderAlpha69) rgba($textAlphaee) 45deg
col.border_locked_inactive = rgba($lavenderAlpha69)
col.border_locked_active = rgba($textAlphaee) rgba($lavenderAlpha69) rgba($lavenderAlpha69) rgba($textAlphaee) 45deg
groupbar {
col.active = rgba($lavenderAlphaCC)
col.inactive = rgba($subtext1Alpha99)
col.locked_active = rgba($maroonAlphaCC)
col.locked_inactive = rgba($subtext1Alpha99)
font_family = JetBrainsMono Nerd Font
font_size = 14
text_color = $crust
height = 16
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

128
hypr/theme/rules.conf Normal file
View File

@@ -0,0 +1,128 @@
# Base Rules
$center-float-large = class:^(center-float-large)$|^(.*qimgv.*)$|^(.*mpv.*)$
windowrulev2 = float, $center-float-large
windowrulev2 = size 70% 70%, $center-float-large
windowrulev2 = center 1, $center-float-large
$center-float = class:^(center-float)$
$center-float-title = title:^(.*Open Folder.*)$|^(.*Open File.*)$|^(.*Save File.*)$|^(.*Save Folder.*)$|^(.*Save Image.*)$|^(.*Save As.*)$|^(.*Open As.*)$
windowrulev2 = float, $center-float
windowrulev2 = float, $center-float-title
windowrulev2 = size 50% 50%, $center-float
windowrulev2 = size 50% 50%, $center-float-title
windowrulev2 = center 1, $center-float
windowrulev2 = center 1, $center-float-title
$center-float-mini = class:^(center-float-mini)$|^(.*galculator.*)$|^(.*ytdlp-gui.*)$|^(.*udiskie.*)$|^(.*Calculator.*)$
windowrulev2 = float, $center-float-mini
windowrulev2 = size 30% 40%, $center-float-mini
windowrulev2 = center 1, $center-float-mini
# Float Rules
windowrule = float, xfce-polkit|wleave|title:branchdialog|nwg-look|nm-connection-editor|org.twosheds.iwgtk|overskride
# Workspace Rules
## System
#windowrulev2 = workspace 8, class:^(.*virt-manager.*)$|(.*PikaBackup.*)$|(.*VirtualBox Manager.*)$|(.*Vmware*)$
#windowrulev2 = workspace 17, class:^(.*GParted.*)$|(.*clamtk.*)$|(.*gnome.Logs.*)$
## Gaming
#windowrulev2 = workspace 7, class:^(.*steam_app.*)$|(.*gamescope.*)$|(.*atlauncher.*)$|(.*Minecraft.*)$
#windowrulev2 = workspace 16 silent, class:^([Ss]team)$|(.*heroic.*)$
#windowrulev2 = workspace 7, class:^(.*Ryujinx.*)$|(.*cemu.*)$|(.*dolphin.*)$|(.*RetroArch.*)$|(.*xemu.*)$|(.*duckstation.*)$|(.*rpcs3.*)$
## Media
#windowrulev2 = workspace 6, class:^(.*kdenlive.*)$
#windowrulev2 = workspace 21 silent, class:^(.*thunderbird.*)$
#windowrulev2 = workspace 22 silent, class:^(.*btop.*)$
#windowrulev2 = workspace 22 silent, class:^(.*nvtop.*)$
#windowrulev2 = workspace 19 silent, class:^(.*[Ss]potify.*)$|(.*tidal-hifi.*)$|(.*You[Tt]ube Music.*)$
#windowrulev2 = workspace 20 silent, class:^(.*discord.*)$|(.*vesktop.*)$|(.*WebCord.*)$
#windowrulev2 = workspace 15, class:^(.*obsproject.*)$
#windowrulev2 = workspace 14, class:^(.*easyeffects.*)$|^(.*qpwgraph.*)$|(.*Helvum.*)$
#windowrulev2 = workspace 5, class:^(.*vital.*)$|(.*fl64.*)$|(.*nicotine_plus.*)$
#windowrulev2 = workspace 5, title:^(.*FL Studio.*)$
#windowrulev2 = workspace 4, class:^(.*pinta.*)$|(.*krita.*)$|(.*blender.*)$|(.*Upscayl.*)$
## Productivity/Dev
#windowrulev2 = workspace 9 silent, class:^(.*obsidian.*)$|(.*Zotero.*)$
#windowrulev2 = workspace 2, class:^(.*Code.*)$|(.*codium.*)$|(.*VSCodium.*)$|(.*neovide.*)$
# Animation Rules
windowrulev2 = animation slide, title:^(.*cava.*)$
windowrulev2 = animation popin, class:^(.*wleave.*)$
# Scratchpads
$scratchpad-large = class:^(scratchpad-large)$
windowrulev2 = float, $scratchpad-large
windowrulev2 = center 1, $scratchpad-large
windowrulev2 = size 70% 70%, $scratchpad-large
windowrulev2 = animation slide, $scratchpad-large
windowrulev2 = workspace special: scratchpad-large silent, $scratchpad-large
$scratchpad = class:^(scratchpad)$
windowrulev2 = float, $scratchpad0
windowrulev2 = center 1, $scratchpad
windowrulev2 = size 50% 50%, $scratchpad
windowrulev2 = animation slide, $scratchpad
windowrulev2 = workspace special: scratchpad silent, $scratchpad
$scratchpad-mini = class:^(scratchpad-mini)$
windowrulev2 = float, $scratchpad-mini
windowrulev2 = center 1, $scratchpad-mini
windowrulev2 = size 30% 40%, $scratchpad-mini
windowrulev2 = animation slide, $scratchpad-mini
windowrulev2 = workspace special: scratchpad-mini silent, $scratchpad-mini
$sideScratchpad = class:^(.*pavucontrol.*)$|(.*blueman-manager.*)$
windowrulev2 = workspace special:scratchpad silent, $sideScratchpad
windowrulev2 = size 30% 90%, $sideScratchpad
windowrulev2 = float, $sideScratchpad
windowrulev2 = center 1, $sideScratchpad
# Specific App Rules
$videobridge = class:^(.*xwaylandvideobridge.*)$
windowrulev2 = opacity 0.0 override 0.0 override, $videobridge
windowrulev2 = noanim, $videobridge
windowrulev2 = noblur, $videobridge
windowrulev2 = noinitialfocus, $videobridge
windowrulev2 = maxsize 1 1, $videobridge
$zathura = class:^(.*zathura.*)$
windowrulev2 = float, $zathura
windowrulev2 = size 35% 90%, $zathura
windowrulev2 = center 1, $zathura
$scrcpy = class:^(.*wgpsscli.*)$
windowrulev2 = center 1, $scrcpy
windowrulev2 = float, $scrcpy
$agpss = class:^(-*agpss.*)$
windowrulev2 = tile, $agpss
$affinity = class:^(designer|publisher|photo).exe$
windowrule = tile, xwayland, $affinity
# Layer Rules
layerrule = animation popin, rofi
layerrule = blur, rofi
layerrule = ignorezero, rofi
layerrule = blur, waybar
layerrule = ignorezero, waybar
layerrule = ignorezero, swaync-notification-window
layerrule = animation slide, swaync-notification-window
layerrule = animation slide, swaync-control-center
layerrule = animation fade, swayosd
layerrule = animation fade, selection
layerrule = animation fade, hyprlock
layerrule = noanim, hyprpicker

3
hypr/theme/theme.conf Normal file
View File

@@ -0,0 +1,3 @@
source = ./animations.conf
source = ./rules.conf
source = ./decoration.conf

430
hypr/theme/walls/.github/README.md vendored Normal file
View File

@@ -0,0 +1,430 @@
<div align="center">
<h1>📷 Wallpapers ✨</h1>
<table>
<tr>
<td>
<img alt="abstract" src="../abstract.png" width="260" height="150"/>
</td>
<td>
<img alt="abstract-swirls" src="../abstract-swirls.jpg" width="260" height="150"/>
</td>
<td>
<img alt="anime-skull" src="../anime-skull.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="arch-chan" src="../arch-chan.png" width="260" height="150"/>
</td>
<td>
<img alt="arch-distros" src="../arch-distros.png" width="260" height="150"/>
</td>
<td>
<img alt="arch-logo" src="../arch-logo.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="asteroid-miner" src="../asteroid-miner.png" width="260" height="150"/>
</td>
<td>
<img alt="asteroids" src="../asteroids.png" width="260" height="150"/>
</td>
<td>
<img alt="astronaut-2" src="../astronaut-2.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="astronaut" src="../astronaut.png" width="260" height="150"/>
</td>
<td>
<img alt="aztec-mysteries" src="../aztec-mysteries.png" width="260" height="150"/>
</td>
<td>
<img alt="baby-star" src="../baby-star.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="black-hole" src="../black-hole.png" width="260" height="150"/>
</td>
<td>
<img alt="blue-kaiju" src="../blue-kaiju.png" width="260" height="150"/>
</td>
<td>
<img alt="bridge" src="../bridge.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="buildings" src="../buildings.png" width="260" height="150"/>
</td>
<td>
<img alt="bunnies-road" src="../bunnies-road.png" width="260" height="150"/>
</td>
<td>
<img alt="cabin-2" src="../cabin-2.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="cabin" src="../cabin.png" width="260" height="150"/>
</td>
<td>
<img alt="cafe" src="../cafe.jpg" width="260" height="150"/>
</td>
<td>
<img alt="car-2" src="../car-2.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="car-wreck" src="../car-wreck.png" width="260" height="150"/>
</td>
<td>
<img alt="car" src="../car.jpg" width="260" height="150"/>
</td>
<td>
<img alt="city" src="../city.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="colorful-planets" src="../colorful-planets.jpg" width="260" height="150"/>
</td>
<td>
<img alt="cool" src="../cool.jpg" width="260" height="150"/>
</td>
<td>
<img alt="cottages-river" src="../cottages-river.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="crystals" src="../crystals.png" width="260" height="150"/>
</td>
<td>
<img alt="cyberpunk-2" src="../cyberpunk-2.png" width="260" height="150"/>
</td>
<td>
<img alt="cyberpunk-3" src="../cyberpunk-3.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="cyberpunk" src="../cyberpunk.png" width="260" height="150"/>
</td>
<td>
<img alt="dark-forest" src="../dark-forest.jpg" width="260" height="150"/>
</td>
<td>
<img alt="dark-waves" src="../dark-waves.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="darknet" src="../darknet.png" width="260" height="150"/>
</td>
<td>
<img alt="delorean" src="../delorean.png" width="260" height="150"/>
</td>
<td>
<img alt="dominik-mayer" src="../dominik-mayer.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="doom-slayer" src="../doom-slayer.png" width="260" height="150"/>
</td>
<td>
<img alt="fireskull" src="../fireskull.png" width="260" height="150"/>
</td>
<td>
<img alt="flower-camp" src="../flower-camp.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="flowers-2" src="../flowers-2.png" width="260" height="150"/>
</td>
<td>
<img alt="flowers" src="../flowers.png" width="260" height="150"/>
</td>
<td>
<img alt="flying-comets-clouds" src="../flying-comets-clouds.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="fox-clearing" src="../fox-clearing.png" width="260" height="150"/>
</td>
<td>
<img alt="fuji-2" src="../fuji-2.png" width="260" height="150"/>
</td>
<td>
<img alt="fuji" src="../fuji.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="galaxies" src="../galaxies.png" width="260" height="150"/>
</td>
<td>
<img alt="galaxy-2" src="../galaxy-2.png" width="260" height="150"/>
</td>
<td>
<img alt="galaxy-3" src="../galaxy-3.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="galaxy-waves" src="../galaxy-waves.jpg" width="260" height="150"/>
</td>
<td>
<img alt="galaxy" src="../galaxy.png" width="260" height="150"/>
</td>
<td>
<img alt="girl" src="../girl.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="glass-room" src="../glass-room.png" width="260" height="150"/>
</td>
<td>
<img alt="glitch" src="../glitch.png" width="260" height="150"/>
</td>
<td>
<img alt="haunted-house" src="../haunted-house.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="hollow-knight-2" src="../hollow-knight-2.jpg" width="260" height="150"/>
</td>
<td>
<img alt="hollow-knight-3" src="../hollow-knight-3.png" width="260" height="150"/>
</td>
<td>
<img alt="hollow-knight" src="../hollow-knight.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="hyprland-logo" src="../hyprland-logo.png" width="260" height="150"/>
</td>
<td>
<img alt="japan-city" src="../japan-city.png" width="260" height="150"/>
</td>
<td>
<img alt="keyboards" src="../keyboards.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="kurz" src="../kurz.png" width="260" height="150"/>
</td>
<td>
<img alt="lake" src="../lake.png" width="260" height="150"/>
</td>
<td>
<img alt="lifeform" src="../lifeform.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="lofi-girl-2" src="../lofi-girl-2.jpg" width="260" height="150"/>
</td>
<td>
<img alt="lofi-girl" src="../lofi-girl.jpg" width="260" height="150"/>
</td>
<td>
<img alt="marine-tunnel" src="../marine-tunnel.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="maze" src="../maze.png" width="260" height="150"/>
</td>
<td>
<img alt="megumin" src="../megumin.png" width="260" height="150"/>
</td>
<td>
<img alt="montains" src="../montains.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="nature" src="../nature.png" width="260" height="150"/>
</td>
<td>
<img alt="nebula" src="../nebula.png" width="260" height="150"/>
</td>
<td>
<img alt="neon-dim" src="../neon-dim.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="neon-man" src="../neon-man.png" width="260" height="150"/>
</td>
<td>
<img alt="neon" src="../neon.png" width="260" height="150"/>
</td>
<td>
<img alt="night-city" src="../night-city.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="night-forest-path" src="../night-forest-path.png" width="260" height="150"/>
</td>
<td>
<img alt="night-lake" src="../night-lake.jpg" width="260" height="150"/>
</td>
<td>
<img alt="night-landscape" src="../night-landscape.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="night-street" src="../night-street.jpg" width="260" height="150"/>
</td>
<td>
<img alt="nord-car" src="../nord-car.gif" width="260" height="150"/>
</td>
<td>
<img alt="old-computer" src="../old-computer.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="puffy-stars" src="../puffy-stars.jpg" width="260" height="150"/>
</td>
<td>
<img alt="purpled-night" src="../purpled-night.jpg" width="260" height="150"/>
</td>
<td>
<img alt="quasar" src="../quasar.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="reaper" src="../reaper.png" width="260" height="150"/>
</td>
<td>
<img alt="relax" src="../relax.jpg" width="260" height="150"/>
</td>
<td>
<img alt="retro-mario" src="../retro-mario.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="s4vitar" src="../s4vitar.png" width="260" height="150"/>
</td>
<td>
<img alt="sakura-gate" src="../sakura-gate.jpg" width="260" height="150"/>
</td>
<td>
<img alt="sakura" src="../sakura.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="samurai-geralt" src="../samurai-geralt.png" width="260" height="150"/>
</td>
<td>
<img alt="saturn" src="../saturn.jpg" width="260" height="150"/>
</td>
<td>
<img alt="scenery" src="../scenery.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="ship" src="../ship.png" width="260" height="150"/>
</td>
<td>
<img alt="shore" src="../shore.png" width="260" height="150"/>
</td>
<td>
<img alt="sky" src="../sky.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="solar-system" src="../solar-system.png" width="260" height="150"/>
</td>
<td>
<img alt="souls" src="../souls.png" width="260" height="150"/>
</td>
<td>
<img alt="space-2" src="../space-2.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="space" src="../space.jpg" width="260" height="150"/>
</td>
<td>
<img alt="sparkles" src="../sparkles.png" width="260" height="150"/>
</td>
<td>
<img alt="spill" src="../spill.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="stars" src="../stars.png" width="260" height="150"/>
</td>
<td>
<img alt="street" src="../street.jpg" width="260" height="150"/>
</td>
<td>
<img alt="switch-2" src="../switch-2.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="switch" src="../switch.png" width="260" height="150"/>
</td>
<td>
<img alt="sword" src="../sword.jpg" width="260" height="150"/>
</td>
<td>
<img alt="tokyo" src="../tokyo.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="trigonometry" src="../trigonometry.png" width="260" height="150"/>
</td>
<td>
<img alt="underwater" src="../underwater.png" width="260" height="150"/>
</td>
<td>
<img alt="voxel-houses-monochrome" src="../voxel-houses-monochrome.png" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="waterfall" src="../waterfall.png" width="260" height="150"/>
</td>
<td>
<img alt="window-room" src="../window-room.png" width="260" height="150"/>
</td>
<td>
<img alt="windows-error" src="../windows-error.jpg" width="260" height="150"/>
</td>
</tr>
<tr>
<td>
<img alt="yohoho" src="../yohoho.jpg" width="260" height="150"/>
</td>
</tr>
</table>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
hypr/theme/walls/bridge.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
hypr/theme/walls/cabin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
hypr/theme/walls/cafe.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 KiB

BIN
hypr/theme/walls/car-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 KiB

BIN
hypr/theme/walls/car.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
hypr/theme/walls/city.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
hypr/theme/walls/cool.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

BIN
hypr/theme/walls/cyberpunk-2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
hypr/theme/walls/cyberpunk.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 KiB

BIN
hypr/theme/walls/fuji-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
hypr/theme/walls/fuji.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 KiB

BIN
hypr/theme/walls/galaxy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
hypr/theme/walls/girl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

BIN
hypr/theme/walls/glitch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

Some files were not shown because too many files have changed in this diff Show More