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 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | # i3 config file
# May 13 2016 - okubax https://okubax.co.uk
#.......
# Font
#.......
font pango:Tewi 9
# See xmodmap
#..........
# Look
#..........
new_window pixel 3
focus_follows_mouse yes
# gaps
gaps inner 7
gaps outer 0
# Hybrid colors
set $black #002B36
set $white #839496
set $gray #CCCCCC
set $darkgray #666666
set $green #799F26
set $blue #4D73AA
set $purple #8473A7
set $red #B58900
set $orange #E59847
set $cyan #2AA198
set $dark #00252E
#class border backgr. text indicator
client.focused $white $white $dark $dark
client.unfocused $dark $dark $white $white
client.focused_inactive $dark $dark $white $dark
client.urgent $orange $orange $dark $white
#..........
# Applications
#..........
# Using bindcode for compatibility
# Principal mod key (Super = Win key)
# mod1 = Alt (xmodmap to show)
# mod4 = Winkey (xmodmap to show)
set $mod Mod4
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# 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 chromium
bindsym Mod1+w exec firefox
bindsym $mod+b exec $HOME/downloads/tor-browser_en-US/Browser/start-tor-browser
bindsym $mod+e exec brackets
bindsym Mod1+l exec i3lock -i $HOME/.wl/lock.png
bindsym Mod1+m exec claws-mail
bindsym Mod1+e exec urxvt -e mutt
bindsym $mod+i exec urxvt -e irssi
bindsym mod1+i exec urxvt -e weechat
bindsym $mod+c exec gsimplecal
bindsym Mod1+c exec galculator
bindsym $MOD+SHIFT+t exec urxvt -e htop
bindsym $MOD+SHIFT+x exec $HOME/bin/i3_session
bindsym $MOD+SHIFT+a exec $HOME/downloads/android-dev/android-studio/bin/studio.sh
bindsym $mod+Shift+b bar mode toggle
## KEY BINDINGS
bindsym $MOD+Tab focus right
# SCRATCHPAD CREATE
bindsym $MOD+SHIFT+plus move scratchpad
# Maim
bindsym --release $mod+s exec --no-startup-id "maim -s -c 1,0,0,0.6 -p 10"
# SCRATCHPAD SHOW
bindsym $MOD+plus scratchpad show
# start dmenu (a program launcher)
bindsym $mod+p exec --no-startup-id j4-dmenu-desktop --term urxvt --display-binar --dmenu "dmenu -sb '#E59847' -sf '#073642' -nb '#073642' -nf '#839496' -fn 'Tewi-9'"
# multimedia keys
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"
# Move to workspace
assign [instance="xfce4-terminal|urxvt"] $WS1
assign [instance="Navigator|Dialog"] $WS2
assign [class="chromium|jetbrains-android-studio|Firefox|qutebrowser"] $WS2
assign [class="Atom|sublime_text|Brackets"] $WS3
assign [instance="mousepad|leafpad|geany"] $WS3
assign [instance="shotwell|simple-scan|brasero|devede|imagination|picard|wxcam|google-musicmanager|goobox"] $WS4
assign [class="Gthumb|MPlayer|Rhythmbox|mpv|Xfburn|Pitivi|Popcorntime|Gmusicbrowser|Ogmrip|Spotify|Blender"] $WS4
assign [class="kdenlive|Kamoso|Digikam"] $WS4
assign [class="Thunar|Eclipse|Pinta|Blender|Catfish|Codeblocks"] $WS5
assign [class="VirtualBox|Gnome-disks|Gnome-boxes|qemu-system-x86_64"] $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
# Layout
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|Kamoso|Cheese|PkgBrowser|Seahorse"] floating enable
for_window [class="Gimp|Filezilla|Gnome-multi-writer|Rhythmbox|Main.py|Imagewriter|qemu-system-x86_64"] floating enable
for_window [title="Xfce-notifyd|TrueCrypt|Catfish|Google Keep|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
#...........
# Keybinds i3
#...........
# Back and Forth
workspace_auto_back_and_forth yes
# kill focused window
bindsym $mod+q kill
# 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 I
set $WS2 II
set $WS3 III
set $WS4 IV
set $WS5 V
set $WS6 VI
set $WS7 VII
set $WS8 VIII
set $WS9 IX
set $WS10 X
# 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 $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
# 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"
# Bar
bar {
position bottom
font pango:Tewi, FontAwesome 9
status_command ~/.i3/conky.sh
tray_output none
output LVDS1
output VGA1
colors {
statusline #999999
background $black
# Colors border backgr. text
focused_workspace $white $white $black
active_workspace #073642 #073642 #696f89
inactive_workspace #073642 #073642 $white
urgent_workspace $orange $orange $dark
}
}
# HANDLE POPUPS
#popup_during_fullscreen smart
# 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"
# autostart
exec --no-startup-id sh ~/.fehbg
exec --no-startup-id sh ~/bin/conky_todo
#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 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 | background no
out_to_console yes
out_to_x no
update_interval 2
total_run_times 0
short_units yes
pad_percents 3
max_text_width 0
if_up_strictness address
override_utf8_locale no
use_xft yes
TEXT
[
# {"full_text": ${if_mpd_playing} "♬","color":"\#839496"},
# {"full_text": "[${mpd_status}] ${mpd_artist 20} - ${mpd_title 30} ","color":"\#a6a6a6"},
# $else""},$endif
${if_mpd_playing}{ "full_text" : "♬ ${mpd_artist} - ${mpd_title}", "color" : "\#E59847"},${endif}
{"full_text": " ${execpi 60 ~/bin/gmail.sh}", "color":"\#a6a6a6"},\
${if_up enp4s0}{ "full_text" : " ${addr enp4s0} \u2193${downspeedf enp5s0}k \u2191${upspeedf enp4s0}k", "color" : "\#2AA198"},
${else}
${if_up wlp3s0}{ "full_text" : " \u2193${downspeedf wlp3s0}k \u2191${upspeedf wlp3s0}k", "color" : "\#2AA198"},
${else}
{"full_text": "no connection","color":"\#E59847"},\
${endif}
{"full_text":" ${execi 6 dropbox-cli status | sed -n 1p}", "color":"\#a6a6a6"},\
${if_existing /sys/class/power_supply/AC0/online 0}
{"full_text": "","color":"\"859900","separator":false,"separator_block_width":6},\
{"full_text": "${if_match ${battery_percent}<20} ${battery_percent}%","color":"\#dc322f"},\
{"full_text":"${else}"},\
{"full_text":"${if_match ${battery_percent}<50} ${battery_percent}%","color":"\#b58900"},\
{"full_text":"${else}"},\
{"full_text":"${if_match ${battery_percent}==100} ${battery_percent}%","color":"\#859900"},\
{"full_text":"${else}"},\
{"full_text":"${if_match ${battery_percent}>80} ${battery_percent}%","color":"\#859900"},\
{"full_text":"${else}"},\
{"full_text":"${if_match ${battery_percent}>=50} ${battery_percent}%","color":"\#859900"},\
{"full_text":"${else}"},\
{"full_text":"${endif}${endif}${endif}${endif}${endif}"},\
#${else}
#{"full_text": " ? ${battery_percent}% ","color":"\#859900"},\
#${endif}
{"full_text":" ${execpi 60 pactl list sinks | grep "Volume: front-left" | cut -d " " -f6 }", "color":"\#a6a6a6"},\
{"full_text":" ${time %a, %b %d}", "color":"\#a6a6a6"},\
{"full_text":" ${time %H:%M}", "color":"\#a6a6a6"}\
],
|
x
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/sh
# Send the header so that i3bar knows we want to use JSON:
echo '{"version":1}'
# Begin the endless array.
echo '['
# We send an empty first array of blocks to make the loop simpler:
echo '[],'
# Now send blocks with information forever:
conky -c $HOME/.i3/conky
|
x
Notes
i3 on ArchLinux with solarized colors
complete dotfiles available here: https://github.com/okubax/dotfiles