1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | set $mod Mod4
font xft:Cousine, FontAwesome 8
new_window pixel 3
focus_follows_mouse yes
#don't move to neighbouring screen with hjkl
force_focus_wrapping yes
set $blue #005588
set $gray1 #484848
set $gray2 #333333
client.focused $gray1 $gray1 #FFFFFF #333333
client.focused_inactive $gray2 $gray2 #FFFFFF #000000
client.unfocused $gray2 $gray2 #FFFFFF #000000
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Back and Forth
workspace_auto_back_and_forth yes
# kill focused window
bindsym $mod+q kill
# start dmenu (a program launcher)
bindsym $mod+p exec --no-startup-id "j4-dmenu-desktop --dmenu='dmenu -i -b -fn '-*-terminus-*-*-*-*-12-*-*-*-*-*-*-*''"
#bindsym $mod+p exec --no-startup-id dmenu_run -b -fn '-*-fixed-*-*-*-*-10-*-*-*-*-*-*-*' -nb '#111111' -nf '#555555' -sb '#111111' -sf '#aadb0f'
## KEY BINDINGS
bindsym $MOD+Tab focus right
# SCRATCHPAD CREATE
bindsym $MOD+SHIFT+plus move scratchpad
# SCRATCHPAD SHOW
bindsym $MOD+plus scratchpad show
# HANDLE POPUPS
#popup_during_fullscreen smart
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l 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
# split in horizontal orientation
bindsym $mod+bar split h
# split in vertical orientation
bindsym $mod+underscore split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+x layout tabbed
bindsym $mod+z layout default
# 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
# assign workspace variables
set $WS1 term
set $WS2 www
set $WS3 text
set $WS4 media
set $WS5 misc
set $WS6 system
set $WS7 office
set $WS8 mail
set $WS9 games
# 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 10
# 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 10
# float
for_window [class="xpad" instance="scratchpad"] move scratchpad
for_window [class="MPlayer|Galculator|Gsimplecal|Viewnior|Alarm-clock|Skype|xpad|Java|Clamtk|Blueman-manager|Spotify|Google-musicmanager"] floating enable
for_window [class="File-roller|Lxappearance|Nitrogen|Arandr|Caffeine|Pavucontrol|emulator64-arm|Transmission-gtk|sublime-text"] floating enable
for_window [title="Preferences|Xfce-notifyd|TrueCrypt|Catfish|Google Keep|Pocket|irssi|Xarchiver"] floating enable
for_window [title="File Operation Progress" class="Thunar"] floating enable
for_window [title="Share a link on Twitter - Mozilla Firefox" class="Firefox"] floating enable
for_window [title="Press This - Mozilla Firefox" class="Firefox"] floating enable
for_window [window_role="pop-up"] floating enable,move absolute center
# Move to workspace
assign [instance="terminator|urxvt"] $WS1
assign [instance="Navigator|filezilla|transmission-gtk|Dialog"] $WS2
assign [class="Chromium|jetbrains-android-studio|Dwb|Firefox"] $WS2
assign [class="sublime-text"] $WS3
assign [instance="mousepad|leafpad|geany"] $WS3
assign [instance="shotwell|nitrogen|simple-scan|brasero|devede|imagination|picard|wxcam|google-musicmanager|goobox"] $WS4
assign [class="MPlayer|mpv|Xfburn|Pitivi|Popcorntime|Gmusicbrowser|Ogmrip|Spotify"] $WS4
assign [class="Thunar|Gimp|Eclipse|Pinta|Blender|Catfish|Galculator|Codeblocks"] $WS5
assign [class="VirtualBox|Gnome-disks"] $WS6
assign [instance="syncbackup|bleachbit|gparted|hardinfo|truecrypt"] $WS6
assign [instance="VCLSalFrame|libreoffice"] $WS7
assign [class="libreoffice*|Zathura|libreoffice-writer"] $WS7
assign [class="Claws-mail"] $WS8
assign [class="Wine|Steam|dontstarve"] $WS9
# 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 exit
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym h 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 l resize grow width 10 px or 10 ppt
# arrow keys #
# bindsym 113 right
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Create Log out, Reboot, Poweroff bindings
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id $HOME/bin/i3exit lock, mode "default"
bindsym e exec --no-startup-id $HOME/bin/i3exit logout, mode "default"
bindsym s exec --no-startup-id $HOME/bin/i3exit suspend, mode "default"
bindsym h exec --no-startup-id $HOME/bin/i3exit hibernate, mode "default"
bindsym r exec --no-startup-id $HOME/bin/i3exit reboot, mode "default"
bindsym Shift+s exec --no-startup-id $HOME/bin/i3exit shutdown, mode "default"
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+Q mode "$mode_system"
# take screenshot
bindsym Print exec $HOME/bin/screen.sh root
bindsym Mod1+Print exec $HOME/bin/screen.sh active
# key bindings
bindsym $MOD+Return exec --no-startup-id urxvt
bindsym $MOD+SHIFT+f exec thunar
bindsym $mod+w exec firefox
bindsym $mod+SHIFT+w exec dwb
bindsym Mod1+w exec chromium
bindsym $mod+b exec $HOME/downloads/tor-browser_en-US/start-tor-browser
bindsym $mod+e exec geany
bindsym Mod1+l exec i3lock -i $HOME/images/i3lock/wl.png
bindsym Mod1+e exec claws-mail
bindsym $mod+i exec urxvt -e irssi
bindsym $MOD+SHIFT+t exec urxvt -e htop
bindsym $MOD+SHIFT+a exec $HOME/downloads/android-studio/bin/studio.sh
# multimedia keys
bindsym XF86AudioRaiseVolume exec "amixer -D pulse sset Master '3%+'"
bindsym XF86AudioLowerVolume exec "amixer -D pulse sset Master '1%-'"
bindsym XF86AudioMute exec "amixer -D pulse set Master toggle"
bindsym XF86AudioPlay exec "mpc toggle"
bindsym XF86AudioStop exec "mpc stop"
bindsym XF86AudioNext exec "mpc next"
bindsym XF86AudioPrev exec "mpc prev"
# brightness
bindsym XF86MonBrightnessUp exec "xbacklight +10"
bindsym XF86MonBrightnessDown exec "xbacklight -10"
bar {
position top
status_command ~/.i3/conky
colors {
statusline #AAAAAA
background #333333
focused_workspace $gray2 $gray2 #FFFFFF
inactive_workspace $gray1 $gray1 #AAAAAA
}
}
# autostart
exec --no-startup-id sh ~/.fehbg
#exec --no-startup-id xpad
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | background no
out_to_console yes
out_to_x no
update_interval 2
total_run_times 0
short_units yes
pad_percents 3
override_utf8_locale yes
TEXT
,[{"full_text": ${if_mpd_playing} " ","color": "\#268BD2"},
{"full_text": "${mpd_artist 20} - ${mpd_title 30}","color":"\#FFFF00"},
$else""},$endif
{"full_text": " $acpitemp°C [$cpu%] ","color": "\#DC322F"},
{"full_text": " [$membar] ", "color":"\#B58900"},
${if_up wlp3s0}{"full_text": " ${wireless_essid wlp3s0} [${wireless_link_qual_perc wlp3s0}%] ","color":"\#33CC99"},
$else${if_up ppp0}{"full_text": " orange ","color":"\#33CC99"},
$else${if_up enp4s0}{"full_text": " enp4s0 ","color":"\#33CC99"},
$else{"full_text": " ≈ no connection ","color":"\#33CC99"},$endif$endif$endif
{"full_text": " ${execpi 60 python ~/bin/gmail.py}","color":"\#00FF00"},
{"full_text": " [$battery_percent%] ","color":"\#9933CC"},
{"full_text": " ${time %a %d %b} ${time %H:%M} "}
]
|
x
Notes
Note: for the bar, I’m using FontAwesome for the icons