350 lines
12 KiB
Text
350 lines
12 KiB
Text
# vim: ft=i3config
|
|
|
|
# Modifier key is set as windows key
|
|
set $mod Mod4
|
|
|
|
# Font for window titles. Will also be used by the bar unless a different font
|
|
# is used in the bar {} block below.
|
|
font pango: mono, FontAwesome 11
|
|
|
|
title_align center
|
|
|
|
# show the window icon for the focused window to make it stand out
|
|
# bindsym $mod+p title_window_icon on
|
|
|
|
|
|
# enable window icons for all windows with extra horizontal padding
|
|
for_window [all] title_window_icon padding 10px
|
|
|
|
|
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
floating_modifier $mod
|
|
|
|
## Run a terminal
|
|
set $term st
|
|
bindsym $mod+Return exec $term
|
|
|
|
|
|
# Kill focused container
|
|
bindsym $mod+Shift+q kill
|
|
|
|
# Use rofi launcher
|
|
bindsym $mod+d exec rofi -i -sync -show drun
|
|
|
|
# change focus
|
|
bindsym $mod+h focus left
|
|
bindsym $mod+j focus down
|
|
bindsym $mod+k focus up
|
|
bindsym $mod+l focus right
|
|
|
|
# alternatively, you can use the cursor keys:
|
|
bindsym $mod+Left focus left
|
|
bindsym $mod+Down focus down
|
|
bindsym $mod+Up focus up
|
|
bindsym $mod+Right focus right
|
|
|
|
# move focused window
|
|
bindsym $mod+Shift+h move left
|
|
bindsym $mod+Shift+j move down
|
|
bindsym $mod+Shift+k move up
|
|
bindsym $mod+Shift+l move right
|
|
|
|
# alternatively, you can use the cursor keys:
|
|
bindsym $mod+Shift+Left move left
|
|
bindsym $mod+Shift+Down move down
|
|
bindsym $mod+Shift+Up move up
|
|
bindsym $mod+Shift+Right move right
|
|
|
|
|
|
# split in horizontal orientation
|
|
# its ">"
|
|
bindsym $mod+greater split h
|
|
|
|
# split in vertical orientation
|
|
bindsym $mod+v split v
|
|
|
|
# enter fullscreen mode for the focused container
|
|
bindsym $mod+f fullscreen toggle
|
|
|
|
# change container layout (stacked, tabbed, toggle split)
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# toggle tiling / floating
|
|
bindsym $mod+Shift+space floating toggle
|
|
|
|
# change focus between tiling / floating windows
|
|
bindsym $mod+space focus mode_toggle
|
|
|
|
# focus the parent container
|
|
bindsym $mod+a focus parent
|
|
|
|
# focus the child container
|
|
#bindsym $mod+d focus child
|
|
|
|
|
|
|
|
# client.focused #3B4252 #2f343f #d8dee8 #3B4252 #424a59
|
|
# client.focused_inactive #2E3440 #2f343f #d8dee8 #2E3440 #2f345f
|
|
# client.unfocused #2E3440 #2f343f #d8dee8 #2f343f #2f343f
|
|
# client.urgent #3B4252 #2f343f #d8dee8 #3B4252 #2f343f
|
|
# client.placeholder #3B4252 #2f343f #d8dee8 #3B4252 #2f343f
|
|
# client.background #2f343f
|
|
|
|
|
|
|
|
###############################################################################
|
|
# _ ______ ____ __ _______ ____ ___ _________________ #
|
|
# | | / / __ \/ __ \/ //_/ ___// __ \/ | / ____/ ____/ ___/ #
|
|
# | | /| / / / / / /_/ / ,< \__ \/ /_/ / /| |/ / / __/ \__ \ #
|
|
# | |/ |/ / /_/ / _, _/ /| |___/ / ____/ ___ / /___/ /___ ___/ / #
|
|
# |__/|__/\____/_/ |_/_/ |_/____/_/ /_/ |_\____/_____//____/ #
|
|
# #
|
|
###############################################################################
|
|
|
|
set $ws1 "1"
|
|
set $ws2 "2"
|
|
set $ws3 "3"
|
|
set $ws4 "4"
|
|
set $ws5 "5"
|
|
set $ws6 "6"
|
|
set $ws7 "7"
|
|
set $ws8 "8"
|
|
set $ws9 "9"
|
|
set $ws0 "10"
|
|
|
|
|
|
# Switch to workspace
|
|
bindsym $mod+1 workspace $ws1
|
|
bindsym $mod+2 workspace $ws2
|
|
bindsym $mod+3 workspace $ws3
|
|
bindsym $mod+4 workspace $ws4
|
|
bindsym $mod+5 workspace $ws5
|
|
bindsym $mod+6 workspace $ws6
|
|
bindsym $mod+7 workspace $ws7
|
|
bindsym $mod+8 workspace $ws8
|
|
bindsym $mod+9 workspace $ws9
|
|
bindsym $mod+0 workspace $ws0
|
|
|
|
# Move focused container to workspace
|
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
|
bindsym $mod+Shift+0 move container to workspace $ws0
|
|
|
|
|
|
# Move workspace to another display
|
|
bindsym $mod+Shift+U move workspace to output up
|
|
bindsym $mod+Shift+D move workspace to output down
|
|
|
|
# reload the configuration file
|
|
bindsym $mod+Shift+c reload
|
|
|
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
bindsym $mod+Shift+r restart
|
|
|
|
# exit i3 (logs you out of your X session)
|
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Koniec?' -b 'Ta' 'i3-msg exit'"
|
|
|
|
#
|
|
bindsym $mod+b exec pgrep picom && killall picom || picom -b
|
|
|
|
# Lock screen
|
|
bindsym $mod+Escape exec lockScreen
|
|
|
|
## Take screenshot of entire screen
|
|
bindsym Print exec scrot -e 'xclip -selection clipboard -target image/png -i $f'
|
|
## Take screenshot of focused container
|
|
bindsym --release Shift+Print exec scrot -u -e 'xclip -selection clipboard -target image/png -i $f'
|
|
## Take screenshot of selected area
|
|
bindsym --release Control+Print exec scrot -s -e 'xclip -selection clipboard -target image/png -i $f'
|
|
|
|
|
|
## Pulse Audio controls
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer --sink 0 -i 5
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer --sink 0 -d 5
|
|
bindsym XF86AudioMute exec --no-startup-id pamixer --sink 0 -t
|
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute 1 toggle
|
|
|
|
########
|
|
# Floating windows resize
|
|
|
|
bindsym $mod+r mode "resize"
|
|
|
|
mode "resize" {
|
|
bindsym h resize shrink width 5 px or 1 ppt
|
|
bindsym j resize grow height 5 px or 1 ppt
|
|
bindsym k resize shrink height 5 px or 1 ppt
|
|
bindsym l resize grow width 5 px or 1 ppt
|
|
|
|
bindsym Shift+h resize shrink width 25 px or 5 ppt
|
|
bindsym Shift+j resize grow height 25 px or 5 ppt
|
|
bindsym Shift+k resize shrink height 25 px or 5 ppt
|
|
bindsym Shift+l resize grow width 25 px or 5 ppt
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
########
|
|
# Floating windows move
|
|
|
|
bindsym Mod4+m focus floating; mode "move"
|
|
|
|
mode "move" {
|
|
bindsym h move left 20px
|
|
bindsym j move down 20px
|
|
bindsym k move up 20px
|
|
bindsym l move right 20px
|
|
|
|
bindsym Shift+h move left 50px
|
|
bindsym Shift+j move down 50px
|
|
bindsym Shift+k move up 50px
|
|
bindsym Shift+l move right 50px
|
|
|
|
bindsym Up move up 20px
|
|
bindsym Left move left 20px
|
|
bindsym Down move down 20px
|
|
bindsym Right move right 20px
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
########
|
|
# bar
|
|
|
|
bar {
|
|
i3bar_command i3bar -t
|
|
position top
|
|
tray_output primary
|
|
separator_symbol "|"
|
|
status_command i3blocks
|
|
}
|
|
bindsym $mod+o bar mode toggle
|
|
|
|
|
|
|
|
###############################################################################
|
|
# gaps control
|
|
|
|
set $mode_gaps gaps
|
|
set $mode_gaps_outer outer gaps
|
|
set $mode_gaps_inner inner gaps
|
|
|
|
set $default_gaps_inner 10
|
|
set $default_gaps_outer 0
|
|
|
|
set $gaps_outer_step 2
|
|
set $gaps_inner_step 2
|
|
|
|
gaps inner $default_gaps_inner
|
|
gaps outer $default_gaps_outer
|
|
|
|
#smart_gaps active
|
|
|
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
|
|
|
mode "$mode_gaps" {
|
|
bindsym o mode "$mode_gaps_outer"
|
|
bindsym i mode "$mode_gaps_inner"
|
|
|
|
bindsym 0 mode "default", exec --no-startup-id i3-msg "gaps inner current set 0" && i3-msg "gaps outer current set 0"
|
|
bindsym d mode "default", exec --no-startup-id i3-msg "gaps inner current set $default_gaps_inner" && i3-msg "gaps outer current set $default_gaps_outer"
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
mode "$mode_gaps_inner" {
|
|
bindsym plus gaps inner current plus $gaps_inner_step
|
|
bindsym minus gaps inner current minus $gaps_inner_step
|
|
bindsym 0 mode "default", gaps inner current set 0
|
|
bindsym d mode "default", gaps inner current set $default_gaps_inner
|
|
|
|
bindsym Shift+plus gaps inner all plus $gaps_inner_step
|
|
bindsym Shift+minus gaps inner all minus $gaps_inner_step
|
|
bindsym Shift+0 mode "default", gaps inner all set 0
|
|
bindsym Shift+d mode "default", gaps inner all set $default_gaps_inner
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
mode "$mode_gaps_outer" {
|
|
bindsym plus gaps outer current plus $gaps_outer_step
|
|
bindsym minus gaps outer current minus $gaps_outer_step
|
|
bindsym 0 mode "default", gaps outer current set 0
|
|
bindsym d mode "default", gaps outer current set $default_gaps_outer
|
|
|
|
bindsym Shift+plus gaps outer all plus $gaps_outer_step
|
|
bindsym Shift+minus gaps outer all minus $gaps_outer_step
|
|
bindsym Shift+0 mode "default", gaps outer all set 0
|
|
bindsym Shift+d mode "default", gaps outer all set $default_gaps_outer
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
###############################################################################
|
|
# Brightness
|
|
|
|
# Screen brightness controls
|
|
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 1
|
|
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 1
|
|
|
|
set $mode_brightness brightness
|
|
|
|
bindsym $mod+Shift+b mode "$mode_brightness"
|
|
|
|
mode "$mode_brightness" {
|
|
bindsym plus exec --no-startup-id xbacklight -inc 1
|
|
bindsym minus exec --no-startup-id xbacklight -dec 1
|
|
bindsym Shift+plus exec --no-startup-id xbacklight -inc 10
|
|
bindsym Shift+minus exec --no-startup-id xbacklight -dec 10
|
|
|
|
bindsym 1 mode "default", exec --no-startup-id xbacklight -set 10
|
|
bindsym 2 mode "default", exec --no-startup-id xbacklight -set 20
|
|
bindsym 3 mode "default", exec --no-startup-id xbacklight -set 30
|
|
bindsym 4 mode "default", exec --no-startup-id xbacklight -set 40
|
|
bindsym 5 mode "default", exec --no-startup-id xbacklight -set 50
|
|
bindsym 6 mode "default", exec --no-startup-id xbacklight -set 60
|
|
bindsym 7 mode "default", exec --no-startup-id xbacklight -set 70
|
|
bindsym 8 mode "default", exec --no-startup-id xbacklight -set 80
|
|
bindsym 9 mode "default", exec --no-startup-id xbacklight -set 90
|
|
bindsym 0 mode "default", exec --no-startup-id xbacklight -set 100
|
|
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
}
|
|
|
|
###############################################################################
|
|
# ______ _ _ _ #
|
|
# | ____| (_) | | | | #
|
|
# | |__ __ ___ __ ___ _ __ _ _ __ ___ ___ _ __ | |_ __ _| | #
|
|
# | __| \ \/ / '_ \ / _ \ '__| | '_ ` _ \ / _ \ '_ \| __/ _` | | #
|
|
# | |____ > <| |_) | __/ | | | | | | | | __/ | | | || (_| | | #
|
|
# |______/_/\_\ .__/ \___|_| |_|_| |_| |_|\___|_| |_|\__\__,_|_| #
|
|
# | | #
|
|
# |_| #
|
|
###############################################################################
|
|
|
|
for_window [instance="dropdown-lf"] floating enable
|
|
for_window [instance="dropdown-lf"] resize set 1000 700
|
|
for_window [instance="dropdown-lf"] move scratchpad
|
|
for_window [instance="dropdown-lf"] border pixel 5
|
|
exec_always --no-startup-id $term -n dropdown-lf -e lfrun
|
|
|
|
bindsym $mod+u [instance="dropdown-lf"] scratchpad show; [instance="dropdown-lf"] move position center
|
|
|
|
for_window [class="GLWindow"] floating enable
|
|
no_focus [class="GLWindow"]
|
|
|
|
new_window pixel 3
|