dotfiles/.config/hypr/hyprland.conf

423 lines
13 KiB
Plaintext
Raw Normal View History

2023-12-25 13:36:16 +01:00
########################################################################################
AUTOGENERATED HYPR CONFIG.
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
########################################################################################
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
#monitor=name,resolution,position,scale
monitor=,preferred,auto,auto
# centered
# monitor=eDP-1,preferred,500x1107,2.0
monitor=eDP-1,preferred,0x1107,2.0
monitor=HDMI-A-1,preferred,0x0,1.3
# monitor=eDP-1, disable
2024-01-08 22:21:05 +01:00
# monitor=eDP-1,preferred,auto,1,mirror,HDMI-A-1
2023-12-25 13:36:16 +01:00
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
2024-01-08 22:21:05 +01:00
# exec-once = swaync
exec-once = ags
2023-12-25 13:36:16 +01:00
exec-once = /usr/libexec/kf5/polkit-kde-authentication-agent-1
2024-01-08 22:21:05 +01:00
exec-once = swaybg -i "$HOME/Pictures/Wallpapers/minimal.jpg"
2023-12-27 20:20:05 +01:00
# Dim screen after 60 seconds of inactivity
exec-once = swayidle -w timeout 60 'dim-screen &' resume 'undim-screen'
2023-12-29 08:18:51 +01:00
# Lock screen after idle for 120s
exec-once = swayidle -w timeout 120 'lock-screen'
2023-12-27 20:20:05 +01:00
# Dim screen 5 seconds after screen is locked. no -w option here.
exec-once = swayidle timeout 5 'if pgrep -x swaylock; then dim-screen; fi' resume 'undim-screen'
# Turn monitors off 20 seconds after screen is locked
exec-once = swayidle -w timeout 20 'if pgrep -x swaylock; then hyprctl dispatch dpms off; fi' resume 'hyprctl dispatch dpms on'
2023-12-25 13:36:16 +01:00
# exec-once = /usr/libexec/polkit-gnome-authentication-agent-1
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
2024-01-08 22:21:05 +01:00
# env = QT_QPA_PLATFORM,wayland,xcb
# env = GDK_BACKEND,x11
# unscale XWayland
# xwayland {
# force_zero_scaling = false
# }
# toolkit-specific scale
env = GDK_SCALE,1
2023-12-25 13:36:16 +01:00
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
2024-01-08 22:21:05 +01:00
kb_layout = tr,us
kb_variant = legacy-fix-ansi,
2023-12-25 13:36:16 +01:00
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = yes
drag_lock = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
device:apple-mtp-keyboard {
2024-01-08 22:21:05 +01:00
kb_layout = tr,us
kb_variant = legacy-fix-iso,
2023-12-25 13:36:16 +01:00
kb_model =
2024-01-08 22:21:05 +01:00
kb_options = altwin:alt_super_win,shift:both_capslock_cancel,lv3:ralt_switch,caps:ctrl_modifier
2023-12-25 13:36:16 +01:00
kb_rules =
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
2024-01-08 22:21:05 +01:00
gaps_in = 2
gaps_out = 8
2023-12-25 13:36:16 +01:00
border_size = 2
2024-01-08 22:21:05 +01:00
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.active_border = rgba(F9DEA9ee) rgba(F2C294ee) 45deg
# col.active_border = rgba(1affffee) rgba(ff0000ee) 45deg # was my config
2023-12-25 13:36:16 +01:00
col.inactive_border = rgba(595959aa)
2024-01-08 22:21:05 +01:00
layout = master
2023-12-25 13:36:16 +01:00
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
2024-01-08 22:21:05 +01:00
dim_inactive = true
dim_strength = 0.1 # how much inactive windows should be dimmed, 0.0 - 1.0
dim_around = 0.5 # how much the dimaround window rule should dim by. 0.0 - 1.0
2023-12-25 13:36:16 +01:00
}
animations {
enabled = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
2024-01-08 22:21:05 +01:00
#
# animation=NAME,ONOFF,SPEED,CURVE,STYLE or
# animation=NAME,ONOFF,SPEED,CURVE
# ONOFF can be either 0 or 1, 0 to disable, 1 to enable. note: if its 0, you can omit further args.
# SPEED is the amount of ds (1ds = 100ms) the animation will take
# CURVE is the bezier curve name, see curves.
# STYLE (optional) is the animation style
2023-12-25 13:36:16 +01:00
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
2024-01-08 22:21:05 +01:00
bezier = overshot,0.05,0.9,0.1,1.1
bezier = easeOutBack, 0.075, 0.82, 0.165, 1
bezier = easeInBack,0.075, 0.82, 0.165, 1
animation = windows, 1, 5, default
# animation = windows, 0
animation = windowsIn,1,5,default,slide
animation = windowsOut, 1, 4, easeInBack, slide
animation = border, 1, 10, overshot
animation = borderangle, 1, 10, default, once
animation = fade, 1, 4, default
# animation = fade, 0
animation = workspaces, 1, 4, default, slide
animation = specialWorkspace, 1, 3, easeOutBack, slidefadevert
2023-12-25 13:36:16 +01:00
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
2024-01-08 22:21:05 +01:00
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mod + P in the keybinds section below
2023-12-25 13:36:16 +01:00
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
2024-01-08 22:21:05 +01:00
allow_small_split = true
always_center_master = false
2023-12-25 13:36:16 +01:00
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
workspace_swipe_cancel_ratio = 0.20
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
2024-01-08 22:21:05 +01:00
# If true, will animate manual window resizes/moves
# animate_manual_resizes = false
# Enable window swallowing
# enable_swallow = false
# swallow_regex = str
# focus_on_activate = false
}
binds {
# If enabled, an attempt to switch to the currently focused workspace will
# instead switch to the previous workspace. Akin to i3s auto_back_and_forth.
workspace_back_and_forth = true
allow_workspace_cycles = true
2023-12-25 13:36:16 +01:00
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = float,class:^(nm-connection-editor)$,
2024-01-08 22:21:05 +01:00
windowrulev2 = float,title:^(Picture-in-Picture)$,
windowrulev2 = pin,title:^(Picture-in-Picture)$,
windowrulev2=dimaround,class:^(pinentry-qt)$,
2023-12-25 13:36:16 +01:00
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
2024-01-08 22:21:05 +01:00
$mod = SUPER
2023-12-25 13:36:16 +01:00
2024-01-08 22:21:05 +01:00
bind = $mod, tab, workspace, previous
2023-12-25 13:36:16 +01:00
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
2024-01-08 22:21:05 +01:00
bind = $mod, return, exec, open-kitty-or-focus
# bind = $mod, return, exec, kitty --single-instance
bind = $mod, q, killactive,
bind = $mod, c, exec, smart-exec
bind = $mod control, q, exit,
2023-12-25 13:36:16 +01:00
# Example special workspace (scratchpad)
2024-01-08 22:21:05 +01:00
bind = $mod, w, togglespecialworkspace, magic
bind = $mod SHIFT, w, movetoworkspace, special:magic
bind = $mod control, n, exec, lock-screen
bind = $mod, e, exec, wofi --show drun --normal-window
# bind = $mod, semicolon, exec, wofi --show drun --normal-window
bind = $mod shift, p, exec, passmenu
bind = $mod, o, togglefloating,
bind = $mod, y, togglefloating
bind = $mod, v, exec, rofi-wireguard --toggle
bind = $mod, y, pin
# bind = $mod, t, exec, smart-tab
bind = $mod, t, togglegroup, # dwindle
# bind = $mod, t, pseudo, # dwindle
bind = $mod, s, togglesplit, # dwindle
bind = $mod, m, fullscreen, 1
### master layout keybindings
bind = $mod, semicolon, layoutmsg,swapwithmaster master
bind = $mod, space, layoutmsg,orientationnext
bind = $mod SHIFT, m, fullscreen, 0
bind = $mod SHIFT, b, fakefullscreen,
bind = $mod shift, n, exec, swaync-client -t -sw
# bindl = $mod SHIFT, L, exec, sleep 1 && hyprctl dispatch dpms off
# focus windows with mod + hjkl
bind = $mod, h, movefocus, l
bind = $mod, l, movefocus, r
bind = $mod, k, movefocus, u
bind = $mod, j, movefocus, d
# Move windows with mod + shift + hjkl
bind = $mod shift, h, swapwindow, l
bind = $mod shift, l, swapwindow, r
bind = $mod shift, k, swapwindow, u
bind = $mod shift, j, swapwindow, d
bind = $mod, left, movewindow, l
bind = $mod, right, movewindow, r
bind = $mod, down, movewindow, d
bind = $mod, up, movewindow, u
# resize windows with mod + control + hjkl
binde = $mod control, h, resizeactive, -20 0
binde = $mod control, l, resizeactive, 20 0
binde = $mod control, k, resizeactive, 0 -20
binde = $mod control, j, resizeactive, 0 20
# Switch workspaces with mod + [0-9]
bind = $mod, p, workspace, e-1
bind = $mod, n, workspace, e+1
bind = $mod, a, workspace, 1
bind = $mod, s, workspace, 2
bind = $mod, d, workspace, 3
bind = $mod, f, workspace, 4
bind = $mod, g, workspace, 5
bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10
bind = $mod, comma, swapnext, prev
bind = $mod, period, swapnext
# Move active window to a workspace with mod + SHIFT + [0-9]
bind = $mod SHIFT, a, movetoworkspace, 1
bind = $mod SHIFT, s, movetoworkspace, 2
bind = $mod SHIFT, d, movetoworkspace, 3
bind = $mod SHIFT, f, movetoworkspace, 4
bind = $mod SHIFT, g, movetoworkspace, 5
bind = $mod SHIFT, 1, movetoworkspace, 1
bind = $mod SHIFT, 2, movetoworkspace, 2
bind = $mod SHIFT, 3, movetoworkspace, 3
bind = $mod SHIFT, 4, movetoworkspace, 4
bind = $mod SHIFT, 5, movetoworkspace, 5
bind = $mod SHIFT, 6, movetoworkspace, 6
bind = $mod SHIFT, 7, movetoworkspace, 7
bind = $mod SHIFT, 8, movetoworkspace, 8
bind = $mod SHIFT, 9, movetoworkspace, 9
bind = $mod SHIFT, 0, movetoworkspace, 10
# Scroll through existing workspaces with mod + scroll
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1
# Move/resize windows with mod + LMB/RMB and dragging
bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow
# Scroll through existing workspaces with mod + scroll
# doesn't seem to work with touchpad.
# check and see if this works with mouse
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1
2023-12-25 13:36:16 +01:00
# screen
2024-01-08 22:21:05 +01:00
bindle=,XF86MonBrightnessUp, exec, light -A 1; light -O
bindle=,XF86MonBrightnessDown, exec, light -U 1; light -O
2023-12-25 13:36:16 +01:00
# bindle=,XF86KbdBrightnessUp, exec, ags -r 'brightness.kbd++; indicator.kbd()'
# bindle=,XF86KbdBrightnessDown, exec, ags -r 'brightness.kbd--; indicator.kbd()'
#
2023-12-27 20:20:05 +01:00
#
2023-12-25 13:36:16 +01:00
bindle=,XF86AudioRaiseVolume, exec, volume up
bindle=,XF86AudioLowerVolume, exec, volume down
bindle=,XF86AudioMute, exec, volume toggle-mute
2024-01-08 22:21:05 +01:00
# bindle=, XF86KbdBrightnessUp, exec, keyboard_backlight inc
# bindle=, XF86KbdBrightnessDown, exec, keyboard_backlight dec
# check switch name with hyprctl devices
# lock screen when lid is closed or opened
# bindl=,switch:Apple SMC power/lid events,exec,lock-screen
# trigger when the lid is opened
bindl=,switch:off:Apple SMC power/lid events,exec,smart-switch open
# trigger when the lid is closed
bindl=,switch:on:Apple SMC power/lid events,exec,smart-switch close
2023-12-25 13:36:16 +01:00
windowrulev2 = stayfocused,class:(wofi)
windowrulev2 = noborder,class:(wofi)
2024-01-08 22:21:05 +01:00
# # bind = $mod, Return, exec, st -e tmux new-session -A -s st
# bind = $mod SHIFT, q, exec, xkill
# binde = $mod CONTROL, s, exec, toggle-screenkey
# bind = $mod, e, exec, rofimoji
# bind = $mod, b, exec, rofi-bluetooth
# # bind = SUPER, E, exec, [workspace 2 silent;float;noanim] st
# bind = $mod, i, exec, dictionary
# bind = $mod, r, swapnext,
# bind = $mod, semicolon, exec, wofi --show drun
# bind = $mod SHIFT, O, workspaceopt, allpseudo # dwindle
# bind = $mod, space, exec, hypr-toggle-layout
#
#
# bind = $mod SHIFT, Return, togglesplit, # dwindle
#
# # bind = $mod, j, changegroupactive, b
# # bind = $mod, k, changegroupactive, f
#
#
# # to switch between windows in a floating workspace
# bind = SUPER,comma,cyclenext, # change focus to another window
# bind = SUPER,comma,bringactivetotop, # bring it to the top
# bind = SUPER,period,cyclenext, prev # change focus to another window
# bind = SUPER,period,bringactivetotop, # bring it to the top
#
#
#
#
#
#
# # bind=SUPER,mouse_down,workspace,e-1
#
# # bindle=, Print, exec, flameshot gui
# # bindr=SUPER, SUPER_L, exec, pkill wofi || wofi --show drun
#
#
# # will switch to a submap called notifications
# bind = $mod, n, submap, notifications
#
# # will start a submap called "notifications"
# submap=notifications
#
# # sets repeatable binds for resizing the active window
# binde=$mod, n, exec, dunstctl close
# bind=$mod, n, submap, reset
# binde=$mod, k, exec, dunstctl history-pop
# binde=$mod, j, exec, dunstctl close
# binde=$mod, m, exec, dunstctl context
# bind=$mod, m, submap, reset
# binde=$mod, p, exec, toggle-notifications
# bind=$mod, p, submap, reset
#
# # use reset to go back to the global submap
# bind=,escape,submap,reset
#
# # will reset the submap, meaning end the current one and return to the global one
# submap=reset
#
# # keybinds further down will be global again...