Last active
December 10, 2023 20:25
-
-
Save chrisfls/49406c7132ae02f563308bd12d7c65b3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# TODO: move this over to config file | |
monitor=eDP-1,disable | |
monitor=HDMI-A-1,preferred,auto,auto | |
# TODO: move this over to config file (scaling settings) | |
env = GDK_SCALE,1.5 | |
env = XCURSOR_SIZE,16 | |
env = NIXOS_OZONE_WL,1 | |
$statusbar = waybar | |
$polkit = lxqt-policykit-agent | |
$menu = rofi -show combi -combi-modes "drun,window,filebrowser" -modes "drun,window,filebrowser" | |
$run = rofi -show run | |
$winlist = rofi -show window | |
$terminal = kitty -1 | |
$fileManager = pcmanfm-qt | |
$editor = codium | |
$browser = brave | |
# session apps | |
exec-once = $polkit | |
exec-once = $statusbar | |
input { | |
kb_layout = br | |
numlock_by_default = true | |
# never refocus mouse, even when moving over windows | |
mouse_refocus = false | |
# no focus follow mouse, but scroll unfocused windows | |
follow_mouse = 2 | |
# do not change focus to cursor position when creating floating windows | |
float_switch_override_focus = 0 | |
# disable mouse acceleration | |
accel_profile = flat | |
} | |
dwindle { | |
pseudotile = true | |
preserve_split = true | |
no_gaps_when_only = 1 | |
} | |
xwayland { | |
# let windows scale themselves | |
force_zero_scaling = true | |
} | |
general { | |
# behavior | |
layout = dwindle | |
allow_tearing = false | |
resize_on_border=false | |
# style | |
gaps_in = 8 | |
gaps_out = 16 | |
border_size = 2 | |
col.active_border = rgb(99C6CA) | |
col.inactive_border = rgba(458588C0) | |
} | |
group { | |
insert_after_current = false | |
focus_removed_window = false | |
col.border_active = rgb(7EC16E) | |
col.border_inactive = rgba(689D6A80) | |
col.border_locked_active = rgb(99C6CA) | |
col.border_locked_inactive = rgba(458588C0) | |
groupbar { | |
scrolling = false | |
font_size = 16 | |
text_color = rgb(EBDBB2) | |
gradients = false | |
col.active = rgb(D3869B) | |
col.inactive = rgba(B16286C0) | |
col.locked_active = rgb(99C6CA) | |
col.locked_inactive = rgba(458588C0) | |
} | |
} | |
decoration { | |
rounding = 4 | |
drop_shadow = false | |
blur { | |
enabled = false | |
} | |
} | |
animations { | |
bezier = linear, 0, 0, 1, 1 | |
bezier = easeIn, 0.42, 0, 1, 1 | |
bezier = easeOut, 0, 0, 0.58, 1 | |
bezier = easeInOut, 0.42, 0, 0.58, 1 | |
bezier = easeInSine, 0.12, 0, 0.39, 0 | |
bezier = easeOutSine, 0.61, 1, 0.88, 1 | |
bezier = easeInOutSine, 0.37, 0, 0.63, 1 | |
bezier = easeInQuad, 0.11, 0, 0.5, 0 | |
bezier = easeOutQuad, 0.5, 1, 0.89, 1 | |
bezier = easeInOutQuad, 0.45, 0, 0.55, 1 | |
bezier = easeInCubic, 0.32, 0, 0.67, 0 | |
bezier = easeOutCubic, 0.33, 1, 0.68, 1 | |
bezier = easeInOutCubic, 0.65, 0, 0.35, 1 | |
bezier = easeInQuart, 0.5, 0, 0.75, 0 | |
bezier = easeOutQuart, 0.25, 1, 0.5, 1 | |
bezier = easeInOutQuart, 0.76, 0, 0.24, 1 | |
bezier = easeInQuint, 0.64, 0, 0.78, 0 | |
bezier = easeOutQuint, 0.22, 1, 0.36, 1 | |
bezier = easeInOutQuint, 0.83, 0, 0.17, 1 | |
bezier = easeInExpo, 0.7, 0, 0.84, 0 | |
bezier = easeOutExpo, 0.16, 1, 0.3, 1 | |
bezier = easeInOutExpo, 0.87, 0, 0.13, 1 | |
bezier = easeInCirc, 0.55, 0, 1, 0.45 | |
bezier = easeOutCirc, 0, 0.55, 0.45, 1 | |
bezier = easeInOutCirc, 0.85, 0, 0.15, 1 | |
bezier = easeInBack, 0.36, 0, 0.66, -0.56 | |
bezier = easeOutBack, 0.34, 1.56, 0.64, 1 | |
bezier = easeInOutBack, 0.68, -0.6, 0.32, 1.6 | |
animation = windows, 1, 2, easeOutExpo, popin | |
animation = windowsIn, 1, 2, easeOutBack, popin 50% | |
animation = windowsMove, 1, 2, easeOutExpo, slide | |
animation = border, 1, 1, easeOutSine | |
animation = borderangle, 1, 1, linear, once | |
animation = fade, 1, 1, easeOutQuad | |
animation = workspaces, 1, 2, easeOutSine, fade | |
animation = specialWorkspace, 1, 2, easeInSine, slidevert | |
} | |
misc { | |
disable_hyprland_logo = true | |
# fallback when no wallpaper | |
background_color = rgb(000000) | |
} | |
# block windows from maximizing | |
windowrulev2 = nomaximizerequest, class:.* | |
################# ######## #### ## # | |
# BINDINGS | |
################# ######## #### ## # | |
$mod = SUPER | |
# exit hyprland | |
bind = $mod SHIFT, Q, exit # TODO: prompt | |
# APPLICATIONS | |
######## #### ## # | |
# menus | |
bind = $mod, RETURN, exec, $menu | |
bind = $mod, X, exec, $run | |
bind = $mod, P, exec, $winlist | |
# terminal | |
bind = $mod, BACKSPACE, exec, $terminal | |
# applications | |
bind = $mod, E, exec, $fileManager | |
bind = $mod, D, exec, $editor | |
bind = $mod, B, exec, $browser | |
# print screen/window/region | |
bind = , Print, exec, grimblast copy screen | |
bind = SHIFT, Print, exec, grimblast copy area | |
# WINDOW CONTROLS | |
######## #### ## # | |
# close focused window | |
bind = $mod, C, killactive | |
# toggle monocle layout / toggle fullscreen window | |
bind = $mod, M, fullscreen, 1 | |
bind = $mod SHIFT, M, fullscreen | |
# toggle split direction / toggle pseudo tiling | |
bind = $mod, S, togglesplit | |
bind = $mod SHIFT, S, pseudo | |
# toggle window group / toggle window group lock | |
bind = $mod, G, togglegroup | |
bind = $mod SHIFT, G, lockactivegroup, toggle | |
# togge floating window / toggle floating window pin | |
bind = $mod, F, togglefloating | |
bind = $mod SHIFT, F, pin | |
# mouse support | |
bindm = $mod, mouse:272, movewindow | |
bindm = $mod, mouse:273, resizewindow | |
# RESIZE | |
######## #### ## # | |
bind=$mod, R, submap, resize | |
submap=resize | |
# resize | |
binde=,H,resizeactive,-10 0 | |
binde=,J,resizeactive,0 10 | |
binde=,K,resizeactive,0 -10 | |
binde=,L,resizeactive,10 0 | |
# resize with arrow key | |
binde=,LEFT,resizeactive,-10 0 | |
binde=,DOWN,resizeactive,0 10 | |
binde=,UP,resizeactive,0 -10 | |
binde=,RIGHT,resizeactive,10 0 | |
bind=,RETURN,submap,reset | |
bind=,ESCAPE,submap,reset | |
bind=$mod, R, submap, resize | |
submap=reset | |
# FOCUS | |
######## #### ## # | |
# focus | |
bind = $mod, H, movefocus, l | |
bind = $mod, J, movefocus, d | |
bind = $mod, K, movefocus, u | |
bind = $mod, L, movefocus, r | |
# focus with arrow keys | |
bind = $mod, LEFT, movefocus, l | |
bind = $mod, DOWN, movefocus, d | |
bind = $mod, UP, movefocus, u | |
bind = $mod, RIGHT, movefocus, r | |
# classic alt tab | |
bind = ALT, TAB, cyclenext | |
bind = ALT SHIFT, TAB, cyclenext, prev | |
# focus windows in group containers | |
bind = $mod, COMMA, changegroupactive, b | |
bind = $mod, PERIOD, changegroupactive | |
# focus windows in group containers with page up/down | |
bind = $mod, PAGE_UP, changegroupactive, b | |
bind = $mod, PAGE_DOWN, changegroupactive | |
# MOVEMENT | |
######## #### ## # | |
# move window | |
bind = $mod SHIFT, H, movewindoworgroup, l | |
bind = $mod SHIFT, J, movewindoworgroup, d | |
bind = $mod SHIFT, K, movewindoworgroup, u | |
bind = $mod SHIFT, L, movewindoworgroup, r | |
# move window with arrow keys | |
bind = $mod SHIFT, LEFT, movewindoworgroup, l | |
bind = $mod SHIFT, DOWN, movewindoworgroup, d | |
bind = $mod SHIFT, UP, movewindoworgroup, u | |
bind = $mod SHIFT, RIGHT, movewindoworgroup, r | |
# movel windows in group containers | |
bind = $mod SHIFT, COMMA, movegroupwindow, b | |
bind = $mod SHIFT, PERIOD, movegroupwindow | |
# movel windows in group containers | |
bind = $mod SHIFT, PAGE_UP, movegroupwindow, b | |
bind = $mod SHIFT, PAGE_DOWN, movegroupwindow | |
# WORKSPACES | |
######## #### ## # | |
# switch to workspace | |
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 | |
# switch to workspace | |
bind = $mod SHIFT, 1, movetoworkspacesilent, 1 | |
bind = $mod SHIFT, 2, movetoworkspacesilent, 2 | |
bind = $mod SHIFT, 3, movetoworkspacesilent, 3 | |
bind = $mod SHIFT, 4, movetoworkspacesilent, 4 | |
bind = $mod SHIFT, 5, movetoworkspacesilent, 5 | |
bind = $mod SHIFT, 6, movetoworkspacesilent, 6 | |
bind = $mod SHIFT, 7, movetoworkspacesilent, 7 | |
bind = $mod SHIFT, 8, movetoworkspacesilent, 8 | |
bind = $mod SHIFT, 9, movetoworkspacesilent, 9 | |
bind = $mod SHIFT, 0, movetoworkspacesilent, 10 | |
# control scratchpad | |
bind = $mod, apostrophe, togglespecialworkspace | |
bind = $mod SHIFT, apostrophe, movetoworkspace, special |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# start a terminal | |
bind = $mod, RETURN, exec, $terminal | |
# kill focused window | |
bind = $mod SHIFT, Q, killactive | |
# start dmenu (a program launcher) | |
bind = $mod, D, exec, $menu | |
# A more modern dmenu replacement is rofi: | |
# bindsym Mod1+d exec "rofi -modi drun,run -show drun" | |
# There also is i3-dmenu-desktop which only displays applications shipping a | |
# .desktop file. It is a wrapper around dmenu, so you need that installed. | |
# bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop | |
# change focus | |
bind = $mod, H, movefocus, l | |
bind = $mod, J, movefocus, d | |
bind = $mod, K, movefocus, u | |
bind = $mod, L, movefocus, r | |
# alternatively, you can use the cursor keys: | |
bind = $mod, LEFT, movefocus, l | |
bind = $mod, DOWN, movefocus, d | |
bind = $mod, UP, movefocus, u | |
bind = $mod, RIGHT, movefocus, r | |
# move focused window | |
bind = $mod SHIFT, H, movewindow, l | |
bind = $mod SHIFT, J, movewindow, d | |
bind = $mod SHIFT, K, movewindow, u | |
bind = $mod SHIFT, L, movewindow, r | |
# alternatively, you can use the cursor keys: | |
bind = $mod SHIFT, LEFT, movewindow, l | |
bind = $mod SHIFT, DOWN, movewindow, d | |
bind = $mod SHIFT, UP, movewindow, u | |
bind = $mod SHIFT, RIGHT, movewindow, r | |
# split in horizontal orientation | |
# bindsym Mod1+h split h | |
# split in vertical orientation | |
# bindsym Mod1+v split v | |
# enter fullscreen mode for the focused container | |
# bindsym Mod1+f fullscreen toggle | |
bind = $mod, F, fullscreen | |
# change container layout (stacked, tabbed, toggle split) | |
# bindsym Mod1+s layout stacking | |
bind = $mod, W, togglegroup | |
bind = $mod, E, togglesplit | |
# toggle tiling / floating | |
bind = $mod, SPACE, togglefloating | |
# change focus between tiling / floating windows | |
# bindsym Mod1+space focus mode_toggle | |
# focus the parent container | |
bind = $mod, A, moveoutofgroup | |
# focus the child container | |
bind = $mod, S, changegroupactive, b | |
bind = $mod SHIFT, S, movegroupwindow, b | |
# focus the child container | |
bind = $mod, D, changegroupactive | |
bind = $mod SHIFT, D, movegroupwindow | |
# move the currently focused window to the scratchpad | |
# bindsym Mod1+Shift+minus move scratchpad | |
# Show the next scratchpad window or hide the focused scratchpad window. | |
# If there are multiple scratchpad windows, this command cycles through them. | |
# bindsym Mod1+minus scratchpad show | |
# switch to workspace | |
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 | |
# switch to workspace | |
bind = $mod SHIFT, 1, movetoworkspacesilent, 1 | |
bind = $mod SHIFT, 2, movetoworkspacesilent, 2 | |
bind = $mod SHIFT, 3, movetoworkspacesilent, 3 | |
bind = $mod SHIFT, 4, movetoworkspacesilent, 4 | |
bind = $mod SHIFT, 5, movetoworkspacesilent, 5 | |
bind = $mod SHIFT, 6, movetoworkspacesilent, 6 | |
bind = $mod SHIFT, 7, movetoworkspacesilent, 7 | |
bind = $mod SHIFT, 8, movetoworkspacesilent, 8 | |
bind = $mod SHIFT, 9, movetoworkspacesilent, 9 | |
bind = $mod SHIFT, 0, movetoworkspacesilent, 10 | |
# reload the configuration file | |
#bindsym Mod1+Shift+c reload | |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | |
#bindsym Mod1+Shift+r restart | |
# exit i3 (logs you out of your X session) | |
bind = $mod SHIFT, E, exit # bindsym Mod1+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" | |
submap=resize | |
binde=,H,resizeactive,-10 0 | |
binde=,LEFT,resizeactive,-10 0 | |
binde=,J,resizeactive,0 10 | |
binde=,DOWN,resizeactive,0 10 | |
binde=,K,resizeactive,0 -10 | |
binde=,UP,resizeactive,0 -10 | |
binde=,L,resizeactive,10 0 | |
binde=,RIGHT,resizeactive,10 0 | |
bind=,RETURN,submap,reset | |
bind=,ESCAPE,submap,reset | |
bind=$mod, R, submap, resize | |
submap=reset | |
bind=$mod, R, submap, resize |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################# ######## #### ## # | |
# BINDINGS | |
################# ######## #### ## # | |
$mod = SUPER | |
# exit hyprland | |
bind = $mod SHIFT, Q, exit # TODO: prompt | |
# APPLICATIONS | |
######## #### ## # | |
# menus | |
bind = $mod, RETURN, exec, $menu | |
bind = $mod, X, exec, $run | |
bind = $mod, P, exec, $winlist | |
# terminal | |
bind = $mod, BACKSPACE, exec, $terminal | |
# applications | |
bind = $mod, E, exec, $fileManager | |
bind = $mod, D, exec, $editor | |
bind = $mod, B, exec, $browser | |
# print screen/window/region | |
bind = , Print, exec, grimblast copy screen | |
bind = SHIFT, Print, exec, grimblast copy area | |
# WINDOW CONTROLS | |
######## #### ## # | |
# close focused window | |
bind = $mod, C, killactive | |
# toggle monocle layout / toggle fullscreen window | |
bind = $mod, M, fullscreen, 1 | |
bind = $mod SHIFT, M, fullscreen | |
# toggle split direction / toggle pseudo tiling | |
bind = $mod, S, togglesplit | |
bind = $mod SHIFT, S, pseudo | |
# toggle window group / toggle window group lock | |
bind = $mod, G, togglegroup | |
bind = $mod SHIFT, G, lockactivegroup, toggle | |
# togge floating window / toggle floating window pin | |
bind = $mod, F, togglefloating | |
bind = $mod SHIFT, F, pin | |
# mouse support | |
bindm = $mod, mouse:272, movewindow | |
bindm = $mod, mouse:273, resizewindow | |
# RESIZE | |
######## #### ## # | |
bind=$mod, R, submap, resize | |
submap=resize | |
# resize | |
binde=,H,resizeactive,-10 0 | |
binde=,J,resizeactive,0 10 | |
binde=,K,resizeactive,0 -10 | |
binde=,L,resizeactive,10 0 | |
# resize with arrow key | |
binde=,LEFT,resizeactive,-10 0 | |
binde=,DOWN,resizeactive,0 10 | |
binde=,UP,resizeactive,0 -10 | |
binde=,RIGHT,resizeactive,10 0 | |
bind=,RETURN,submap,reset | |
bind=,ESCAPE,submap,reset | |
bind=$mod, R, submap, resize | |
submap=reset | |
# FOCUS | |
######## #### ## # | |
# focus | |
bind = $mod, H, movefocus, l | |
bind = $mod, J, movefocus, d | |
bind = $mod, K, movefocus, u | |
bind = $mod, L, movefocus, r | |
# focus with arrow keys | |
bind = $mod, LEFT, movefocus, l | |
bind = $mod, DOWN, movefocus, d | |
bind = $mod, UP, movefocus, u | |
bind = $mod, RIGHT, movefocus, r | |
# classic alt tab | |
bind = ALT, TAB, cyclenext | |
bind = ALT SHIFT, TAB, cyclenext, prev | |
# focus windows in group containers | |
bind = $mod, COMMA, changegroupactive, b | |
bind = $mod, PERIOD, changegroupactive | |
# focus windows in group containers with page up/down | |
bind = $mod, PAGE_UP, changegroupactive, b | |
bind = $mod, PAGE_DOWN, changegroupactive | |
# MOVEMENT | |
######## #### ## # | |
# move window | |
bind = $mod SHIFT, H, movewindoworgroup, l | |
bind = $mod SHIFT, J, movewindoworgroup, d | |
bind = $mod SHIFT, K, movewindoworgroup, u | |
bind = $mod SHIFT, L, movewindoworgroup, r | |
# move window with arrow keys | |
bind = $mod SHIFT, LEFT, movewindoworgroup, l | |
bind = $mod SHIFT, DOWN, movewindoworgroup, d | |
bind = $mod SHIFT, UP, movewindoworgroup, u | |
bind = $mod SHIFT, RIGHT, movewindoworgroup, r | |
# movel windows in group containers | |
bind = $mod SHIFT, COMMA, movegroupwindow, b | |
bind = $mod SHIFT, PERIOD, movegroupwindow | |
# movel windows in group containers | |
bind = $mod SHIFT, PAGE_UP, movegroupwindow, b | |
bind = $mod SHIFT, PAGE_DOWN, movegroupwindow | |
# WORKSPACES | |
######## #### ## # | |
# switch to workspace | |
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 | |
# switch to workspace | |
bind = $mod SHIFT, 1, movetoworkspacesilent, 1 | |
bind = $mod SHIFT, 2, movetoworkspacesilent, 2 | |
bind = $mod SHIFT, 3, movetoworkspacesilent, 3 | |
bind = $mod SHIFT, 4, movetoworkspacesilent, 4 | |
bind = $mod SHIFT, 5, movetoworkspacesilent, 5 | |
bind = $mod SHIFT, 6, movetoworkspacesilent, 6 | |
bind = $mod SHIFT, 7, movetoworkspacesilent, 7 | |
bind = $mod SHIFT, 8, movetoworkspacesilent, 8 | |
bind = $mod SHIFT, 9, movetoworkspacesilent, 9 | |
bind = $mod SHIFT, 0, movetoworkspacesilent, 10 | |
# control scratchpad | |
bind = $mod, apostrophe, togglespecialworkspace | |
bind = $mod SHIFT, apostrophe, movetoworkspace, special |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment