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 | #
# i3 Config
#
#
# Basic Settings
# ---------------------------------------------------------------------
# We'll use the Windows Key
set $mod Mod4
# Font
font pango:Ubuntu 12
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# 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 $ws0 10:
# The lock command
set $lock exec i3lock -i ~/.dotfiles/wallpaper.png
# Display notification command
set $notif exec --no-startup-id notif -b i3 -u critical
# The return to default and hide notification command
set $go_default exec --no-startup-id notif -c i3, mode "default"
# Volume command
set $volume exec --no-startup-id ~/.dotfiles/sbin/change_volume
# Allow quick tabbing back and forth
workspace_auto_back_and_forth yes
# This is just annoying
focus_follows_mouse no
# Visual Items
# ---------------------------------------------------------------------
# General colours
client.focused #3F8AC2 #096BAA #00BAA7 #00DA8E
client.focused_inactive #333333 #5F676A #ffffff #484e50
client.unfocused #333333 #424242 #888888 #292d2e
client.urgent #C10004 #900000 #ffffff #900000
# Bar at bottom of the screen
bar
{
font pango:Font Awesome 12
strip_workspace_numbers yes
status_command i3blocks
colors
{
background #232323
statusline #DCDCDC
}
}
# General Key Bindings
# ---------------------------------------------------------------------
# Lock the screen
bindsym $mod+l $lock
# Audio controls
bindsym XF86AudioRaiseVolume $volume up
bindsym XF86AudioLowerVolume $volume down
bindsym XF86AudioMute $volume mute-spkr
bindsym F6 $volume mute
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# Kill focused window
bindsym $mod+Shift+q kill
# The program and password menus (handled by rofi)
bindsym $mod+p exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -show run -dmenu'
bindsym $mod+o exec --no-startup-id passmenu
# Window Management Key Bindings
# ---------------------------------------------------------------------
# Change focus around
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+a focus parent
bindsym $mod+c focus child
bindsym $mod+space focus mode_toggle
# Move windows around
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen
# Spawn the next window horizontally / vertically
bindsym $mod+h split h
bindsym $mod+v split v
# Make a window floating / sticky
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+s sticky toggle
# Switching around workspaces
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 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace $ws0
# Moving windows to workspaces
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 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace $ws0
# Argh, here be dragons!
# Reload the i3 config or the whole environment
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
# Modes
# ---------------------------------------------------------------------
# Resize windows
set $resize "Resize Mode: Use arrow keys to adjust size"
bindsym $mod+r $notif 'Resize Mode' $resize, mode $resize
mode $resize
{
# Resize Windows
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
# Resize Windows more precisely
bindsym Shift+Left resize shrink width 1 px or 1 ppt
bindsym Shift+Down resize grow height 1 px or 1 ppt
bindsym Shift+Up resize shrink height 1 px or 1 ppt
bindsym Shift+Right resize grow width 1 px or 1 ppt
# back to normal: Enter or Escape
bindsym Return $go_default
bindsym Escape $go_default
}
# Default power options
set $power "Power Options: (P)oweroff (R)estart (H)ibernate (S)uspend"
bindsym $mod+Shift+p $notif 'Power Mode' $power, mode $power
mode $power
{
bindsym h $lock && systemctl hibernate, $go_default
bindsym p exec systemctl poweroff, $go_default
bindsym r exec systemctl reboot, $go_default
bindsym s $lock && systemctl suspend, $go_default
bindsym Escape $go_default
}
# Change Screen Orientation
set $screen "Change Screen Orientation"
bindsym $mod+Shift+o mode $screen
mode $screen
{
bindsym Up exec ~/.dotfiles/sbin/rotate_screen up, mode "default"
bindsym Left exec ~/.dotfiles/sbin/rotate_screen left, mode "default"
bindsym Down exec ~/.dotfiles/sbin/rotate_screen inverted, mode "default"
bindsym Right exec ~/.dotfiles/sbin/rotate_screen right, mode "default"
bindsym Escape mode "default"
}
# Tablet mode has simplified key bindings
set $tablet_mode "Tablet Mode"
bindsym $mod+Shift+t exec ~/.dotfiles/sbin/tablet_mode on, mode $tablet_mode
mode $tablet_mode
{
bindsym $mod+Left move left
bindsym $mod+Down move down
bindsym $mod+Up move up
bindsym $mod+Right move right
bindsym $mod+t exec ~/.dotfiles/sbin/tablet_mode off, mode "default"
}
# Startup
# ---------------------------------------------------------------------
# Popup a box asking for my ecryptfs password
exec --no-startup-id ~/.dotfiles/sbin/start
# Set the background
exec --no-startup-id feh --bg-scale /home/emily/Pictures/wallpaper.jpg
# Notification daemon
exec --no-startup-id dunst
# Make windows fade in and out and look nice
exec --no-startup-id compton
# Turn off touchpad during typing
exec --no-startup-id syndaemon -t -K
# Load the X server defaults
exec --no-startup-id xrdb ~/.dotfiles/Xresources
# Load up the multi-tilded setup of the main workspace
exec --no-startup-id "i3-msg 'workspace $ws3; append_layout ~/.i3/ws3.json'"
exec chromium
exec chromium
|
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 | {
"border": "normal",
"floating": "auto_off",
"layout": "tabbed",
"percent": 0.629166666666667,
"type": "con",
"nodes":
[{
"border": "normal",
"current_border_width": 4,
"floating": "auto_off",
"geometry":
{
"height": 2072,
"width": 3832,
"x": 4,
"y": 40
},
"name": "Main Window",
"percent": 1,
"swallows":
[
{"class": "^chromium$"}
],
"type": "con"
}]
}
{
"border": "normal",
"current_border_width": 4,
"floating": "auto_off",
"geometry":
{
"height": 2072,
"width": 3832,
"x": 4,
"y": 124
},
"name": "Sub Window",
"percent": 0.370833333333333,
"swallows":
[
{"class":"^chromium$"}
],
"type": "con"
}
|
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 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 | # i3blocks config file
#
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
#
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
command=/usr/lib/i3blocks/$BLOCK_NAME
separator_block_width=15
markup=none
[mail]
command=~/.dotfiles/sbin/i3blocks/mail
interval=600
signal=1
# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[volume]
command=~/.dotfiles/sbin/i3blocks/volume
interval=1
signal=10
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=MEM
separator=false
interval=30
[memory]
label=DIRTY
separator=false
interval=30
command=~/.dotfiles/sbin/i3blocks/dirty
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=HOME
#instance=/mnt/data
interval=30
# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
[iface]
#instance=wlan0
interval=10
separator=false
[wifi]
label=
instance=wlo1
interval=10
# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[cpu_usage]
label=
interval=10
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
command=~/.dotfiles/sbin/i3blocks/battery
interval=30
# Date Time
#
[time]
command=date '+%A %d %B - %R:%S'
interval=1
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
#[mediaplayer]
#instance=mplayer
#interval=5
#signal=10
# OpenVPN support
#
# Support multiple VPN, with colors.
#[openvpn]
#interval=20
# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
#[temperature]
#label=TEMP
#interval=10
# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
#[keyindicator]
#instance=CAPS
#interval=once
#signal=11
#[keyindicator]
#instance=NUM
#interval=once
#signal=11
|
x