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 | #..........
# i3 config file (v4)
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
#..........
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below. ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, if you need a lot of unicode glyphs or
# right-to-left text rendering, you should instead use pango for rendering and
# chose a FreeType font, such as:
font pango:hermit bold 9
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec xfce4-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id dmenu_run
# switching between workspace
# http://i3wm.org/docs/userguide.html#_changing_named_workspaces_moving_to_workspaces
bindsym $mod+period workspace next
bindsym $mod+comma workspace prev
# 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+o split h;exec notify-send 'tile horizontally'
# split in vertical orientation
bindsym $mod+v split v;exec notify-send 'tile vertically'
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# workspace back and forth (with/without active container)
workspace_auto_back_and_forth no
# follow mouse yes by default
focus_follows_mouse no
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s 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
# focus the child container
#bindsym $mod+d focus child
set $ws1 "1: cli"
set $ws2 "2: eclipse"
set $ws3 "3: file"
set $ws4 "4: emacs"
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 "8: firefox"
set $ws9 "9: hipchat"
set $ws0 "10: www"
# 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 $ws0
# Move focused container to workspace
bindsym $mod+Ctrl+1 move container to workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws0
# Move to workspace with focused container
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
Bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
Bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws0; workspace $ws0
# Workspace's display
workspace $ws1 output VGA1
workspace $ws2 output VGA1
workspace $ws3 output VGA1
workspace $ws9 output LVDS1
workspace $ws8 output LVDS1
workspace $ws0 output LVDS1
# Assign window to a workspace
assign [class="(?i)term"] → $ws1
assign [class="(?i)eclipse"] → $ws2
assign [class="(?i)thunar"] → $ws3
assign [class="(?i)emacs"] → $ws4
assign [class="(?i)firefox"] → $ws8
assign [class="(?i)hipchat"] → $ws9
assign [class="(?i)chrome"] → $ws0
# 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
# Set shut down, restart and locking features
bindsym $mod+Shift+e mode "$mode_system"
set $mode_system (l)ock, (e)xit
mode "$mode_system" {
bindsym l exec --no-startup-id i3lock, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
# exit system mode: "Enter" or "Escape"
bindsym Return mode "default"
bindsym Escape mode "default"
}
# 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 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
# 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
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#..........
# Look
#..........
# window borded
new_window pixel 4
new_float pixel 4
# toggle border
bindsym $mod+b border toggle
# Hybrid colors
set $status_grey_bg #101010
set $black #282A2E
set $grey #373B41
set $lightgrey #707880
set $white #C5C8C6
set $yellow #F0C674
set $red #CC6666
set $darkred #A54242
set $green #B5BD56
set $purple #cc6699
#class border backgr. text split
client.focused $purple $purple $black $red
client.focused_inactive $grey $grey $lightgrey $grey
client.unfocused $grey $grey $lightgrey $grey
client.urgent $red $red $black $red
client.background $black
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
#status_command i3status
status_command ~/.i3/conky.sh
position top
mode dock
workspace_buttons yes
#tray_output none
colors {
background $status_grey_bg
statusline $white
#class border backgr. text
focused_workspace $purple $green $status_grey_bg
active_workspace $purple $status_grey_bg $purple
inactive_workspace $status_grey_bg $status_grey_bg $lightgrey
urgent_workspace $black $red $status_grey_bg
}
}
#..........
# autostart apps
#..........
exec --no-startup-id feh --bg-fill ~/Pictures/wallpapers/the-dark-knight-trilogy-wallpaper-full-hd.jpg
exec thunar --daemon
exec --no-startup-id eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg)
exec --no-startup-id nm-applet
exec --no-startup-id xfce4-volumed
exec --no-startup-id xfce4-power-manager
exec --no-startup-id clipit
exec --no-startup-id xautolock -time 10 -locker blurlock
|
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:
exec conky -c ~/.i3/conky-i3-bar
|
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 | #.......
#run in console out of X
# http://dotshare.it/dots/994/
#.......
out_to_x no
own_window no
out_to_console yes
background no
max_text_width 0
#behaviour
update_interval 1.0
# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2
# Add spaces to keep things from moving about? This only affects certain objects.
# use_spacer should have an argument of left, right, or none
use_spacer left
# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes
#font
use_xft yes
xftfont terminus:size=9
# JSON for i3bar
# Stuff after 'TEXT' will be formatted on screen
TEXT
## network status
[{ "full_text" : "WiFi Down: ${downspeed wlan0} Up: ${upspeed wlan0}" , "color" : "\#00B386"},
## RAM Info
{ "full_text" : "≣ MEM: ${mem} - [$membar]" , "color" : "\#C8C039" },
## CPU Info
# [{ "full_text" : "▣ CPU: ${cpu}% - [$cpubar] " , "color" : "\#ffffff" },
{ "full_text" : "▣ CPU: ${cpu}%" , "color" : "\#ffffff" },
# { "full_text" : "≣ MEM: ${mem} " , "color" : "\#C8C039" },
## Disk Space
# { "full_text" : "■ DISK: ${fs_used /}/${fs_size /} - [${fs_bar}]" , "color" : "\#00A9B5"},
# { "full_text" : "■ DISK: ${fs_used /}" , "color" : "\#00A9B5"},
## Battery Percentage
{ "full_text":"❤ BAT: ${battery_percent BAT0}%", "color" : "\#ff0066" },
## Date-Time
{ "full_text" : "${time %F - %H:%M:%S}" , "color" : "\#00B386"},
|
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 | # split windows like vim
# vim's definition of a horizontal/vertical split is reversed from tmux's
#bind s split-window -v
#bind v split-window -h
# remap prefix C-b to C-Space
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
# move around panes with hjkl, as one would in vim after pressing ctrl-w
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# swap pane
bind-key -n C-S-Left swap-window -t -1
bind-key -n C-S-Right swap-window -t +1
# resize panes like vim
# feel free to change the "1" to however many lines you want to resize by, only
# one at a time can be slow
bind < resize-pane -L 10
bind > resize-pane -R 10
bind - resize-pane -D 10
bind + resize-pane -U 10
# vi-style controls for copy mode
setw -g mode-keys vi
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf\; display "Reloaded!"
# set window and pane index to 1 (0 by default)
set-option -g base-index 1
setw -g pane-base-index 1
# set -g renumber-windows on
# unicode support
#setw -g utf8 on
#set -g status-utf8 on
# listen to alerts from all windows
set -g bell-action any
# auto rename window
set-option -g allow-rename off
set-option history-file ~/.tmux/.tmux_history
#..........
# Status line - http://dotshare.it/dots/963/
# Colours,
# for i in {0..255} ; do
# printf "\x1b[38;5;${i}mcolour${i}\n"
# done
#..........
set -g status-left ''
set -g status-right '#[fg=colour176,bold,bg=colour236,bold] %B #[fg=colour146,bold,bg=colour236,bold]%d, #[fg=colour173,bold,bg=colour236,bold]%Y#[fg=default] #[fg=colour234,bold,bg=colour12,bold] %R '
set -g status-right-length 100
set -g status-bg default
setw -g window-status-format '#[fg=colour236,bold,bg=colour180,bold] #I #[fg=colour180,bold,bg=colour236,bold] #W '
setw -g window-status-current-format '#[fg=colour180,bold,bg=colour236,bold] #I #[fg=colour236,bold,bg=colour180,bold] #W '
#..........
# Other good status line
# 1. http://dotshare.it/dots/586/
#..........
|
x
Notes
- xfce4-terminal
- vim
- tmux
- conky