#### Configuration file for i3 window manager (4.x) - next branch ### http://i3wm.org/ ## Please see http://i3wm.org/docs/userguide.html for a complete reference! # Modified: 27.11.2011 : mseed : http://www.fastlinux.eu ################### # GENERAL OPTIONS # ################### ## variables set $mod Mod4 ## font for window titles. ISO 10646 = Unicode #font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 font -xos4-terminus-*-*-*-*-14-*-*-*-*-*-iso10646-1 #font -misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1 ## use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod ## orientation for new workspaces default_orientation horizontal ## workspace Layout workspace_layout default ## focus follows mouse focus_follows_mouse no ## border style for new windows new_window 1pixel ## border style for for floating windows new_float 1pixel ## Automatic back-and-forth when switching to the current workspace workspace_auto_back_and_forth yes ## NOT IMPLEMENTED YET #stack-limit cols 2 ################## # WM KEYBINDINGS # ################## ## 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 ## restore saved JSON layout #bindsym $mod+i restore ~/.i3/layout.json ################### # APP KEYBINDINGS # ################### ## start a terminal bindsym $mod+Return exec --no-startup-id urxvt ## start dmenu (a program launcher) bindsym $mod+d exec dmenu_run -nb '#000000' -nf '#ffffff' -sb '#000000' -sf '#1793d0' -p 'Run: ' -fn '-misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1' bindsym $mod+x exec dmenu_run -nb '#000000' -nf '#ffffff' -sb '#000000' -sf '#1793d0' -p 'Run: ' -fn '-xos4-terminus-*-*-*-*-20-*-*-*-*-*-iso10646-1' ## start myGtkMenu bindsym Mod1+a exec mygtkmenu ~/.i3/configs/menu ## start session menu bindsym $mod+q exec ~/.i3/scripts/dmenu_session.sh ## take screenshot bindsym Print exec ~/.i3/scripts/screenshot.sh ## OpenVPN connect bindsym $mod+o exec --no-startup-id urxvt -e ~/.i3/scripts/openvpn_start.sh ## open clipbord in editor #bindsym $mod+c exec ~/.i3/scripts/clipper.sh ## mark/goto bindsym $mod+m exec ~/.i3/scripts/dmenu_marks.sh mark bindsym $mod+g exec ~/.i3/scripts/dmenu_marks.sh goto ## volume control #bindsym XF86AudioLowerVolume exec amixer -q set Master 2- unmute #bindsym XF86AudioRaiseVolume exec amixer -q set Master 2+ unmute #bindsym Mod4+XF86AudioLowerVolume exec amixer -q set PCM 2- unmute #bindsym Mod4+XF86AudioRaiseVolume exec amixer -q set PCM 2+ unmute ######### # RULES # ######### ## obxprop | grep WM_CLASS assign [class="Gajim.py"] 2: net for_window [class="Gcolor2"] floating enable for_window [instance="qjackctl"] floating enable for_window [class="qsynth"] floating enable for_window [class="lxappearance"] floating enable for_window [class="Audacious"] floating enable for_window [instance="TeamViewer.exe"] floating enable ###################################### # WORKSPACE KEYBINDINGS AND SETTINGS # ###################################### ## automatically putting workspaces on specific screens workspace "1: term" output LVDS1 workspace "2: net" output LVDS1 workspace "3: work" output VGA1 workspace "4: dev" output VGA1 #workspace 5 output VGA1 #workspace 6 output VGA1 #workspace 7 output VGA1 #workspace 8 output VGA1 #workspace 9 output VGA1 #workspace 10 output LVDS1 ## switch to workspace bindsym $mod+1 workspace 1: term bindsym $mod+2 workspace 2: net bindsym $mod+3 workspace 3: work bindsym $mod+4 workspace 4: dev bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 ## move focused container to workspace bindsym $mod+Shift+exclam move workspace 1: term bindsym $mod+Shift+at move workspace 2: net bindsym $mod+Shift+numbersign move workspace 3: work bindsym $mod+Shift+dollar move workspace 4: dev bindsym $mod+Shift+percent move workspace 5 bindsym $mod+Shift+asciicircum move workspace 6 bindsym $mod+Shift+ampersand move workspace 7 bindsym $mod+Shift+asterisk move workspace 8 bindsym $mod+Shift+parenleft move workspace 9 bindsym $mod+Shift+parenright move workspace 10 ## switch between the current and the previously focused one bindsym Mod1+Tab workspace back_and_forth ## switch to next/prev workspace #bindsym Mod1+Right workspace next #bindsym Mod1+Left workspace prev ###################### # CLIENT KEYBINDINGS # ###################### ## kill focused window bindsym $mod+Shift+Q kill bindsym $mod+c kill ## 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 horizontal ## split in vertical orientation bindsym $mod+v split vertical ## 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 parent container bindsym $mod+u focus parent ## focus the child container #bindcode $mod+d focus child ## focus last floating/tiling container bindsym $mod+Tab focus mode_toggle ## switch between the current and the previously focused one bindsym $mod+b workspace back_and_forth ## resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # They resize the border in the direction you pressed, e.g. # when pressing left, the window is resized so that it has # more space on its left bindsym j resize shrink left 10 px or 10 ppt bindsym Shift+J resize grow left 10 px or 10 ppt bindsym k resize shrink down 10 px or 10 ppt bindsym Shift+K resize grow down 10 px or 10 ppt bindsym l resize shrink up 10 px or 10 ppt bindsym Shift+L resize grow up 10 px or 10 ppt bindsym semicolon resize shrink right 10 px or 10 ppt bindsym Shift+colon resize grow right 10 px or 10 ppt # same bindings, but for the arrow keys bindsym Left resize shrink left 10 px or 10 ppt bindsym Shift+Left resize grow left 10 px or 10 ppt bindsym Down resize shrink down 10 px or 10 ppt bindsym Shift+Down resize grow down 10 px or 10 ppt bindsym Up resize shrink up 10 px or 10 ppt bindsym Shift+Up resize grow up 10 px or 10 ppt bindsym Right resize shrink right 10 px or 10 ppt bindsym Shift+Right resize grow right 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 border switching bindsym Mod1+t border normal bindsym Mod1+y border 1pixel bindsym Mod1+u border none bindsym Mod1+b border toggle ######### # i3bar # ######### bar { ## Path to i3bar binary #i3bar_command /home/user/bin/i3bar ## Font font -xos4-terminus-*-*-*-*-14-*-*-*-*-*-iso10646-1 #font -misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1 ## Display mode #mode hide ## Position position top ## Output(s) #output VGA1 ## Workspace buttons #workspace_buttons no ## Tray output #tray_output none ## Statusline command #status_command conky -c ~/.i3/configs/conkyrc status_command i3status --config ~/.i3/configs/i3status ## Colors colors { background #000000 statusline #ffffff focused_workspace #FFA000 #2B6473 active_workspace #FFA000 #004050 inactive_workspace #ffffff #004050 urgent_workspace #ffffff #900000 } } ############# # WM COLORS # ############# ## class border backgr. text client.focused #2B6473 #2B6473 #FFA000 client.focused_inactive #004050 #004050 #FFA000 client.unfocused #004050 #004050 #cccccc client.urgent #900000 #900000 #ffffff ############# # AUTOSTART # ############# ## Dual monitor support exec_always ~/.i3/scripts/dual_monitor.sh ## autostart file support #exec ~/.i3/startup ## Background wallpaper exec nitrogen --restore ## Keyboard indicator/switcher for tray exec fbxkb