The VikiD Truth

Knowledge base / Computing

computingFreedom | Build | C Programmming | Computer Security | Emacs | vim | i3 | Javascipt | Linux | BASH | Tools and Software Operating Systems | Pharo Smalltalk | Picolisp | Picolisp Machine | pil sources | Python | SimpleLinuxConfig |

The i3 Window Manager

i3 Config File

i3wm:refcard The location of this file is ../home/user/.i3/config.

These are some notes on the i3 config file. It is not the complete file.

# Set the Mod Key
set $mod Mod4

default_border pixel 1
default_floating_border normal
hide_edge_borders none

bindsym $mod+u border none
bindsym $mod+y border pixel 3
bindsym $mod+n border pixel normal

# Font for window tiles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font xft:URWGothic-Book 11

floating_modifier $mod

bindsym $mod+Return exec alacrity
bindsym $mod+Shift+q kill

bindsym $mod+d exec --no-startup-id dmenu_recency

bindsym $mod+z exec --no-startup-id morc_menu

bindsym XF86MonBightnessUP exec "xbacklight -inc 1; notify-send 'brightness up'"
bimdsym XF86MonBrightnessDown exec "xbacklight -dec 1; notify-send 'brightness down'"

bindsym $mod+Ctrl+b exec terminal -e 'bmenu'
bindsym $mod+F2 exec firefox

# File Managers
bindsym $mod+F3 exec pcmanfm
bindsym $mod+F4 exec ranger
bindsym $mod+Shift+F3 exec pcmanfm_pkexec

# The Console Audio Player
bindsym $mod+F5 exec terminal -e 'mocp'

bindsym $mod+t exec --no-startup-id pkill picom
bindsym $mod+Ctrl+t exec --no-startup-id picom -b

# Notification Daemon
bindsym $mod+Shift+d --release exec "killall dunst; exec notify-send 'restart dunst'"

# Screenshots
bindsym $Print exec --no-startup-id i3-scrot
bindsym $mod+Print -release exec --no-startup-id i3-scrot -w
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s

bindsym $mod+Shift+h exec xdg-open /usr/share/doc/manjaro/i3_help.pdf

bindsym $mod+Ctrl+x --release exec --no-startup-id xkill

# change focus, move and split
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right

bindsym $mod+Shift+j  move left
bindsym $mod+Shift+k  move down
bindsym $mod+Shift+l  move up
bindsym $mod+Shift+semicolon  move right

workspace_auto_back_and_forth yes
bindsym $mod+b workspace back_and_forth
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth

bindsym $mod+h split h; exec notify-send 'tile horizontally'
bindsym $mod+v split v; exec notify-send 'tile vertically'
bindsym $mod+q split toggle

# toggle fullscreen
bindsym $mod+f fullscreen toggle

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

bindsym $mod+Shift+Space floating toggle

bindsym $mod+space focus mode_toggle
bindsym $mod+Shift+s stick toggle

bindsym $mod+a focus parent

bindsym $mod+Shift+minus move scratchpad

bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev

set $ws1 1:term
set $ws2 2:browser
set $ws3 3:emacs
set $ws4 4:lisp
set $ws5 5:cuis

bindsym $mod+1 workspace $ws1
# etc... etc...

bindsym $mod+Ctrl+1 move container to workspace $ws1
# etc... etc...

bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
# etc... etc...

assign [class="Thunderbird"] $ws1

for_window [title="alsmixer"] floating enable border pixel 1
for_window [class="calamares"] floating enable border normal
for_window [title="i3_help"] floating enable sticky enable border normal
for_window [class="OBlogout"] fullscreen enable
for_window [class="(?i)virtualbox"] floating enable border normal
# etc... etc...

for_window [urgent=latest] focus

bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart

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'"

bindsym $mod+0 mode "$mode_system"
mode "$mode_system"{
    bindsym l exec --no-startup-id i3exit lock, mode "default"
    bindsym s exec --no-startup-id i3exit suspend, mode "default"
    bindsym u exec --no-startup-id i3exit switch_user, mode "default"
    bindsym e exec --no-startup-id i3exit logout, mode "default"
    bindsym h exec --no-startup-id i3exit hibernate, mode "default"
    bindsym r exec --no-startup-id i3exit reboot, mode "default"
    bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"

    bindsym Return mode "default"
    bindsym Escape mode "default"
}

bindsym $mod+r mode "resize"
mode "resize" {
    bindsym j resize shrink width 5 px or 5 ppt
    bindsym k resize grow height 5 px or 5 ppt
    bindsym l resize shrink height 5 px or 5 ppt
    bindsym semicolon resize grow width 5 px or 5 ppt

    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
}

bindsym $mod+9 exec --no-startup-id blurlock

bindsym $mod+m bar mode toggle

Last edited · 11 revisions

Tags: #Computing