Created
March 18, 2014 07:53
-
-
Save stormbrew/9615411 to your computer and use it in GitHub Desktop.
my i3wm.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file has been auto-generated by i3-config-wizard(1). | |
# It will not be overwritten, so edit it as you like. | |
# | |
# Should you change your keyboard layout somewhen, delete | |
# this file and re-run i3-config-wizard(1). | |
# | |
# i3 config file (v4) | |
# | |
# Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
set $mod Mod4 | |
# font for window titles. ISO 10646 = Unicode | |
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 | |
# Use Mouse+$mod to drag floating windows to their wanted position | |
floating_modifier $mod | |
# start a terminal | |
bindsym $mod+Return exec urxvt #i3-sensible-terminal | |
# kill focused window | |
bindsym $mod+Shift+Q kill | |
# start dmenu (a program launcher) | |
bindsym $mod+d exec dmenu_run | |
bindsym Control+Mod1+Delete exec i3lock | |
# change focus | |
bindsym $mod+j focus left | |
bindsym $mod+k focus down | |
bindsym $mod+l focus up | |
bindsym $mod+semicolon 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+J move left | |
bindsym $mod+Shift+K move down | |
bindsym $mod+Shift+L move up | |
bindsym $mod+Shift+colon 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+h 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, default) | |
bindsym $mod+s layout stacking | |
bindsym $mod+w layout tabbed | |
bindsym $mod+e 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 | |
#bindcode $mod+d focus child | |
bindsym $mod+g exec xdg-open 'http://i3wm.org/docs/userguide.html#_default_keybindings' | |
bindsym $mod+r exec i3-input -F 'rename workspace to "%s"' -P 'New name: ' | |
bindsym $mod+p exec i3-msg workspace "$(i3-msg -t get_workspaces | jq -r '.[] | .name' | dmenu -i)" | |
bindsym $mod+Shift+p exec i3-msg move container to workspace "$(i3-msg -t get_workspaces | jq -r '.[] | .name' | dmenu -i)" | |
bindsym $mod+Control+p exec env ACTIVE=$(i3-msg -t get_workspaces | jq -r '.[] | select(.focused) | .output') sh -c 'i3-msg workspace "$(i3-msg -t get_workspaces | jq -r ".[] | .name" | dmenu -i)" && i3-msg move workspace to output ${ACTIVE}' | |
bindsym $mod+o exec i3-msg '[title="'$(i3-msg -t get_tree | jq -r "recurse(.nodes[]) | select(.window) | .name" | dmenu -i)'"] focus' | |
bindsym $mod+Mod1+o exec i3-msg '[title="'$(i3-msg -t get_tree | jq -r "recurse(.nodes[]) | select(.window and .urgent) | .name" | dmenu -i)'"] focus' | |
bindsym $mod+Tab workspace next_on_output | |
bindsym $mod+Shift+Tab workspace prev_on_output | |
# switch to workspace | |
bindsym $mod+1 workspace number 1 | |
bindsym $mod+2 workspace number 2 | |
bindsym $mod+3 workspace number 3 | |
bindsym $mod+4 workspace number 4 | |
bindsym $mod+5 workspace number 5 | |
bindsym $mod+6 workspace number 6 | |
bindsym $mod+7 workspace number 7 | |
bindsym $mod+8 workspace number 8 | |
bindsym $mod+9 workspace number 9 | |
bindsym $mod+0 workspace number 10 | |
# move focused container to workspace | |
bindsym $mod+Shift+exclam move container to workspace number 1 | |
bindsym $mod+Shift+at move container to workspace number 2 | |
bindsym $mod+Shift+numbersign move container to workspace number 3 | |
bindsym $mod+Shift+dollar move container to workspace number 4 | |
bindsym $mod+Shift+percent move container to workspace number 5 | |
bindsym $mod+Shift+asciicircum move container to workspace number 6 | |
bindsym $mod+Shift+ampersand move container to workspace number 7 | |
bindsym $mod+Shift+asterisk move container to workspace number 8 | |
bindsym $mod+Shift+parenleft move container to workspace number 9 | |
bindsym $mod+Shift+parenright move container to workspace number 10 | |
bindsym $mod+Mod1+Left move workspace to output left | |
bindsym $mod+Mod1+Right move workspace to output right | |
bindsym $mod+Mod1+Up move workspace to output up | |
bindsym $mod+Mod1+Down move workspace to output down | |
bindsym $mod+Ctrl+1 move workspace 1 to output current | |
# 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 | |
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 -- +2dB | |
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -- -2dB | |
bindsym XF86AudioMute exec pactl set-sink-mute 0 $((pactl list sinks | grep -q Mute:.no && echo 1) || echo 0) | |
bindsym Print exec "bash -c '. ~/.config/bash/zscreen.sh && zscreen'" | |
# 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 j resize shrink width 10 px or 10 ppt | |
bindsym k resize grow height 10 px or 10 ppt | |
bindsym l resize shrink height 10 px or 10 ppt | |
bindsym semicolon resize grow width 10 px or 10 ppt | |
# same bindings, but for the arrow keys | |
bindsym 113 resize shrink width 10 px or 10 ppt | |
bindsym 116 resize grow height 10 px or 10 ppt | |
bindsym 111 resize shrink height 10 px or 10 ppt | |
bindsym 114 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" | |
client.urgent #2f343a #900000 #ffffff #900000 | |
# Start i3bar to display a workspace bar (plus the system information i3status | |
# finds out, if available) | |
bar { | |
status_command i3status | |
colors { | |
urgent_workspace #2f343a #900000 #ffffff | |
} | |
} | |
assign [class="Steam"] steam | |
assign [instance="desktop_window" class="Nemo"] nemo_desktop | |
assign [class="Thunderbird"] "2: comms" | |
assign [class="HipChat"] "2: comms" | |
assign [class="Pidgin"] "3: im" | |
assign [class="Firefox"] "4: browser" | |
assign [class="Chromium-browser"] "4: browser" | |
assign [class="Google-chrome"] "4: browser" | |
assign [class="Sublime_text"] "5: subl" | |
assign [class="sublime-text-2"] "5: subl" | |
assign [title="PlayOnLinux"] "10: wine" | |
for_window [title="PlayOnLinux"] floating enable | |
assign [class="Wine"] "10: wine" | |
for_window [class="Wine"] floating enable | |
for_window [class="Xfce4-notifyd"] floating enable | |
#exec --no-startup-id "[ -x ${HOME}/xrandr-normal ]" | |
workspace_layout stacking | |
#exec cinnamon-settings-daemon | |
exec xsettingsd -c "${HOME}/.config/xsettingsd" | |
exec nm-applet | |
exec i3-msg 'rename workspace to "1: terminals"; exec urxvt' | |
exec thunderbird | |
exec hipchat | |
exec pidgin | |
exec firefox | |
exec subl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment