aboutsummaryrefslogtreecommitdiffstats
path: root/_i3/config
diff options
context:
space:
mode:
Diffstat (limited to '_i3/config')
-rw-r--r--_i3/config386
1 files changed, 386 insertions, 0 deletions
diff --git a/_i3/config b/_i3/config
new file mode 100644
index 0000000..1e274bb
--- /dev/null
+++ b/_i3/config
@@ -0,0 +1,386 @@
+###########################################################
+## ~/.i3/config
+##
+## i3 config file (v4)
+##
+## References:
+## [1] http://i3wm.org/docs/userguide.html
+##
+## Credits:
+## [1] https://github.com/Airblader/dotfiles-manjaro
+## [2] https://github.com/Remedan/dotfiles
+##
+## Aaron LI <aaronly.me@outlook.com>
+## Created: 2014-05-10
+## Updated: 2015-12-18
+###########################################################
+
+###### NOTES ###### {{{
+# To get a config file with the same key positions, but for your current
+# layout, use the `i3-config-wizard'
+###### NOTES ###### }}}
+
+###### variables ###### {{{
+## modifier
+# Mod1: Alt
+# Mod4: Win
+set $mod Mod1
+set $sup Mod4
+
+# variables used in this config
+set $i3_scripts ~/.i3/scripts
+set $i3_images ~/.i3/images
+
+# screenshots directory
+set $shots_dir ~/pictures/screenshots
+###### variables ###### }}}
+
+###### settings ###### {{{
+# Font for window titles. (also for bar if not specified)
+# ISO 10646: Unicode
+# Use pango to choose FreeType fonts
+#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+#font pango:DejaVu Sans Mono 10
+font pango:Terminus, WenQuanYi Bitmap Song, FontAwesome, 10
+
+# use `Mouse+$mod' to drag floating windows
+floating_modifier $mod
+
+# focus follows mouse (default yes)
+#focus_follows_mouse no
+
+# timeout of urgency hint on workspace change (default 500ms)
+force_display_urgency_hint 1000 ms
+
+# do not focus the activated window, always mark urgent (default: smart)
+focus_on_window_activation urgent
+
+# ipc (`i3-msg' to run i3 commands)
+ipc-socket ~/.i3/i3-ipc.sock
+###### settings ###### }}}
+
+###### appearance ###### {{{
+# border style
+#new_window 1pixel
+bindsym $mod+t border normal
+bindsym $mod+y border pixel 3
+bindsym $mod+u border none
+
+# 2 pixel border by default
+for_window [class="^.*"] border pixel 2
+
+# orientation for new workspaces
+default_orientation auto
+
+# hide vertical borders adjacent to the screen edge
+#hide_edge_borders vertical
+
+### colors
+# molokai
+set $black #1b1d1e
+set $white #f8f8f2
+set $dark_gray #303030
+set $light_gray #9999aa
+set $red #b60050
+set $light_red #f92672
+set $green #88bb22
+set $light_green #80ff00
+set $brown #c47f2c
+set $yellow #ffba68
+set $blue #30309b
+set $light_blue #7070f0
+set $purple #7e40a5
+set $light_purple #bb88dd
+set $cyan #4699af
+set $light_cyan #66d9ef
+
+# BORDER BACKGROUND TEXT INDICATOR
+client.focused $green $green $black $green
+client.unfocused $black $black $white $black
+client.focused_inactive $black $black $white $black
+client.urgent $red $red $black $red
+client.background $black
+###### appearance ###### }}}
+
+###### workspace ###### {{{
+# name workspace
+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: "
+
+# 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
+
+# auto back-and-forth when switched to the current workspace
+workspace_auto_back_and_forth yes
+
+# 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 $ws0
+# move to provided workspace
+bindsym $mod+Shift+m exec i3-input -F 'move container to workspace "%s"' -P 'move to workspace: '
+
+# switch workspace
+bindsym $mod+Tab workspace back_and_forth
+bindsym $mod+Ctrl+Left workspace prev
+bindsym $mod+Ctrl+Right workspace next
+# also bind ThinkPad 'XF86Back' and 'XF86Forward' keys
+#bindsym XF86Back workspace prev
+#bindsym XF86Forward workspace next
+###### workspace ###### }}}
+
+###### key bindings ###### {{{
+# start a terminal
+bindsym $mod+Return exec urxvtc || i3-sensible-terminal
+
+# kill focused window
+bindsym $mod+Shift+q kill
+bindsym $mod+F4 kill
+
+# change focus (h/j/k/l)
+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 (h/j/k/l)
+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+Shift+v split h
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen
+
+# 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+c focus child
+
+## scratchpad
+# move the currently focused window to the scratchpad
+bindsym $mod+Shift+minus move scratchpad
+# Show the next scratchpad window or hide the focused scratchpad window.
+# If there are multiple scratchpad windows, this command cycles through them.
+bindsym $mod+minus scratchpad show
+
+# toggle whether to stick a window to the screen (regardless of workspaces)
+bindsym $mod+Shift+s sticky toggle
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves 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 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'"
+###### key bindings ###### }}}
+
+###### i3 modes ###### {{{
+# 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"
+
+# mode_system: prompt for lock, logout, suspend, shutdown, etc.
+set $mode_system System (l) lock, (e) logout, (s) suspend, (r) reboot, (Shift+s) shutdown
+mode "$mode_system" {
+ bindsym l exec --no-startup-id $i3_scripts/i3exit.sh lock, mode "default"
+ bindsym e exec --no-startup-id $i3_scripts/i3exit.sh logout, mode "default"
+ bindsym s exec --no-startup-id $i3_scripts/i3exit.sh suspend, mode "default"
+ bindsym r exec --no-startup-id $i3_scripts/i3exit.sh reboot, mode "default"
+ bindsym Shift+s exec --no-startup-id $i3_scripts/i3exit.sh shutdown, mode "default"
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+Ctrl+Delete mode "$mode_system"
+###### i3 modes ###### }}}
+
+###### application bindings ###### {{{
+## NOTE: (Mod4: Win)
+## Some Mod4-keys binded for urxvt (~/.Xresources)
+## Mod4-c, Mod4-v, Mod4-Shift-v
+## Mod4-Escape, Mode4-s, Mod4-u
+
+## program launcher
+#bindsym $mod+d exec --no-startup-id dmenu_run
+#bindsym $mod+F2 exec --no-startup-id dmenu_run
+# use 'rofi' instead of 'dmenu'
+bindsym $mod+d exec --no-startup-id rofi -show run
+bindsym $mod+F2 exec --no-startup-id rofi -show run
+# `i3-dmenu-desktop' only displays applications with a .desktop file
+bindsym $mod+p exec --no-startup-id i3-dmenu-desktop
+
+# lock screen (i3lock)
+bindsym $mod+Ctrl+l exec --no-startup-id $i3_scripts/i3exit.sh lock
+bindsym $sup+l exec --no-startup-id $i3_scripts/i3exit.sh lock
+# turn off display
+bindsym $mod+Ctrl+b exec --no-startup-id sleep 1 && xset dpms force off
+
+# screenshots
+bindsym --release Print exec --no-startup-id scrot -e 'mv $f $shots_dir/'
+bindsym --release $mod+Print exec --no-startup-id scrot -s -e 'mv $f $shots_dir/'
+
+# terminal
+bindsym $sup+t exec urxvtc || urxvt || i3-sensible-terminal
+bindsym $sup+Enter exec urxvtc || urxvt || i3-sensible-terminal
+# file manager
+bindsym $sup+f exec thunar
+# web browser
+bindsym $sup+w exec ~/bin/firefox || firefox
+
+## dropdown terminal
+# auto start urxvt if closed
+exec --no-startup-id "while true; do urxvt -name 'dropdown_term'; done"
+#for_window [instance="dropdown_term"] floating enable, border 1pixel
+#for_window [instance="dropdown_term"] move scratchpad; [instance="dropdown_term"] scratchpad show; resize shrink height 100px; resize grow width 626px; move position 1px 20px; move scratchpad
+for_window [instance="dropdown_term"] floating enable, border 1pixel, resize shrink height 100px, resize grow width 626px, move position 1px 20px
+for_window [instance="dropdown_term"] move scratchpad
+bindsym $mod+backslash [instance="dropdown_term"] scratchpad show
+###### applications bindings ###### }}}
+
+###### window control ###### {{{
+## floating
+for_window [window_role="pop-up"] floating enable
+for_window [window_role="bubble"] floating enable
+for_window [window_role="task_dialog"] floating enable
+for_window [window_role="Preferences"] floating enable
+
+for_window [window_type="dialog"] floating enable
+for_window [window_type="menu"] floating enable
+
+for_window [class="(?i)Arandr"] floating enable
+for_window [class="Xscreensaver-demo"] floating enable
+
+for_window [title="^XBindKey:.*Hit.*"] floating enable
+
+for_window [class="(?i)Xfce4-notifyd"] floating enable, border none
+
+# assign workspace for applications
+assign [class="(?i)firefox"] $ws1
+###### window control ###### }}}
+
+###### i3bar ###### {{{
+bar {
+ #status_command i3status -c ~/.i3/i3status.conf
+ status_command i3blocks -c ~/.i3/i3blocks.conf
+ position top
+ # whether show the current binding mode indicator (default yes)
+ #binding_mode_indicator no
+ font pango:Terminus, WenQuanYi Bitmap Song, FontAwesome, 11
+ tray_output primary
+ separator_symbol " "
+ # disable scroll on workspace buttons
+ bindsym button4 nop
+ bindsym button5 nop
+ # disable tray padding (default: 2)
+ tray_padding 0
+ # display workspace of name "[n]:[NAME]" with only the "[NAME]"
+ strip_workspace_numbers yes
+
+ colors {
+ statusline $white
+ background $black
+ separator $green
+ # BORDER BACKGROUND TEXT
+ focused_workspace $light_green $light_green $black
+ active_workspace $black $black $white
+ inactive_workspace $black $black $white
+ urgent_workspace $light_red $light_red $white
+ binding_mode $black $black $yellow
+ }
+}
+###### i3bar ###### }}}
+
+###### autostart ###### {{{
+## run applications on startup
+## if need to run command when restarting i3, use `exec_always'
+exec --no-startup-id xset b off
+exec --no-startup-id xrdb -load ~/.Xresources
+#exec --no-startup-id feh --bg-fill $i3_images/wallpaper.png
+exec --no-startup-id sh ~/.fehbg
+#exec --no-startup-id xcompmgr
+exec --no-startup-id compton -b
+exec --no-startup-id redshift
+exec --no-startup-id xbindkeys
+exec --no-startup-id urxvtd -q -o -f
+exec --no-startup-id parcellite
+exec --no-startup-id fcitx
+exec --no-startup-id nm-applet
+exec --no-startup-id xbacklight -set 80
+exec --no-startup-id xscreensaver -no-splash
+exec --no-startup-id xfce4-power-manager
+exec --no-startup-id mpd
+###### autostart ###### }}}
+
+# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=conf: #