MainDots/Config/hypr/hyprland.conf

337 lines
9.8 KiB
Plaintext
Executable File

# __ __ __ __ ____ #
# / // /_ _____ ____/ /__ ____ ___/ / _______ ___ / _(_)__ _ #
# / _ / // / _ \/ __/ / _ `/ _ \/ _ / / __/ _ \/ _ \/ _/ / _ `/ #
# /_//_/\_, / .__/_/ /_/\_,_/_//_/\_,_/ \__/\___/_//_/_//_/\_, / #
# /___/_/ /___/ #
#DEFAULT THINGS.
# Mod key.
$mainMod = SUPER
# Default programs.
$wlp = swaybg -i /home/lilac/Media/Pics/Walls/Cat/Min/min-4.png
$btmbar = waybar -c /home/lilac/.config/waybar/hz/config.jsonc -s /home/lilac/.config/waybar/hz/style.css
$lftbar = waybar -c /home/lilac/.config/waybar/vt/config.jsonc -s /home/lilac/.config/waybar/vt/style.css
$term = foot #Terminal emulator.
$fmt = foot -e lf #File manager.
$fmg = nemo #File manager.
$mpt = foot --title=cmus -e cmus #Music player.
$vc = foot --title=vc -e pulsemixer
$sm = foot --title=smtr -e htop
# Some default env vars.
env = XCURSOR_SIZE,28
# Display configuration.
monitor=eDP-1,1920x1080@60,0x0,1
#AUTOSTART.
# Autostart for Hyprland's FULL RESTART.
exec-once = $btmbar
#exec = $wlp
exec-once = $wlp
# Autostart for Hyprland's CONFIG RELOAD.
exec = hyprctl setcursor GoogleDot-White 28
exec = export QT_QPA_PLATFORM=wayland
exec = export QT_QPA_PLATFORMTHEME="gtk3"
exec = export QT_DISABLE_WINDOWDECORATION=1
# Apllications (windows) rules.
windowrule = workspace 1, waterfox
windowrule = noborder, waterfox
windowrule = workspace 3, 64gram-desktop
windowrule = xray 1, io.github.tdesktop_x64.TDesktop
windowrule = noborder, io.github.tdesktop_x64.TDesktop
windowrule = workspace 5, krita
windowrule = noborder, krita
windowrule = workspace 6, prismlauncher
windowrule = workspace 4, mpv
windowrule = workspace 2, foot
windowrule = xray 1, foot
windowrule = workspace 3, signal-desktop
windowrule = float, swayimg
windowrule = center, swayimg
windowrule = workspace 4, swayimg
windowrule = size 1250 700, swayimg
windowrule = move 330 15%, swayimg
windowrulev2 = float,^(foot)$,title:^(cmus)$
windowrulev2 = center,^(foot)$,title:^(cmus)$
windowrulev2 = size 1250 700,^(foot)$,title:^(cmus)
windowrulev2 = move 330 15%,^(foot)$,title:^(cmus)
windowrulev2 = workspace 4,^(foot)$,title:^(cmus)$
windowrulev2 = float,^(foot)$,title:^(smtr)$
windowrulev2 = pin,^(foot)$,title:^(smtr)$
windowrulev2 = center,^(foot)$,title:^(smtr)$
windowrulev2 = size 800 550,^(foot)$,title:^(smtr)
windowrulev2 = move 29% 42.4%,^(foot)$,title:^(smtr)
windowrulev2 = workspace unset,^(foot)$,title:^(smtr)$
windowrulev2 = float,^(foot)$,title:^(vc)$
windowrulev2 = pin,^(foot)$,title:^(vc)$
windowrulev2 = center,^(foot)$,title:^(vc)$
windowrulev2 = size 800 550,^(foot)$,title:^(vc)
windowrulev2 = move 29% 42.4%,^(foot)$,title:^(vc)
windowrulev2 = workspace unset,^(foot)$,title:^(vc)$
# Layer rules.
#layerrule = blur, waybar
# SYSTEM SHORTCUTS.
bind = $mainMod SHIFT, C, exec, bluetoothctl connect 0C:AE:BD:DB:52:3A
bind = $mainMod SHIFT, D, exec, bluetoothctl disconnect 0C:AE:BD:DB:52:3A
# Brightness 5% step contol shortcuts.
bind= $mainMod, F5, exec, brightnessctl set 5%-
bind= $mainMod, F6, exec, brightnessctl set +5%
# Brightness 1% step contol shortcuts.
bind= $mainMod ALT, F5, exec, brightnessctl set 1%-
bind= $mainMod ALT, F6, exec, brightnessctl set +1%
# Toggle Waybar.
bindr=$mainMod, D, exec, pkill -SIGUSR1 waybar
bindr=$mainMod ALT, D, exec, pkill -SIGUSR2 waybar
bindr=$mainMod CTRL, D, exec, pkill waybar || waybar -c .config/waybar/hz/config.jsonc -s .config/waybar/hz/style.css
# Audio volume control shortcuts.
#bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
bind = $mainMod, F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
#bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
bind = $mainMod, F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
#bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
bind = $mainMod, F1, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
# Audio play/pause control shortcut.
bindl=, XF86AudioPlay, exec, cmus-remote --pause
bindl=, XF86AudioPlay, exec, playerctl play-pause
# Audio next song control shortcut.
bindl=, XF86AudioNext, exec, cmus-remote --next
bindl=, XF86AudioNext, exec, playerctl next
# Audio prev song control shortcut.
bindl=, XF86AudioPrev, exec, cmus-remote --prev
bindl=, XF86AudioPrev, exec, playerctl prev
# APPS SHORTCUTS.
# Applications shortcuts.
bind = $mainMod, Q, exec, $term
bind = $mainMod, E, exec, $fmt
bind = $mainMod ALT, T, exec, hyprctl dispatch exec [workspace 5] transmission-gtk
bind = $mainMod, C, exec, $mpt
bind = $mainMod, G, exec, pkill pulsemixer || $vc
bind = $mainMod ALT, G, exec, pkill htop || $sm
bind = $mainMod, T, exec, hyprctl dispatch exec [workspace 3] 64gram-desktop
bind = $mainMod, B, exec, hyprctl dispatch exec [workspace 1] waterfox
bind = $mainMod, M, exec, hyprctl dispatch exec [workspace 6] prismlauncher
bind = $mainMod, K, exec, hyprctl dispatch exec [workspace 5] krita
# Lock screen shortcut.
bind=$mainMod ALT, Delete, exec, gtklock -i
# Grim (screenshot tool) shortcut.
bind = , Print, exec, grim /home/lilac/Media/Pics/Scr/Screen-"$(date +%s)".png
bind = $mainMod, Print, exec, grim -g "$(slurp)" /home/lilac/Media/Pics/Scr/Screen-"$(date +%s)".png
# WINDOWS SHORTCUTS.
# Windows shortcuts.
bind = $mainMod, F, fullscreen,
bind = $mainMod, W, killactive,
bind = $mainMod SHIFT, M, exit,
bind = $mainMod, S, togglefloating,
bind = $mainMod, V, centerwindow, # dwindle
bind = $mainMod, R, fakefullscreen,
# Move focus shortcuts.
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Move floating windows.
bind = $mainMod SHIFT, right, moveactive, 30 0
bind = $mainMod SHIFT, left, moveactive, -30 0
bind = $mainMod SHIFT, up, moveactive, 0 -30
bind = $mainMod SHIFT, down, moveactive, 0 30
# Move floating windows with smaller steps.
bind = $mainMod SHIFT ALT, right, moveactive, 15 0
bind = $mainMod SHIFT ALT, left, moveactive, -15 0
bind = $mainMod SHIFT ALT, up, moveactive, 0 -15
bind = $mainMod SHIFT ALT, down, moveactive, 0 15
# Move floating windows to a screen edge.
bind = $mainMod ALT, Left, movewindow, l
bind = $mainMod ALT, Right, movewindow, r
bind = $mainMod ALT, Up, movewindow, u
bind = $mainMod ALT, Down, movewindow, d
# Resize windows.
bind = $mainMod CTRL, left, resizeactive,-30 0
bind = $mainMod CTRL, right, resizeactive,30 0
bind = $mainMod CTRL, up, resizeactive,0 -30
bind = $mainMod CTRL, down, resizeactive,0 30
bind = $mainMod ALT CTRL, left, resizeactive,-15 0
bind = $mainMod ALT CTRL, right, resizeactive,15 0
bind = $mainMod ALT CTRL, up, resizeactive,0 -15
bind = $mainMod ALT CTRL, down, resizeactive,0 15
# Move/resize windows with mouse/touchpad.
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
#Workspaces shortcuts.
# Switch 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
# Move active window to another workspace.
bind = $mainMod ALT, 1, movetoworkspace, 1
bind = $mainMod ALT, 2, movetoworkspace, 2
bind = $mainMod ALT, 3, movetoworkspace, 3
bind = $mainMod ALT, 4, movetoworkspace, 4
bind = $mainMod ALT, 5, movetoworkspace, 5
bind = $mainMod ALT, 6, movetoworkspace, 6
bind = $mainMod ALT, 7, movetoworkspace, 7
bind = $mainMod ALT, 8, movetoworkspace, 8
bind = $mainMod ALT, 9, movetoworkspace, 9
bind = $mainMod ALT, 0, movetoworkspace, 10
# Scroll through existing workspaces.
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Input things.
input {
#Keyboard layout.
kb_layout = us, ru
kb_variant =
kb_model =
kb_options = grp:win_space_toggle
kb_rules =
left_handed = false
follow_mouse = 1
#TouchPad.
touchpad {
natural_scroll = no
disable_while_typing=0
}
#Mouse.
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
# TOUCHPAD GESTURES.
gestures {
workspace_swipe = on
workspace_swipe_fingers = 3
workspace_swipe_distance = 80
workspace_swipe_min_speed_to_force = 10
}
# APPEARANCE.
# Basics.
general {
cursor_inactive_timeout = 10
gaps_in = 7
gaps_out = 14
border_size = 3
col.active_border = rgb(313244) #rgb(45475a) rgb(45475a) rgb(b4befe) 40deg
#col.active_border = rgb(181825) #rgb(b4befe) rgb(45475a) rgb(45475a) rgb(b4befe) 40deg
col.inactive_border = rgb(181825)
layout = master
allow_tearing = false
}
# Windows decorations.
decoration {
rounding = 12
dim_inactive = true
blur {
enabled = true
size = 4
passes = 3
xray = true
}
# Shadows.
drop_shadow = yes
shadow_range = 70
shadow_render_power = 5
col.shadow= 0x55000000
col.shadow_inactive=0x55000000
}
# Animations.
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.0
bezier = myBezier1, 0.05, 1.00, 0.1, 1.0
bezier = myBezier2, 0.05, 1.00, 0.1, 1.0
animation = windows, 1, 7, myBezier2, popin
animation = windowsOut, 1, 7, myBezier2, popin 80%
animation = border, 1, 7, default
animation = borderangle, 0, 7, myBezier1
animation = fade, 1, 7, myBezier1
animation = workspaces, 1, 7, myBezier, slide
}
# LAYOUT THINGS.
# DWindle layout.
dwindle {
pseudotile = yes
preserve_split = yes
smart_split = no
no_gaps_when_only = 1
}
# Master layout (In use now).
master {
new_is_master = false
no_gaps_when_only = 1
mfact = 0.62
}
# OTHER THINGS.
misc {
animate_manual_resizes = true
force_default_wallpaper = 0
disable_hyprland_logo = true # Set to 0 to disable the anime mascot wallpapers
}
#device:epic-mouse-v1 {
# sensitivity = -0.5
#}