Created
August 23, 2018 07:01
-
-
Save paulvictor/c3d21c128d93e2c4424a6c1897ddbdaf to your computer and use it in GitHub Desktop.
i3 config
This file contains hidden or 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 some time, 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 | |
| #set $mod Mod1 | |
| # Font for window titles. Will also be used by the bar unless a different font | |
| # is used in the bar {} block below. | |
| #font pango:monospace 8 | |
| font pango:San Francisco Display 10 | |
| # This font is widely installed, provides lots of unicode glyphs, right-to-left | |
| # text rendering and scalability on retina/hidpi displays (thanks to pango). | |
| #font pango:DejaVu Sans Mono 8 | |
| # Before i3 v4.8, we used to recommend this one as the default: | |
| # 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, its unicode glyph coverage is limited, the old | |
| # X core fonts rendering does not support right-to-left and this being a bitmap | |
| # font, it doesn’t scale on retina/hidpi displays. | |
| # Use Mouse+$mod to drag floating windows to their wanted position | |
| floating_modifier $mod | |
| popup_during_fullscreen smart | |
| force_focus_wrapping yes | |
| # start a terminal | |
| set $term termite | |
| bindsym $mod+Return exec $term | |
| bindsym $mod+Shift+Return exec $term -e tmux | |
| # kill focused window | |
| bindsym $mod+q kill | |
| # start dmenu (a program launcher) | |
| #bindsym $mod+d exec dmenu_run | |
| # 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 | |
| # 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+Left move left | |
| bindsym $mod+Down move down | |
| bindsym $mod+Up move up | |
| bindsym $mod+Right move right | |
| #bindsym $mod+Shift+j move left | |
| #bindsym $mod+Shift+k move down | |
| #bindsym $mod+Shift+l move up | |
| #bindsym $mod+Shift+semicolon 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+z split horizontal | |
| ## split in vertical orientation | |
| #bindsym $mod+x split vertical | |
| # enter fullscreen mode for the focused container | |
| bindsym $mod+f fullscreen toggle | |
| # 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 | |
| for_window [class="Zeal" instance="zeal"] floating enable | |
| #WM_CLASS(STRING) = "crx_nckgahadagoaajjgafhacjanaoiihapd", "Google-chrome-beta" | |
| for_window [class="Google-chrome-beta" instance="crx_*"] floating enable | |
| for_window [class="Pavucontrol"] floating enable | |
| for_window [class="Skype"] floating enable | |
| for_window [class="URxvt" instance="float"] floating enable | |
| #for_window [class="terminology" instance="float"] floating enable | |
| for_window [class="terminology"] floating enable | |
| # floats | |
| for_window [class="pinentry"] floating enable, border normal | |
| for_window [window_role="pop-up"] floating enable, border normal | |
| for_window [window_role="task_dialog"] floating enable, border normal | |
| for_window [title="Preferences$"] floating enable, border normal | |
| for_window [class="zoom"] floating enable, border normal | |
| for_window [class="Slack"] floating enable | |
| for_window [class="Gitter"] floating enable | |
| # focus the parent container | |
| #bindsym $mod+a focus parent | |
| # focus the child container | |
| #bindsym $mod+d focus child | |
| # switch to workspace | |
| bindsym $mod+1 workspace 1 | |
| bindsym $mod+2 workspace 2 | |
| bindsym $mod+3 workspace 3 | |
| bindsym $mod+4 workspace 4 | |
| 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+1 move container to workspace 1 | |
| bindsym $mod+Shift+2 move container to workspace 2 | |
| bindsym $mod+Shift+3 move container to workspace 3 | |
| bindsym $mod+Shift+4 move container to workspace 4 | |
| bindsym $mod+Shift+5 move container to workspace 5 | |
| bindsym $mod+Shift+6 move container to workspace 6 | |
| bindsym $mod+Shift+7 move container to workspace 7 | |
| bindsym $mod+Shift+8 move container to workspace 8 | |
| bindsym $mod+Shift+9 move container to workspace 9 | |
| #bindsym $mod+Shift+0 move container to workspace 10 | |
| # 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'" | |
| bindsym $mod+Shift+e 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 h resize shrink width 3 px or 3 ppt | |
| bindsym j resize shrink height 3 px or 3 ppt | |
| bindsym k resize grow height 3 px or 3 ppt | |
| bindsym l resize grow width 3 px or 3 ppt | |
| #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 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" | |
| # Start i3bar to display a workspace bar (plus the system information i3status | |
| # finds out, if available) | |
| #bar { | |
| ## id bar-1 | |
| #status_command i3blocks -c ~/.config/i3/blocks | |
| #strip_workspace_numbers yes | |
| #position top | |
| ## mode dock | |
| ## workspace_buttons yes | |
| ## tray_output eDP1 | |
| #height 20 | |
| #font pango: Terminess Powerline #, awesome 9 | |
| ##separator_symbol "::" | |
| # | |
| #} | |
| #bar { | |
| #status_command i3status | |
| #font pango:San Francisco Display 8 | |
| #height 20 | |
| #position top | |
| #strip_workspace_numbers yes | |
| ##mode dock | |
| ##tray_output primary | |
| #colors { | |
| #separator #586e75 | |
| #background #002b36 | |
| #statusline #aea79f | |
| #focused_workspace #586e75 #586e75 #ffffff | |
| #active_workspace #073642 #073642 #ffffff | |
| #inactive_workspace #002b36 #002b36 #aea79f | |
| #urgent_workspace #77216f #77216f #ffffff | |
| #} | |
| #} | |
| for_window [title="WhatsApp"] floating enable | |
| for_window [title="Hangups"] floating enable | |
| #for_window [class="Termite" title="System"] floating enable, move container to workspace 4 | |
| floating_maximum_size 480 x 640 | |
| floating_minimum_size 480 x 640 | |
| #bindsym $mod+b exec google-chrome-beta | |
| bindsym $mod+b exec firefox-esr | |
| #bindsym $mod+Shift+b exec firefox-esr | |
| exec --no-startup-id dropbox start | |
| #exec --no-startup-id pass-push | |
| exec --no-startup-id pgrep battery.sh || battery.sh | |
| #exec --no-startup-id hp-systray | |
| #exec --no-startup-id pgrep zeal || zeal | |
| exec --no-startup-id nm-applet start | |
| exec --no-startup-id pasystray | |
| #exec --no-startup-id no-mouse.js | |
| #exec --no-startup-id i3-msg 'workspace 2; exec firefox --new-instance; workspace 1' | |
| #exec --no-startup-id i3-msg 'workspace 3; exec firefox --no-remote --new-window https://web.whatsapp.com/ ; workspace 1' | |
| #exec --no-startup-id i3-msg 'workspace 4; exec termite -t System -e tmux; workspace 1' | |
| exec_always --no-startup-id $HOME/.config/polybar/launch.sh | |
| #exec --no-startup-id dunst -conf /home/viktor/.config/dunst/dunstrc.new | |
| #exec --no-startup-id conky main -c /home/viktor/.i3/conky | |
| #exec --no-startup-id i3dzen2 | |
| #exec --no-start-id feh --bg-scale /home/viktor/Downloads/linux_arch_wallpaper_2560x1600.jpg | |
| focus_follows_mouse no | |
| popup_during_fullscreen smart | |
| #set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown | |
| # | |
| mode "$mouse_move" { | |
| bindsym h exec xdotool mousemove_relative --sync --clearmodifiers -- -5 0 | |
| bindsym j exec xdotool mousemove_relative --sync --clearmodifiers -- 0 5 | |
| bindsym k exec xdotool mousemove_relative --sync --clearmodifiers -- 0 -5 | |
| bindsym l exec xdotool mousemove_relative --sync --clearmodifiers -- 5 0 | |
| bindsym u exec xdotool mousemove_relative --sync --clearmodifiers -- -5 -5 | |
| bindsym o exec xdotool mousemove_relative --sync --clearmodifiers -- 5 -5 | |
| bindsym n exec xdotool mousemove_relative --sync --clearmodifiers -- -5 5 | |
| bindcode 2c exec xdotool mousemove_relative --sync --clearmodifiers -- 5 5 | |
| bindsym Left exec xdotool click --clearmodifiers 1 | |
| bindsym Right exec xdotool click --clearmodifiers 2 | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| bindsym $mod+a mode "$mouse_move" | |
| mode "$communications" { | |
| bindsym w exec Whatsapp | |
| bindsym s exec slack | |
| bindsym o exec termite -e "hangups -c ~/.config/hangups/juspay.conf" -t "Juspay Hangouts" | |
| bindsym g exec termite -e "hangups -c ~/.config/hangups/gmail.conf" -t "Google Hangouts" | |
| # back to normal: Enter or Escape | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| bindsym $mod+c mode "$communications" | |
| mode "$leave" { | |
| bindsym l exec --no-startup-id i3exit lock, mode "default" | |
| bindsym e exec --no-startup-id i3exit logout, mode "default" | |
| bindsym s exec --no-startup-id i3exit suspend, mode "default" | |
| bindsym h exec --no-startup-id i3exit hibernate, mode "default" | |
| bindsym r exec --no-startup-id i3exit reboot, mode "default" | |
| #bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" | |
| # back to normal: Enter or Escape | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| bindsym $mod+Shift+l mode "$leave" | |
| ###########For Multimedia Keys#################### | |
| # Pulse Audio controls | |
| bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume | |
| bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume | |
| bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound | |
| # Sreen brightness controls | |
| bindsym XF86MonBrightnessUp exec --no-startup-id light -A 5 | |
| bindsym XF86MonBrightnessDown exec --no-startup-id light -U 5 | |
| # Touchpad controls | |
| #bindsym XF86TouchpadToggle exec /some/path/toggletouchpad.sh # toggle touchpad | |
| # Media player controls | |
| bindsym XF86AudioPlay exec mpc toggle | |
| bindsym $mod+XF86AudioNext exec mpc seek +00:00:30 | |
| bindsym $mod+XF86AudioPrev exec mpc seek -00:00:30 | |
| bindsym XF86AudioNext exec mpc next | |
| bindsym XF86AudioPrev exec mpc prev | |
| bindcode $mod+60 exec (mpc -f "%file%" | head -1 >> ~/Music/good_songs.m3u) && mpc del 0 | |
| bindcode $mod+59 exec mpc del 0 #&& mpc next | |
| #bindsym $mod+0 exec sudo systemctl restart dingo.service | |
| bindsym $mod+0 exec /home/viktor/bin/external_monitor.sh | |
| bindsym $mod+Shift+0 exec /home/viktor/bin/first_monitor_only.sh | |
| #bindsym $mod+Shift+0 exec sudo systemctl restart NetworkManager.service | |
| bindsym $mod+slash exec quickswitch -d "rofi -i -dmenu" | |
| bindsym $mod+m exec quickswitch -m -d "rofi -i -dmenu" | |
| bindsym $mod+Shift+m exec quickswitch -m -f -d "rofi -i -dmenu" | |
| client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c | |
| client.background #111111 | |
| ################################################################ | |
| #::::::::::::::::::: Settings for i3-gaps :::::::::::::::::::::# | |
| ################################################################ | |
| # Set inner/outer gaps | |
| #gaps inner 8 | |
| #gaps outer -4 | |
| set $default_gaps_inner 5 | |
| set $default_gaps_outer 5 | |
| #set $default_gaps_inner 8 | |
| #set $default_gaps_outer -4 | |
| gaps inner $default_gaps_inner | |
| gaps outer $default_gaps_outer | |
| hide_edge_borders both | |
| for_window [class="^.*"] border pixel 2 | |
| #for_window [class="^.*"] border normal 0 | |
| bindsym $mod+z gaps outer current plus 5 | |
| bindsym $mod+Shift+z gaps outer current minus 5 | |
| # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. | |
| # gaps inner|outer current|all set|plus|minus <px> | |
| # gaps inner all set 10 | |
| # gaps outer all plus 5 | |
| # Smart gaps (gaps used if only more than one container on the workspace) | |
| smart_gaps on | |
| # Smart borders (draw borders around container only if it is not the only container on this workspace) | |
| # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) | |
| smart_borders on | |
| # Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. | |
| set $mode_gaps Gaps: (o) outer, (i) inner | |
| set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) | |
| set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) | |
| bindsym $mod+Shift+g mode "$mode_gaps" | |
| mode "$mode_gaps" { | |
| bindsym o mode "$mode_gaps_outer" | |
| bindsym i mode "$mode_gaps_inner" | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| mode "$mode_gaps_inner" { | |
| bindsym plus gaps inner current plus 5 | |
| bindsym minus gaps inner current minus 5 | |
| bindsym 0 gaps inner current set 0 | |
| bindsym Shift+plus gaps inner all plus 5 | |
| bindsym Shift+minus gaps inner all minus 5 | |
| bindsym Shift+0 gaps inner all set 0 | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| mode "$mode_gaps_outer" { | |
| bindsym plus gaps outer current plus 5 | |
| bindsym minus gaps outer current minus 5 | |
| bindsym 0 gaps outer current set 0 | |
| bindsym Shift+plus gaps outer all plus 5 | |
| bindsym Shift+minus gaps outer all minus 5 | |
| bindsym Shift+0 gaps outer all set 0 | |
| bindsym Return mode "default" | |
| bindsym Escape mode "default" | |
| } | |
| client.focused #586e75 #586e75 #fdf6e3 #268bd2 | |
| client.focused_inactive #073642 #073642 #93a1a1 #002b36 | |
| client.unfocused #002b36 #002b36 #586e75 #002b36 | |
| client.urgent #dc322f #dc322f #fdf6e3 #dc322f | |
| #bindsym $mod+x exec ~/.config/i3/lock.sh | |
| #bindsym $mod+Shift+x exec shutdown now | |
| set $workspace1 "1: " | |
| set $workspace2 "2: " | |
| set $workspace3 "3: " | |
| set $workspace4 "4: " | |
| set $workspace5 "5: " | |
| set $workspace6 "6: " | |
| set $workspace7 "7" | |
| set $workspace8 "8: " | |
| set $workspace9 "9: " | |
| set $workspace10 "10: " | |
| bindsym $mod+t split toggle | |
| bindsym $mod+Shift+t gaps inner all set 15; gaps outer all set 15 | |
| bindsym $mod+Shift+d exec rofi -show window | |
| bindsym $mod+d exec rofi -show drun | |
| bindsym $mod+y move left | |
| bindsym $mod+u move down | |
| bindsym $mod+i move up | |
| bindsym $mod+o move right | |
| #workspace_auto_back_and_forth yes | |
| # switch between the current and the previously focused one | |
| bindsym $mod+grave workspace back_and_forth | |
| bindsym $mod+asciitilde move container to workspace back_and_forth | |
| bindsym $mod+bracketright move workspace to output right | |
| bindsym $mod+bracketleft move workspace to output right | |
| bindsym $mod+braceright move workspace to output up | |
| bindsym $mod+braceleft move workspace to output down | |
| #assign [class="termite" title="Hangups"] 3 | |
| #assign [class="termite" title="System"] 4 | |
| #assign [class="Firefox"] 2 | |
| assign [class="qutebrowser"] 6 | |
| # Make the currently focused window a scratchpad | |
| bindsym $mod+Shift+minus move scratchpad | |
| # Show the first scratchpad window | |
| bindsym $mod+minus scratchpad show | |
| show_marks yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment