mirror of
https://github.com/olexsmir/dotfiles.git
synced 2026-01-15 16:51:34 +02:00
183 lines
5.5 KiB
Text
183 lines
5.5 KiB
Text
############# General #############
|
|
# Bind $MOD(super) key
|
|
set $mod Mod4
|
|
# Font
|
|
font monospace 10
|
|
font pango:JetBrains Mono 10
|
|
# Disable window title
|
|
default_border pixel
|
|
new_float pixel
|
|
# Borders
|
|
hide_edge_borders smart
|
|
|
|
############ Autostart ############
|
|
exec --no-startup-id exec picom -b
|
|
exec --no-startup-id exec nmcli radio wifi on; nmcli device wifi connect <wifi-name> password <wifi-password> name net
|
|
exec --no-startup-id exec redshift-gtk
|
|
exec --no-startup-id exec setxkbmap "us,ru,ua" ",winkeys" "grp:alt_shift_toggle"
|
|
exec --no-startup-id exec org.telegram.desktop
|
|
exec --no-startup-id exec discord
|
|
exec --no-startup-id exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
exec --no-startup-id ecec clipmenud
|
|
|
|
############ Key bindings #########
|
|
# Terminal
|
|
bindsym $mod+Return exec kitty
|
|
bindsym ctrl+Mod1+t exec kitty
|
|
|
|
# Kill focus window
|
|
bindsym $mod+q kill
|
|
bindsym Mod1+F4 kill
|
|
|
|
# Program/Exit louncher
|
|
bindsym $mod+space exec "rofi -show drun -show cobi -show-icons"
|
|
bindsym $mod+Escape exec "rofi -show power-menu -show-icons -width 30 -lines 6 -modi power-menu:~/.config/rofi/rofi-power-menu"
|
|
# Restart i3wm
|
|
bindsym $mod+Shift+r restart
|
|
|
|
# Sceenshot
|
|
bindsym --release Print exec "scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png"
|
|
bindsym --release Shift+Print exec "scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png"
|
|
|
|
# Clipboard menu
|
|
bindsym $mod+c exec "CM_LAUNCHER=rofi clipmenu"
|
|
|
|
# Load program
|
|
bindsym $mod+F1 exec kitty -T=Ranger_FM ranger
|
|
bindsym $mod+F2 exec chromium
|
|
bindsym $mod+F3 exec subl
|
|
bindsym $mod+F4 exec notable
|
|
|
|
# Floating window
|
|
floating_modifier $mod
|
|
bindsym $mod+Shift+space floating toggle
|
|
bindsym $mod+Shift+f focus mode_toggle
|
|
|
|
# Fullscreen mode
|
|
bindsym $mod+f fullscreen toggle
|
|
bindsym $mod+F11 fullscreen toggle
|
|
|
|
# Splits
|
|
bindsym $mod+h split h
|
|
bindsym $mod+v split v
|
|
|
|
# Focus the parent container
|
|
bindsym $mod+a focus parent
|
|
|
|
# Change container layout(stacked, tabbed, toggle split)
|
|
bindsym $mod+s layout stacking
|
|
bindsym $mod+w layout tabbed
|
|
bindsym $mod+e layout toggle split
|
|
|
|
# Scratchpad
|
|
bindsym $mod+Shift+grave move scratchpad
|
|
bindsym $mod+grave scratchpad show, floating disable
|
|
|
|
# Move workspace on open window
|
|
for_window [urgent=["lastet"]] focus
|
|
focus_on_window_activation focus
|
|
|
|
######### Window preferens ########
|
|
assign [class="(?i)kitty"] $ws1
|
|
assign [class="(?i)chromium|firefox"] $ws2
|
|
assign [class="(?i)subl|code|typora"] $ws3
|
|
assign [class="(?i)thunar"] $ws4
|
|
assign [title="Notable|Simplenote"] $ws5
|
|
assign [class="(?i)telegram|discord"] $ws6
|
|
assign [title="KeePassXC"] $ws7
|
|
for_window [title="Ranger_FM"] move to workspace $ws4
|
|
for_window [class="Spotify"] move to workspace $ws10
|
|
|
|
##### Change containet focus ######
|
|
# Vim like keys container
|
|
bindsym $mod+j focus left
|
|
bindsym $mod+k focus down
|
|
bindsym $mod+l focus up
|
|
bindsym $mod+semicolon focus right
|
|
|
|
# Alternatively cursor keys
|
|
bindsym $mod+Left focus left
|
|
bindsym $mod+Down focus down
|
|
bindsym $mod+Up focus up
|
|
bindsym $mod+Right focus right
|
|
|
|
##### Move focused container ######
|
|
# Vim like keys
|
|
bindsym $mod+Shift+j move left
|
|
bindsym $mod+Shift+k move down
|
|
bindsym $mod+Shift+l move up
|
|
bindsym $mod+Shift+colon move right
|
|
|
|
# Alternatively 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
|
|
|
|
############ Workspaces ###########
|
|
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 $ws10 "10"
|
|
|
|
# Switch 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 $ws10
|
|
|
|
# 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 $ws10
|
|
|
|
########### Resize mode ###########
|
|
mode "resize" {
|
|
bindsym j resize shrink width 10 px or 10 ppt
|
|
bindsym k resize grow height 10 px or 10 ppt
|
|
bindsym l resize shrink height 10 px or 10 ppt
|
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
|
|
|
# same bindings, but for the arrow keys
|
|
bindsym Left resize shrink width 10 px or 10 ppt
|
|
bindsym Down resize grow height 10 px or 10 ppt
|
|
bindsym Up resize shrink height 10 px or 10 ppt
|
|
bindsym Right resize grow width 10 px or 10 ppt
|
|
|
|
# back to normal: Enter or Escape or $mod+r
|
|
bindsym Return mode "default"
|
|
bindsym Escape mode "default"
|
|
bindsym $mod+r mode "default"
|
|
}
|
|
bindsym $mod+r mode "resize"
|
|
|
|
############### Bar ###############
|
|
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
|
|
|
############## Colors #############
|
|
# class border backgr text indicator child_border
|
|
client.focused #268bd2 #268bd2 #ffffff #268bd2 #268bd2
|
|
client.focused_inactive #000000 #000000 #ffffff #000000 #000000
|
|
client.unfocused #000000 #000000 #888888 #000000 #000000
|
|
client.urgent #000000 #000000 #ffffff #000000 #000000
|
|
client.placeholder #000000 #000000 #ffffff #000000 #000000
|
|
client.background #ffffff
|