Created
May 28, 2015 07:49
-
-
Save alexlangberg/f6c98efddb8b67b8b37a to your computer and use it in GitHub Desktop.
Configuration file for i3
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. 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:DejaVu Sans Mono 10 | |
# Use Mouse+$mod to drag floating windows to their wanted position | |
floating_modifier $mod | |
# start a terminal | |
bindsym $mod+Return exec i3-sensible-terminal | |
# kill focused window | |
bindsym $mod+Shift+q kill | |
# change focus | |
bindsym $mod+j focus left | |
bindsym $mod+k focus down | |
bindsym $mod+l focus up | |
bindsym $mod+ae 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+ae 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, 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 | |
# 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 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'" | |
# 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 ae 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" | |
# Below here by alexlangberg | |
# screen setup | |
exec /home/alj/.i3/screens.sh | |
# start dmenu (a program launcher) | |
bindsym $mod+d exec dmenu_run -b -nb '#000000' -nf '#aaaaaa' -sb '#4D679a' -sf '#ffffff' -fn 'Ubuntu 11' | |
# There also is the (new) i3-dmenu-desktop which only displays applications | |
# shipping a .desktop file. It is a wrapper around dmenu, so you need that | |
# installed. | |
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop | |
# Start i3bar to display a workspace bar (plus the system information i3status | |
# finds out, if available) | |
bar { | |
# output DFP9 | |
position top | |
tray_output primary | |
status_command i3status | |
font pango:Ubuntu 10 | |
colors { | |
background #000000 | |
statusline #383a3b | |
separator #222222 | |
focused_workspace #4d679a #4d679a #ffffff | |
active_workspace #4d679a #4d679a #ffffff | |
inactive_workspace #000000 #000000 #aaaaaa | |
urgent_workspace #2f343a #900000 #ffffff | |
} | |
} | |
mouse_warping none | |
hide_edge_borders both | |
font pango:Ubuntu 10 | |
# class border backgr. text indicator | |
client.focused #4d679a #4d679a #ffffff #2e9ef4 | |
client.focused_inactive #383a3b #383a3b #ffffff #484e50 | |
client.unfocused #383a3b #383a3b #ffffff #292d2e | |
client.urgent #4d679a #900000 #ffffff #900000 | |
# Make the currently focused window a scratchpad | |
bindsym $mod+Shift+minus move scratchpad | |
# Show the first scratchpad window | |
bindsym $mod+minus scratchpad show | |
# Show the sup-mail scratchpad window, if any. | |
# bindsym mod4+s [title="^Sup ::"] scratchpad show | |
# assign applications to workspaces | |
assign [class="jetbrains-phpstorm" title="/PhpStorm/"] 5 | |
# custom stuff for windows | |
for_window [class="jetbrains-phpstorm" title="^Terminal$"] floating disable, move container to workspace 6 | |
for_window [class="jetbrains-phpstorm" title="^Project$"] floating disable, move container to workspace 6 | |
for_window [class="jetbrains-phpstorm" title="^Database$"] floating disable, move container to workspace 6 | |
for_window [class="jetbrains-phpstorm" title="^Changes$"] floating disable, move container to workspace 6 | |
for_window [class="jetbrains-phpstorm" title="^REST Client$"] floating disable, move container to workspace 6 | |
# startup applications | |
exec --no-startup-id redshift-gtk | |
exec --no-startup-id ~/.pa-applet/pa-applet | |
exec --no-startup-id --tray wicd-gtk | |
exec --no-startup-id xfce4-power-manager | |
exec --no-startup-id xfce4-taskmanager | |
exec --no-startup-id remmina | |
#exec --no-startup-id ~/.dropbox-dist/dropboxd | |
#exec --no-startup-id transmission-gtk | |
# turn off screensaver and standby | |
exec xset -dpms | |
exec xset s noblank | |
exec xset s 0 0 | |
exec xset s off | |
# pulseaudio default sound card selection | |
# exec --no-startup-id pactl set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo-extra1 | |
# exec --no-startup-id pactl set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 | |
# custom hotkeys | |
bindsym $mod+Shift+Control+Delete exec "/home/alj/.i3/lock.sh && sudo pm-hibernate" | |
bindsym Shift+Control+Delete exec xfce4-taskmanager | |
bindsym Print exec xfce4-screenshooter | |
# spotify hotkeys | |
bindsym XF86AudioPlay exec ~/.spotify_hotkeys/spotify_hotkeys.sh play | |
bindsym XF86AudioPrev exec ~/.spotify_hotkeys/spotify_hotkeys.sh prev | |
bindsym XF86AudioNext exec ~/.spotify_hotkeys/spotify_hotkeys.sh next | |
# display and workspace setup | |
# use "xrandr --query" to see available outputs | |
# work computer | |
workspace 1 output DFP13 | |
workspace 4 output DFP13 | |
workspace 7 output DFP13 | |
workspace 0 output DFP9 | |
workspace 2 output DFP9 | |
workspace 5 output DFP9 | |
workspace 8 output DFP9 | |
workspace 10 output DFP9 | |
workspace 11 output DFP9 | |
workspace 3 output DFP1 | |
workspace 6 output DFP1 | |
workspace 9 output DFP1 | |
# switch to workspace, keypad | |
bindsym $mod+KP_1 workspace 1 | |
bindsym $mod+KP_4 workspace 4 | |
bindsym $mod+KP_7 workspace 7 | |
bindsym $mod+KP_0 workspace 0 | |
bindsym $mod+KP_2 workspace 2 | |
bindsym $mod+KP_5 workspace 5 | |
bindsym $mod+KP_8 workspace 8 | |
bindsym $mod+KP_Divide workspace 10 | |
bindsym $mod+KP_Multiply workspace 11 | |
bindsym $mod+KP_3 workspace 3 | |
bindsym $mod+KP_6 workspace 6 | |
bindsym $mod+KP_9 workspace 9 | |
# move focused container to workspace | |
bindsym $mod+Shift+KP_0 move container to workspace 0 | |
bindsym $mod+Shift+KP_1 move container to workspace 1 | |
bindsym $mod+Shift+KP_2 move container to workspace 2 | |
bindsym $mod+Shift+KP_3 move container to workspace 3 | |
bindsym $mod+Shift+KP_4 move container to workspace 4 | |
bindsym $mod+Shift+KP_5 move container to workspace 5 | |
bindsym $mod+Shift+KP_6 move container to workspace 6 | |
bindsym $mod+Shift+KP_7 move container to workspace 7 | |
bindsym $mod+Shift+KP_8 move container to workspace 8 | |
bindsym $mod+Shift+KP_9 move container to workspace 9 | |
bindsym $mod+Shift+KP_Divide move container to workspace 10 | |
bindsym $mod+Shift+KP_Multiply move container to workspace 11 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment