stow
This commit is contained in:
2
config/hypr/.config/hypr/.gitignore
vendored
Normal file
2
config/hypr/.config/hypr/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
shaders
|
||||
wallpaper*
|
||||
30
config/hypr/.config/hypr/apply-color
Executable file
30
config/hypr/.config/hypr/apply-color
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
path=$(dirname "$(readlink -f "$0")")
|
||||
[ -f "$HOME/.local/snippets/apply-color-helper" ] || {
|
||||
echo "Missing helper script: $HOME/.local/snippets/apply-color-helper"
|
||||
exit 1
|
||||
}
|
||||
. "$HOME/.local/snippets/apply-color-helper"
|
||||
|
||||
file="$path"/hyprland/colors.conf
|
||||
|
||||
sed -i -E "s/^(\s*col\.active_border\s*=\s*rgba\()([0-9A-Fa-f]{6})([0-9A-Fa-f]{2}\))$/\1${colorHex}\3/" "$file" || {
|
||||
log_error "Failed to edit ${file} for entry col.active_border"
|
||||
exit 1
|
||||
}
|
||||
|
||||
sed -i -E "s/^(\s*col\.inactive_border\s*=\s*rgba\()([0-9A-Fa-f]{6})([0-9A-Fa-f]{2}\))$/\1${colorHex}\3/" "$file" || {
|
||||
log_error "Failed to edit ${file} for entry col.active_border"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if pgrep -x "hyprland" -u "$USER" >/dev/null; then
|
||||
hyprctl reload || {
|
||||
log_error "Failed to reload Hyprland"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
|
||||
log_success "hyprland"
|
||||
|
||||
23
config/hypr/.config/hypr/hypridle.conf
Executable file
23
config/hypr/.config/hypr/hypridle.conf
Executable file
@@ -0,0 +1,23 @@
|
||||
$lock_cmd = pidof hyprlock || hyprlock
|
||||
$suspend_cmd = pidof steam || systemctl suspend || loginctl suspend # fuck nvidia
|
||||
|
||||
general {
|
||||
lock_cmd = $lock_cmd
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 180 # 3mins
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5mins
|
||||
on-timeout = hyprctl dispatch dpms off || niri msg action power-off-monitors
|
||||
on-resume = hyprctl dispatch dpms on || true
|
||||
}
|
||||
|
||||
#listener {
|
||||
# timeout = 540 # 9mins
|
||||
# on-timeout = $suspend_cmd
|
||||
#}
|
||||
7
config/hypr/.config/hypr/hyprland.conf
Executable file
7
config/hypr/.config/hypr/hyprland.conf
Executable file
@@ -0,0 +1,7 @@
|
||||
source=~/.config/hypr/hyprland/env.conf
|
||||
source=~/.config/hypr/hyprland/execs.conf
|
||||
source=~/.config/hypr/hyprland/general.conf
|
||||
source=~/.config/hypr/hyprland/rules.conf
|
||||
source=~/.config/hypr/hyprland/colors.conf
|
||||
source=~/.config/hypr/hyprland/keybinds.conf
|
||||
source=~/.config/hypr/hyprland/monitors.conf
|
||||
12
config/hypr/.config/hypr/hyprland/colors.conf
Executable file
12
config/hypr/.config/hypr/hyprland/colors.conf
Executable file
@@ -0,0 +1,12 @@
|
||||
# exec = export SLURP_ARGS='-d -c BFE9F8BB -b 214C5844 -s 00000000'
|
||||
|
||||
general {
|
||||
col.active_border = rgba(89b4faff)
|
||||
col.inactive_border = rgba(89b4fa80)
|
||||
}
|
||||
|
||||
misc {
|
||||
background_color = rgba(181825FF)
|
||||
}
|
||||
|
||||
windowrulev2 = bordercolor rgba(00DCE3AA) rgba(00DCE377),pinned:1
|
||||
28
config/hypr/.config/hypr/hyprland/env.conf
Executable file
28
config/hypr/.config/hypr/hyprland/env.conf
Executable file
@@ -0,0 +1,28 @@
|
||||
# ######### Input method ##########
|
||||
# See https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland
|
||||
env = QT_IM_MODULE, fcitx
|
||||
env = XMODIFIERS, @im=fcitx
|
||||
# env = GTK_IM_MODULE, fcitx
|
||||
env = SDL_IM_MODULE, fcitx
|
||||
env = GLFW_IM_MODULE, ibus
|
||||
env = INPUT_METHOD, fcitx
|
||||
|
||||
# ############ Themes #############
|
||||
env = QT_QPA_PLATFORM, wayland
|
||||
env = QT_QPA_PLATFORMTHEME, kde
|
||||
env = QT_STYLE_OVERRIDE, kvantum
|
||||
# env = WLR_NO_HARDWARE_CURSORS, 1
|
||||
|
||||
# ######## Screen tearing #########
|
||||
# env = WLR_DRM_NO_ATOMIC, 1
|
||||
|
||||
# ############ nvidia #############
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = NVD_BACKEND,direct
|
||||
#env = AQ_DRM_DEVICES,$HYPR_AQ_DRM_DEVICES
|
||||
|
||||
# ############ others #############
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||
48
config/hypr/.config/hypr/hyprland/execs.conf
Executable file
48
config/hypr/.config/hypr/hyprland/execs.conf
Executable file
@@ -0,0 +1,48 @@
|
||||
# Switch configs
|
||||
exec-once = config-switch Hyprland
|
||||
|
||||
# Bar, wallpaper
|
||||
exec-once = waybar
|
||||
exec-once = wallpaper-daemon
|
||||
|
||||
# Input method
|
||||
exec-once = fcitx5
|
||||
|
||||
# Core components (authentication, lock screen, notification daemon)
|
||||
exec-once = gnome-keyring-daemon --start --components=secrets
|
||||
# exec-once = hyprpolkitagent
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = hypridle
|
||||
exec-once = dbus-update-activation-environment --all
|
||||
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
|
||||
exec-once = hyprpm reload
|
||||
exec-once = mako
|
||||
exec-once = nm-applet
|
||||
exec-once = blueman-applet
|
||||
exec-once = eww daemon
|
||||
|
||||
# Audio
|
||||
# exec-once = easyeffects --gapplication-service
|
||||
|
||||
# Clipboard: history
|
||||
# exec-once = wl-paste --watch cliphist store &
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
|
||||
# Cursor
|
||||
exec-once = hyprctl setcursor Bibata-Modern-Ice 24
|
||||
|
||||
# Plugins
|
||||
exec-once = hyprctl plugin load "/usr/lib/libhyprexpo.so"
|
||||
|
||||
# dock
|
||||
# exec-once = nwg-dock-hyprland -d -i 32 -c "fuzzel" -ico "$HOME/.config/nwg-dock-hyprland/archlinux.png"
|
||||
|
||||
# Logitech Mouse
|
||||
exec-once = solaar -w hide
|
||||
|
||||
# Applications associations
|
||||
exec-once = kbuildsycoca6
|
||||
|
||||
# Sunshine
|
||||
exec-once = sunshine
|
||||
186
config/hypr/.config/hypr/hyprland/general.conf
Executable file
186
config/hypr/.config/hypr/hyprland/general.conf
Executable file
@@ -0,0 +1,186 @@
|
||||
input {
|
||||
# Keyboard: Add a layout and uncomment kb_options for Win+Space switching shortcut
|
||||
kb_layout = de
|
||||
# kb_options = grp:win_space_toggle
|
||||
# kb_options = caps:swapescape
|
||||
numlock_by_default = true
|
||||
repeat_delay = 250
|
||||
repeat_rate = 35
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
disable_while_typing = true
|
||||
clickfinger_behavior = true
|
||||
scroll_factor = 0.5
|
||||
}
|
||||
special_fallthrough = true
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = -0.25
|
||||
}
|
||||
|
||||
binds {
|
||||
# focus_window_on_workspace_c# For Auto-run stuff see execs.confhange = true
|
||||
scroll_event_delay = 0
|
||||
}
|
||||
|
||||
gesture = 4, horizontal, workspace
|
||||
gestures {
|
||||
workspace_swipe_distance = 700
|
||||
workspace_swipe_cancel_ratio = 0.2
|
||||
workspace_swipe_min_speed_to_force = 5
|
||||
workspace_swipe_direction_lock = true
|
||||
workspace_swipe_direction_lock_threshold = 10
|
||||
workspace_swipe_create_new = true
|
||||
}
|
||||
|
||||
general {
|
||||
# Gaps and border
|
||||
gaps_in = 2
|
||||
gaps_out = 0
|
||||
gaps_workspaces = 50
|
||||
border_size = 2
|
||||
|
||||
resize_on_border = true
|
||||
no_focus_fallback = true
|
||||
layout = master
|
||||
|
||||
#focus_to_other_workspaces = true # ahhhh i still haven't properly implemented this
|
||||
allow_tearing = true # This just allows the `immediate` window rule to work
|
||||
|
||||
snap {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
dwindle {
|
||||
preserve_split = true
|
||||
smart_split = false
|
||||
smart_resizing = false
|
||||
}
|
||||
|
||||
master {
|
||||
new_on_active = after
|
||||
mfact = 0.6
|
||||
orientation = right
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 14
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
xray = true
|
||||
special = false
|
||||
new_optimizations = true
|
||||
size = 14
|
||||
passes = 4
|
||||
brightness = 1
|
||||
noise = 0.01
|
||||
contrast = 1
|
||||
popups = true
|
||||
popups_ignorealpha = 0.6
|
||||
input_methods = true
|
||||
input_methods_ignorealpha = 0.8
|
||||
}
|
||||
|
||||
# Shadow
|
||||
shadow {
|
||||
enabled = true
|
||||
ignore_window = true
|
||||
range = 20
|
||||
offset = 0 2
|
||||
render_power = 4
|
||||
color = rgba(0000002A)
|
||||
}
|
||||
|
||||
# Dim
|
||||
dim_inactive = false
|
||||
dim_strength = 0.1
|
||||
dim_special = 0
|
||||
|
||||
active_opacity = 1
|
||||
inactive_opacity = 0.9
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
# Animation configs
|
||||
animation = windows, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsIn, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsOut, 1, 3, md3_accel, popin 60%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 3, md3_decel
|
||||
# animation = layers, 1, 2, md3_decel, slide
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 2, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
# animation = workspaces, 1, 2.5, softAcDecel, slide
|
||||
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
|
||||
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
|
||||
misc {
|
||||
vfr = true
|
||||
mouse_move_enables_dpms = true
|
||||
key_press_enables_dpms = true
|
||||
animate_manual_resizes = false
|
||||
animate_mouse_windowdragging = false
|
||||
enable_swallow = false
|
||||
swallow_regex = (foot|kitty|allacritty|Alacritty)
|
||||
|
||||
disable_hyprland_logo = true
|
||||
force_default_wallpaper = 0
|
||||
new_window_takes_over_fullscreen = 2
|
||||
allow_session_lock_restore = true
|
||||
|
||||
initial_workspace_tracking = false
|
||||
# focus_on_activate = true
|
||||
|
||||
middle_click_paste = false
|
||||
}
|
||||
|
||||
plugin {
|
||||
hyprexpo {
|
||||
columns = 3
|
||||
gap_size = 5
|
||||
bg_col = rgb(181825)
|
||||
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
|
||||
enable_gesture = true # laptop touchpad, 4 fingers
|
||||
gesture_distance = 200 # how far is the "max"
|
||||
gesture_positive = false
|
||||
}
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
debug {
|
||||
# overlay = true
|
||||
disable_logs = false
|
||||
}
|
||||
|
||||
experimental {
|
||||
xx_color_management_v4 = true
|
||||
}
|
||||
175
config/hypr/.config/hypr/hyprland/keybinds.conf
Executable file
175
config/hypr/.config/hypr/hyprland/keybinds.conf
Executable file
@@ -0,0 +1,175 @@
|
||||
# Lines ending with `# [hidden]` won't be shown on cheatsheet
|
||||
# Lines starting with #! are section headings
|
||||
|
||||
#!
|
||||
##! Apps
|
||||
bind = Super, C, exec, code --password-store=gnome-libsecret # Launch VSCode (editor)
|
||||
bind = Super, E, exec, dolphin --new-window # Launch file manager
|
||||
bind = Super, W, exec, zen --new-window # Launch Browser
|
||||
bind = Super, X, exec, gnome-text-editor # Launch Text Editor
|
||||
bind = Super, B, exec, killall btop || ghostty -e btop # Launch btop (system monitor)
|
||||
bind = Super, Space, exec, eww open main --toggle # Launch dashboard (eww)
|
||||
bind = Super+Shift, V, exec, pavucontrol # Launch pavucontrol (volume mixer)
|
||||
bind = Super+Shift, K, exec, waybar-toggle # Toggle waybar
|
||||
bind = Super+Shift, L, exec, lyrics-widgets # Toggle lyrics player
|
||||
bind = Super+Shift, F, exec, coin # Flip a coin
|
||||
|
||||
#!
|
||||
##! Essentials
|
||||
bind = Super, T, exec, kitty # Launch kitty (terminal)
|
||||
bind = Super, Return, exec, kitty # [hidden]
|
||||
bind = Super+Shift, Return, exec, ghostty # [hidden]
|
||||
bind = Alt, Space, exec, pkill rofi || rofi -show drun # [hidden] Launch app launcher
|
||||
bind = Super, Super_L, exec, pkill rofi || rofi -show drun # [hidden] Launch app launcher
|
||||
bind = Super, R, exec, pkill rofi || rofi -show run # Launch command launcher
|
||||
bind = , mouse:277, exec, killall rofi || rofi -show drun
|
||||
|
||||
##! Actions
|
||||
# Screenshot, Record, OCR, Color picker, Clipboard history
|
||||
bind = Super, V, exec, pkill rofi || cliphist list | rofi -dmenu -config ~/.config/rofi/dmenu.rasi -display-columns 2 -i | cliphist decode | wl-copy # Clipboard history >> clipboard
|
||||
bind = Super, Period, exec, pkill rofi || rofi-emoji # Pick emoji >> clipboard
|
||||
bind = Ctrl+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell # [hidden]
|
||||
bind = Super+Shift, S, exec, screenshot area # Screen snip
|
||||
bind = Super+Ctrl+Shift, S, exec, screenshot window # Screen snip (window)
|
||||
bind = , Print, exec, screenshot full # Screen snip (whole screen)
|
||||
# Color picker
|
||||
bind = Super+Shift, C, exec, hyprpicker -a # Pick color (Hex) >> clipboard
|
||||
# Fullscreen screenshot
|
||||
# bindl=,Print,exec,grim - | wl-copy # Screenshot >> clipboard
|
||||
# bindl= Ctrl,Print, exec, mkdir -p ~/Pictures/Screenshots && ~/.config/ags/scripts/grimblast.sh copysave screen ~/Pictures/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file
|
||||
# Recording stuff
|
||||
# bind = Super+Alt, R, exec, ~/.config/ags/scripts/record-script # Record region (no sound)
|
||||
# bind = Ctrl+Alt, R, exec, ~/.config/ags/scripts/record-script --fullscreen # [hidden] Record screen (no sound)
|
||||
bind = Super+Alt, R, exec, record-script --fullscreen-sound # Record screen (with sound)
|
||||
# wallpaper
|
||||
bind = Super+Shift, W, exec, wallpaper-chooser # Launch wallpaper chooser
|
||||
|
||||
##! Session
|
||||
# bind = Ctrl+Super, L, exec, ags run-js 'lock.lock()' # [hidden]
|
||||
bind = Super, L, exec, loginctl lock-session # Lock
|
||||
bindl = Ctrl+Shift+Alt+Super, L, exec, sleep 0.1 && systemctl suspend || loginctl suspend # Suspend system
|
||||
bind = Ctrl+Shift+Alt+Super, Delete, exec, systemctl poweroff || loginctl poweroff # [hidden] Power off
|
||||
|
||||
#!
|
||||
##! Media
|
||||
bindl= Super+Shift, N, exec, playerctl next # Next track
|
||||
bindl= ,XF86AudioNext, exec, playerctl next # [hidden]
|
||||
bindl= ,XF86AudioPrev, exec, playerctl previous # [hidden]
|
||||
bind = Super+Shift+Alt, mouse:275, exec, playerctl previous # [hidden]
|
||||
bind = Super+Shift+Alt, mouse:276, exec, playerctl next # [hidden]
|
||||
bindl= Super+Shift, B, exec, playerctl previous # Previous track
|
||||
bindl= Super+Shift, P, exec, playerctl play-pause # Play/pause media
|
||||
bindl= ,XF86AudioPlay, exec, playerctl play-pause # [hidden]
|
||||
bindl= ,XF86AudioPause, exec, playerctl play-pause # [hidden]
|
||||
|
||||
#!
|
||||
##! Sound & Brightness
|
||||
bindl = ,XF86AudioMute, exec, pamixer --toggle-mute # [hidden]
|
||||
bindl = Super+Shift, M, exec, pamixer --toggle-mute # [hidden]
|
||||
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ && wp-vol # [hidden]
|
||||
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && wp-vol # [hidden]
|
||||
|
||||
bindle=, XF86MonBrightnessUp, exec, brightnessctl -d $DISPLAY_DEVICE set 5%+ # [hidden]
|
||||
bindle=, XF86MonBrightnessDown, exec, brightnessctl -d $DISPLAY_DEVICE set 5%- # [hidden]
|
||||
|
||||
#!
|
||||
##! Window management
|
||||
# Focusing
|
||||
#/# bind = Super, ←/↑/→/↓,, # Move focus in direction
|
||||
bind = Super, Left, movefocus, l # [hidden]
|
||||
bind = Super, Right, movefocus, r # [hidden]
|
||||
bind = Super, Up, movefocus, u # [hidden]
|
||||
bind = Super, Down, movefocus, d # [hidden]
|
||||
bindm = Super, mouse:272, movewindow
|
||||
bindm = Super, mouse:273, resizewindow
|
||||
bind = Super, Q, killactive,
|
||||
bind = Super, mouse:274, killactive # [hidden] Kill active window
|
||||
bind = Super+Shift+Alt, Q, exec, hyprctl kill # Pick and kill a window
|
||||
|
||||
##! Window arrangement
|
||||
#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction
|
||||
bind = Super+Shift, Left, movewindow, l # [hidden]
|
||||
bind = Super+Shift, Right, movewindow, r # [hidden]
|
||||
bind = Super+Shift, Up, movewindow, u # [hidden]
|
||||
bind = Super+Shift, Down, movewindow, d # [hidden]
|
||||
# Window split ratio
|
||||
#/# binde = Super, +/-,, # Window: split ratio +/- 0.1
|
||||
binde = Super, udiaeresis, splitratio, -0.1 # [hidden]
|
||||
binde = Super, plus, splitratio, +0.1 # [hidden]
|
||||
# Positioning mode
|
||||
bind = Super+Alt, Space, togglefloating,
|
||||
bind = Super, mouse:276, togglefloating # [hidden]
|
||||
bind = Super+Alt, F, fullscreenstate, 0 3 # Toggle fake fullscreen
|
||||
bind = Super, F, fullscreen, 0
|
||||
bind = Super, D, fullscreen, 1
|
||||
bind = Super, J, togglesplit
|
||||
bind = Super, O, plugin:uyani:organize # https://github.com/Uyanide/hyprplug
|
||||
bind = Super, H, layoutmsg, orientationcycle left right
|
||||
|
||||
#!
|
||||
##! Workspace navigation
|
||||
# Switching
|
||||
#/# bind = Super, Hash,, # Focus workspace # (1, 2, 3, 4, ...)
|
||||
bind = Super, 1, workspace, 1 # [hidden]
|
||||
bind = Super, 2, workspace, 2 # [hidden]
|
||||
bind = Super, 3, workspace, 3 # [hidden]
|
||||
bind = Super, 4, workspace, 4 # [hidden]
|
||||
bind = Super, 5, workspace, 5 # [hidden]
|
||||
bind = Super, 6, workspace, 6 # [hidden]
|
||||
bind = Super, 7, workspace, 7 # [hidden]
|
||||
bind = Super, 8, workspace, 8 # [hidden]
|
||||
bind = Super, 9, workspace, 9 # [hidden]
|
||||
bind = Super, 0, workspace, 10 # [hidden]
|
||||
#/# bind = Ctrl+Super, ←/→,, # Workspace: focus left/right
|
||||
bind = Ctrl+Super, Right, workspace, +1 # [hidden]
|
||||
bind = Ctrl+Super, Left, workspace, -1 # [hidden]
|
||||
#/# bind = Super, Scroll ↑/↓,, # Workspace: focus left/right
|
||||
bind = Super, mouse_up, workspace, +1 # [hidden]
|
||||
bind = Super, mouse_down, workspace, -1 # [hidden]
|
||||
bind = Ctrl+Super, mouse_up, workspace, +1 # [hidden]
|
||||
bind = Ctrl+Super, mouse_down, workspace, -1 # [hidden]
|
||||
bind = Super, mouse_left, workspace, -1 # [hidden]
|
||||
bind = Super, mouse_right, workspace, +1 # [hidden]
|
||||
bind = Ctrl+Super, mouse_left, workspace, -1 # [hidden]
|
||||
bind = Ctrl+Super, mouse_right, workspace, +1 # [hidden]
|
||||
#/# bind = Super, Page_↑/↓,, # Workspace: focus left/right
|
||||
bind = Super, Page_Down, workspace, +1 # [hidden]
|
||||
bind = Super, Page_Up, workspace, -1 # [hidden]
|
||||
bind = Ctrl+Super, Page_Down, workspace, +1 # [hidden]
|
||||
bind = Ctrl+Super, Page_Up, workspace, -1 # [hidden]
|
||||
## Special
|
||||
bind = Super, S, togglespecialworkspace, s
|
||||
bind = Super, mouse:275, togglespecialworkspace, s # [hidden]
|
||||
|
||||
##! Workspace management
|
||||
# Move window to workspace Super + Alt + [0-9]
|
||||
#/# bind = Super+Alt, Hash,, # Window: move to workspace # (1, 2, 3, 4, ...)
|
||||
bind = Super+Alt, 1, movetoworkspacesilent, 1 # [hidden]
|
||||
bind = Super+Alt, 2, movetoworkspacesilent, 2 # [hidden]
|
||||
bind = Super+Alt, 3, movetoworkspacesilent, 3 # [hidden]
|
||||
bind = Super+Alt, 4, movetoworkspacesilent, 4 # [hidden]
|
||||
bind = Super+Alt, 5, movetoworkspacesilent, 5 # [hidden]
|
||||
bind = Super+Alt, 6, movetoworkspacesilent, 6 # [hidden]
|
||||
bind = Super+Alt, 7, movetoworkspacesilent, 7 # [hidden]
|
||||
bind = Super+Alt, 8, movetoworkspacesilent, 8 # [hidden]
|
||||
bind = Super+Alt, 9, movetoworkspacesilent, 9 # [hidden]
|
||||
bind = Super+Alt, 0, movetoworkspacesilent, 10 # [hidden]
|
||||
bind = Ctrl+Super+Shift, Right, movetoworkspace, +1 # [hidden]
|
||||
bind = Ctrl+Super+Shift, Left, movetoworkspace, -1 # [hidden]
|
||||
bind = Ctrl+Super, Up, workspace, -5 # [hidden]
|
||||
bind = Ctrl+Super, Down, workspace, +5 # [hidden]
|
||||
#/# bind = Super+Shift, Scroll ↑/↓,, # Window: move to workspace left/right
|
||||
bind = Super+Shift, mouse_down, movetoworkspace, -1 # [hidden]
|
||||
bind = Super+Shift, mouse_up, movetoworkspace, +1 # [hidden]
|
||||
bind = Super+Shift, mouse_left, movetoworkspace, -1 # [hidden]
|
||||
bind = Super+Shift, mouse_right, movetoworkspace, +1 # [
|
||||
#/# bind = Super+Shift, Page_↑/↓,, # Window: move to workspace left/right
|
||||
bind = Super+Shift, Page_Down, movetoworkspace, +1 # [hidden]
|
||||
bind = Super+Shift, Page_Up, movetoworkspace, -1 # [hidden]
|
||||
bind = Super+Alt, S, movetoworkspacesilent, special:s
|
||||
bind = Super, P, pin
|
||||
bind = Alt, Tab, cyclenext
|
||||
bind = Super, Tab, hyprexpo:expo, toggle # can be: toggle, select, off/disable or on/enable
|
||||
bind = Super+Ctrl, T, exec, workspace-new # Create new workspace
|
||||
|
||||
bind = Super, M, exit
|
||||
18
config/hypr/.config/hypr/hyprland/monitors.conf
Normal file
18
config/hypr/.config/hypr/hyprland/monitors.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
# MONITOR CONFIG
|
||||
monitor=,preferred,auto,1
|
||||
|
||||
# monitor=eDP-1,2560x1600@240,auto,1.25,bitdepth,10
|
||||
monitor=eDP-2,2560x1600@240,auto,1.25,bitdepth,10
|
||||
|
||||
monitorv2 {
|
||||
output = eDP-1
|
||||
mode = 2560x1600@240
|
||||
scale = 1.25
|
||||
bitdepth = 10
|
||||
|
||||
# # comment out following lines to disabled HDR
|
||||
# supports_wide_color = true
|
||||
# supports_hdr = true
|
||||
# cm = hdr
|
||||
# sdrbrightness = 1.4
|
||||
}
|
||||
93
config/hypr/.config/hypr/hyprland/rules.conf
Executable file
93
config/hypr/.config/hypr/hyprland/rules.conf
Executable file
@@ -0,0 +1,93 @@
|
||||
# ######## Window rules ########
|
||||
|
||||
# Uncomment to apply global transparency to all windows:
|
||||
# windowrulev2 = opacity 0.89 override 0.89 override, class:.*
|
||||
|
||||
# Disable blur for XWayland windows (or context menus with shadow would look weird)
|
||||
windowrulev2 = noblur, xwayland:1
|
||||
|
||||
# Disable transparency
|
||||
windowrulev2 = opacity 1 override 1 override, class:^(gimp)$
|
||||
|
||||
# Terminal(s)
|
||||
windowrulev2 = float, class:^(com.mitchellh.ghostty)$
|
||||
windowrulev2 = size 60%, class:^(com.mitchellh.ghostty)$
|
||||
windowrulev2 = opacity 1 override 0.8 override, class:^(com.mitchellh.ghostty)$
|
||||
windowrulev2 = opacity 1 override 0.8 override, class:^(kitty)$
|
||||
|
||||
# Floating
|
||||
windowrulev2 = float, class:^(blueberry\.py)$
|
||||
windowrulev2 = float, class:^(blueman-manager)$
|
||||
windowrulev2 = size 45%, class:^(blueman-manager)$
|
||||
windowrulev2 = float, class:^(pavucontrol)$
|
||||
windowrulev2 = size 45%, class:^(pavucontrol)$
|
||||
windowrulev2 = center, class:^(pavucontrol)$
|
||||
windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = size 45%, class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = center, class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = float, class:^(Waydroid)$
|
||||
windowrulev2 = float, class:^(org.kde.kcalc)$
|
||||
windowrulev2 = float, class:^(org.kde.kalk)$
|
||||
windowrulev2 = float, class:^(org.gnome.NautilusPreviewer)$ # Sushi in Nautilus
|
||||
windowrulev2 = float, class:^(coin)$
|
||||
windowrulev2 = noblur, class:^(coin)$
|
||||
windowrulev2 = bordersize 0, class:^(coin)$
|
||||
windowrulev2 = noshadow, class:^(coin)
|
||||
windowrulev2 = float, class:^(wallpaper-chooser)$
|
||||
windowrulev2 = float, class:^(be.alexandervanhee.gradia)$
|
||||
windowrulev2 = float, title:^(图片查看器)$ # QQ
|
||||
|
||||
# Picture-in-Picture
|
||||
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrulev2 = keepaspectratio, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrulev2 = move 73% 72%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrulev2 = size 25%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
windowrulev2 = pin, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
||||
|
||||
# Dialog windows – float+center these windows.
|
||||
windowrulev2 = center, title:^(Open File)(.*)$
|
||||
windowrulev2 = center, title:^(Select a File)(.*)$
|
||||
windowrulev2 = center, title:^(Choose wallpaper)(.*)$
|
||||
windowrulev2 = center, title:^(Open Folder)(.*)$
|
||||
windowrulev2 = center, title:^(Save As)(.*)$
|
||||
windowrulev2 = center, title:^(Library)(.*)$
|
||||
windowrulev2 = center, title:^(File Upload)(.*)$
|
||||
windowrulev2 = float, title:^(Open File)(.*)$
|
||||
windowrulev2 = float, title:^(Select a File)(.*)$
|
||||
windowrulev2 = float, title:^(Choose wallpaper)(.*)$
|
||||
windowrulev2 = float, title:^(Open Folder)(.*)$
|
||||
windowrulev2 = float, title:^(Save As)(.*)$
|
||||
windowrulev2 = float, title:^(Library)(.*)$
|
||||
windowrulev2 = float, title:^(File Upload)(.*)$
|
||||
|
||||
|
||||
# --- Tearing ---
|
||||
windowrulev2 = immediate, title:.*\.exe
|
||||
windowrulev2 = immediate, class:^(steam_app)
|
||||
|
||||
# No shadow for tiled windows (matches windows that are not floating).
|
||||
windowrulev2 = noshadow, floating:0
|
||||
|
||||
# ######## Workspace rules ########
|
||||
workspace = special:special, gapsout:30
|
||||
|
||||
# ######## Layer rules ########
|
||||
layerrule = xray 1, .*
|
||||
# layerrule = noanim, .*
|
||||
layerrule = noanim, walker
|
||||
layerrule = noanim, selection
|
||||
layerrule = noanim, overview
|
||||
layerrule = noanim, anyrun
|
||||
layerrule = noanim, indicator.*
|
||||
layerrule = noanim, osk
|
||||
layerrule = noanim, hyprpicker
|
||||
|
||||
layerrule = noanim, noanim
|
||||
layerrule = blur, gtk-layer-shell
|
||||
layerrule = ignorezero, gtk-layer-shell
|
||||
layerrule = blur, launcher
|
||||
layerrule = ignorealpha 0.5, launcher
|
||||
layerrule = blur, notifications
|
||||
layerrule = ignorealpha 0.69, notifications
|
||||
layerrule = blur, logout_dialog # wlogout
|
||||
319
config/hypr/.config/hypr/hyprlandd.conf
Normal file
319
config/hypr/.config/hypr/hyprlandd.conf
Normal file
@@ -0,0 +1,319 @@
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPRLAND CONFIG.
|
||||
# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hypr.land/Configuring/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Monitors/
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
#############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
###################
|
||||
### PERMISSIONS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Permissions/
|
||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
# for security reasons
|
||||
|
||||
# ecosystem {
|
||||
# enforce_permissions = 1
|
||||
# }
|
||||
|
||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hypr.land/Configuring/Variables/
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
|
||||
border_size = 2
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
|
||||
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
|
||||
# Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
|
||||
# NAME, X0, Y0, X1, Y1
|
||||
bezier = easeOutQuint, 0.23, 1, 0.32, 1
|
||||
bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = almostLinear, 0.5, 0.5, 0.75, 1
|
||||
bezier = quick, 0.15, 0, 0.1, 1
|
||||
|
||||
# Default animations, see https://wiki.hypr.land/Configuring/Animations/
|
||||
# NAME, ONOFF, SPEED, CURVE, [STYLE]
|
||||
animation = global, 1, 10, default
|
||||
animation = border, 1, 5.39, easeOutQuint
|
||||
animation = windows, 1, 4.79, easeOutQuint
|
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
animation = fadeIn, 1, 1.73, almostLinear
|
||||
animation = fadeOut, 1, 1.46, almostLinear
|
||||
animation = fade, 1, 3.03, quick
|
||||
animation = layers, 1, 3.81, easeOutQuint
|
||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1.5, linear, fade
|
||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
animation = zoomFactor, 1, 7, quick
|
||||
}
|
||||
|
||||
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hypr.land/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Keywords/
|
||||
$mainMod = Alt # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, $terminal
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
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
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
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
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule
|
||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
debug {
|
||||
disable_logs = false
|
||||
overlay = true
|
||||
disable_time = false
|
||||
enable_stdout_logs = true
|
||||
}
|
||||
108
config/hypr/.config/hypr/hyprlock.conf
Executable file
108
config/hypr/.config/hypr/hyprlock.conf
Executable file
@@ -0,0 +1,108 @@
|
||||
# $text_color = rgba(D7E5E6FF)
|
||||
# $entry_background_color = rgba(09151611)
|
||||
# $entry_border_color = rgba(82949555)
|
||||
# $entry_color = rgba(B8CACBFF)
|
||||
$text_color = rgba(FFFFFFFF)
|
||||
$entry_background_color = rgba(33333360)
|
||||
$entry_border_color = rgba(3B3B3B64)
|
||||
$entry_color = rgba(FFFFFFFF)
|
||||
$font_family = Noto Sans
|
||||
$font_family_clock = Font Awesome 6 Free
|
||||
$font_material_symbols = Material Symbols Rounded
|
||||
|
||||
# workaround: https://github.com/hyprwm/hyprlock/issues/825
|
||||
animation = fade, 0
|
||||
# another wierd bug that only happens in hybrid mode :/
|
||||
|
||||
background {
|
||||
# color = rgba(041011FF)
|
||||
# color = rgba(000000FF)
|
||||
# path = {{ SWWW_WALL }}
|
||||
path = ~/Pictures/backgrounds/miku-space.jpg
|
||||
# blur_size = 5
|
||||
# blur_passes = 4
|
||||
}
|
||||
input-field {
|
||||
monitor =
|
||||
size = 250, 50
|
||||
outline_thickness = 2
|
||||
dots_size = 0.1
|
||||
dots_spacing = 0.3
|
||||
outer_color = $entry_border_color
|
||||
inner_color = $entry_background_color
|
||||
font_color = $entry_color
|
||||
# fade_on_empty = true
|
||||
|
||||
position = 100, -80
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
|
||||
label { # Clock
|
||||
monitor =
|
||||
text = $TIME
|
||||
shadow_passes = 1
|
||||
shadow_size = 15
|
||||
shadow_boost = 0.5
|
||||
color = $text_color
|
||||
font_size = 100
|
||||
font_family = $font_family_clock
|
||||
|
||||
position = 100, 120
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
label { # Greeting
|
||||
monitor =
|
||||
text = Hi, $USER
|
||||
shadow_passes = 1
|
||||
shadow_size = 15
|
||||
shadow_boost = 0.5
|
||||
color = $text_color
|
||||
font_size = 24
|
||||
font_family = $font_family
|
||||
|
||||
position = 100, 0
|
||||
halign = left
|
||||
valign = center
|
||||
}
|
||||
label { # lock icon
|
||||
monitor =
|
||||
text = lock
|
||||
shadow_passes = 1
|
||||
shadow_boost = 0.5
|
||||
color = $text_color
|
||||
font_size = 21
|
||||
font_family = $font_material_symbols
|
||||
|
||||
position = 100, 100
|
||||
halign = left
|
||||
valign = bottom
|
||||
}
|
||||
label { # "locked" text
|
||||
monitor =
|
||||
text = locked
|
||||
shadow_passes = 1
|
||||
shadow_boost = 0.5
|
||||
color = $text_color
|
||||
font_size = 14
|
||||
font_family = $font_family
|
||||
|
||||
position = 140, 105
|
||||
halign = left
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
label { # Status
|
||||
monitor =
|
||||
text = cmd[update:5000] ${XDG_CONFIG_HOME:-$HOME/.config}/hypr/hyprlock/status.sh
|
||||
shadow_passes = 1
|
||||
shadow_boost = 0.5
|
||||
color = $text_color
|
||||
font_size = 14
|
||||
font_family = $font_family
|
||||
|
||||
position = 100, -100
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
29
config/hypr/.config/hypr/hyprlock/status.sh
Executable file
29
config/hypr/.config/hypr/hyprlock/status.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
############ Variables ############
|
||||
enable_battery=false
|
||||
battery_charging=false
|
||||
|
||||
####### Check availability ########
|
||||
for battery in /sys/class/power_supply/*BAT*; do
|
||||
if [[ -f "$battery/uevent" ]]; then
|
||||
enable_battery=true
|
||||
if [[ $(cat /sys/class/power_supply/*/status | head -1) == "Charging" ]]; then
|
||||
battery_charging=true
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
############# Output #############
|
||||
if [[ $enable_battery == true ]]; then
|
||||
if [[ $battery_charging == true ]]; then
|
||||
echo -n "(+) "
|
||||
fi
|
||||
echo -n "$(cat /sys/class/power_supply/*/capacity | head -1)"%
|
||||
if [[ $battery_charging == false ]]; then
|
||||
echo -n " remaining"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ''
|
||||
Reference in New Issue
Block a user