# i3 config file (v4) # # Please see https://i3wm.org/docs/userguide.html for a complete reference! # # This config file uses keycodes (bindsym) and was written for the QWERTY # layout. # # To get a config file with the same key positions, but for your current # layout, use the i3-config-wizard # set $mod Mod4 set_from_resource $main_color i3wm.color1 #fdff00 set_from_resource $secondary_color i3wm.color0 #98d1ce set_from_resource $bg_color i3wm.color4 #0c1014 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. #font -misc-fixed-medium-r-normal--12-120-75-75-C-70-iso10646-1 font pango:Mensch 9 # The font above is very space-efficient, that is, it looks good, sharp and # clear in small sizes. However, its unicode glyph coverage is limited, the old # X core fonts rendering does not support right-to-left and this being a bitmap # font, it doesn't scale on retina/hidpi displays. # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal #bindsym $mod+Return exec roxterm #bindsym $mod+Return exec lilyterm #bindsym $mod+Return exec terminology #bindsym $mod+Return exec pantheon-terminal #bindsym $mod+Return exec sakura #bindsym $mod+Return exec st #bindsym $mod+Return exec urxvt #bindsym $mod+Return exec gnome-terminal bindsym $mod+Return exec ~/.cargo/bin/alacritty #bindsym $mod+Return exec termite # kill focused window bindsym $mod+Shift+q kill # start rofi (a program launcher) bindsym $mod+d exec --no-startup-id "rofi -show run" bindsym $mod+Shift+d exec --no-startup-id "rofi -show window" bindsym Mod1+Tab exec --no-startup-id "rofi -show window" bindsym $mod+ctrl+d exec rofi-pass # 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 bindsym $mod+b 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+q 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 # change border type #bindsym $mod+u border toggle # focus the child container #bindsym $mod+d focus child # move the currently focused window to the scratchpad bindsym $mod+m 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 $mod+s scratchpad show # Define names for default workspaces for which we configure key bindings later on. # We use variables to avoid repeating the names in multiple places. 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 " set $ws11 " 11 " set $ws12 " 12 " set $ws13 " 13 " set $ws14 " 14 " set $ws15 " 15 " set $ws16 " 16 " set $ws17 " 17 " set $ws18 " 18 " set $ws19 " 19 " set $ws20 " 20 " workspace $ws1 output DP-0 workspace $ws2 output DP-0 workspace $ws3 output DP-0 workspace $ws4 output DP-0 workspace $ws5 output DP-0 workspace $ws6 output DP-0 workspace $ws7 output DP-0 workspace $ws8 output DP-0 workspace $ws9 output DP-0 workspace $ws10 output DP-0 workspace $ws11 output DVI-D-0 workspace $ws12 output DVI-D-0 workspace $ws13 output DVI-D-0 workspace $ws14 output DVI-D-0 workspace $ws15 output DVI-D-0 workspace $ws16 output DVI-D-0 workspace $ws17 output DVI-D-0 workspace $ws18 output DVI-D-0 workspace $ws19 output DVI-D-0 workspace $ws20 output DVI-D-0 # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 bindsym $mod+3 workspace number $ws3 bindsym $mod+4 workspace number $ws4 bindsym $mod+5 workspace number $ws5 bindsym $mod+6 workspace number $ws6 bindsym $mod+7 workspace number $ws7 bindsym $mod+8 workspace number $ws8 bindsym $mod+9 workspace number $ws9 bindsym $mod+0 workspace number $ws10 bindsym Mod1+1 workspace number $ws11 bindsym Mod1+2 workspace number $ws12 bindsym Mod1+3 workspace number $ws13 bindsym Mod1+4 workspace number $ws14 bindsym Mod1+5 workspace number $ws15 bindsym Mod1+6 workspace number $ws16 bindsym Mod1+7 workspace number $ws17 bindsym Mod1+8 workspace number $ws18 bindsym Mod1+9 workspace number $ws19 bindsym Mod1+0 workspace number $ws20 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace number $ws1 bindsym $mod+Shift+2 move container to workspace number $ws2 bindsym $mod+Shift+3 move container to workspace number $ws3 bindsym $mod+Shift+4 move container to workspace number $ws4 bindsym $mod+Shift+5 move container to workspace number $ws5 bindsym $mod+Shift+6 move container to workspace number $ws6 bindsym $mod+Shift+7 move container to workspace number $ws7 bindsym $mod+Shift+8 move container to workspace number $ws8 bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+0 move container to workspace number $ws10 bindsym Mod1+Shift+1 move container to workspace number $ws11 bindsym Mod1+Shift+2 move container to workspace number $ws12 bindsym Mod1+Shift+3 move container to workspace number $ws13 bindsym Mod1+Shift+4 move container to workspace number $ws14 bindsym Mod1+Shift+5 move container to workspace number $ws15 bindsym Mod1+Shift+6 move container to workspace number $ws16 bindsym Mod1+Shift+7 move container to workspace number $ws17 bindsym Mod1+Shift+8 move container to workspace number $ws18 bindsym Mod1+Shift+9 move container to workspace number $ws19 bindsym Mod1+Shift+0 move container to workspace number $ws20 # 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 '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'" # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Pressing left will shrink the window’s width. # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. bindsym l resize shrink width 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt bindsym h 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" #without borders new_window pixel 1 new_float pixel 3 #new_window normal 1 #new_float normal 1 hide_edge_borders smart focus_on_window_activation urgent workspace_auto_back_and_forth yes popup_during_fullscreen smart exec --no-startup-id hsetroot -solid '$bg_color' exec setxkbmap pl #bindsym Print exec import -window root ${HOME}/screen-`date +%Y%m%d%H%M%S`.png exec --no-startup-id dunst -config ~/.config/i3/dunst_config exec --no-startup-id pasystray -m 100 exec --no-startup-id blueman-applet exec --no-startup-id xset b off exec --no-startup-id nm-applet exec --no-startup-id flameshot exec --no-startup-id feh --bg-scale ~/.config/i3/wallpaper.png exec --no-startup-id xdotool key --clearmodifiers Num_Lock exec --no-startup-id unclutter # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { font pango:DejaVu Sans Mono, FontAwesome 12 status_command ~/.cargo/bin/i3status-rs ~/.config/i3/i3status-rs.toml mode dock modifier $mod tray_padding 0 tray_output primary font pango:Mensch 10 colors { separator #268bd2 background $bg_color statusline $secondary_color # focused_workspace $main_color $main_color $bg_color inactive_workspace $secondary_color $bg_color $secondary_color active_workspace $main_color $bg_color $main_color } } # client.focused $main_color $main_color $bg_color #2e9ef4 client.focused_inactive $main_color $bg_color $main_color #2e9ef4 client.unfocused $bg_color $bg_color $main_color #2e9ef4 bindsym $mod+z exec i3lock -c 151515 -e -f bindsym XF86Calculator exec --no-startup-id gnome-calculator # Screen brightness controls bindsym Mod1+Up exec brightnessctl s 5\%+ bindsym Mod1+Down exec brightnessctl s 5\%- # Media player controls set $refresh_i3status killall -SIGUSR1 i3status bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioPause exec playerctl play-pause bindsym XF86AudioStop exec playerctl stop bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous bindsym XF86AudioMicMute exec pulseaudio-ctl mute-input bindsym XF86AudioRaiseVolume exec pulseaudio-ctl up && $refresh_i3status bindsym XF86AudioLowerVolume exec pulseaudio-ctl down && $refresh_i3status bindsym XF86AudioMute exec pulseaudio-ctl mute && $refresh_i3status # System state management bindsym Pause exec systemctl suspend focus_on_window_activation focus for_window [instance="fontpreview"] floating enable for_window [class="^Chrome$" title=" - Chromium$"] border none for_window [class="firefox"] border none for_window [class="Gnome-calculator"] floating enabled