Skip to content

Instantly share code, notes, and snippets.

@DanielChesters
Created December 9, 2018 15:40
Show Gist options
  • Save DanielChesters/503b86c08268733fcc5f388b68a4d6b3 to your computer and use it in GitHub Desktop.
Save DanielChesters/503b86c08268733fcc5f388b68a4d6b3 to your computer and use it in GitHub Desktop.
i3 configuration
# vim: filetype=conf
backend = "glx"
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl-swc";
unredir-if-possible = false;
# 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 https://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.
#font pango:Droid Sans Bold 10
font pango:xos4 Terminusicons2 8
# 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.
### THEME ###
# Colors
set_from_resource $bg i3wm.background #000000
set_from_resource $fg i3vm.foreground #FFFFFF
set_from_resource $color0 i3wm.color0 #39393A
set_from_resource $color1 i3wm.color1 #262626
set_from_resource $color2 i3wm.color2 #F4511E
set_from_resource $color3 i3wm.color3 #F4511E
set_from_resource $color4 i3wm.color4 #F4511E
set_from_resource $color5 i3wm.color5 #F4511E
set_from_resource $color6 i3wm.color6 #F4511E
set_from_resource $color7 i3wm.color7 #F4511E
set_from_resource $color8 i3wm.color8 #F4511E
set_from_resource $color9 i3wm.color9 #F4511E
set_from_resource $color10 i3wm.color10 #F4511E
set_from_resource $color11 i3wm.color10 #F4511E
set_from_resource $color12 i3wm.color10 #F4511E
set_from_resource $color13 i3wm.color10 #F4511E
set_from_resource $color14 i3wm.color10 #F4511E
set_from_resource $color15 i3wm.color10 #F4511E
set $FOCUS #B2B2B2
set $UNFOCUS #262626
set $URGENT #F4511E
# Layout colors
client.focused $FOCUS $FOCUS $FOCUS $FOCUS
client.focused_inactive $FOCUS $FOCUS $FOCUS $FOCUS
client.unfocused $UNFOCUS $UNFOCUS $UNFOCUS $UNFOCUS
client.urgent $URGENT $URGENT $URGENT $URGENT
client.background $UNFOCUS
### Borders ###
new_window pixel 1
new_float pixel 1
## Descomentar esto para no hacer focus con el mouse ##
focus_follows_mouse no
### Gaps ###
# Smart things
#smart_gaps off
smart_borders on
# Inner and outer gaps
set $default_gaps_inner 2
set $default_gaps_outer 0
gaps inner $default_gaps_inner
gaps outer $default_gaps_outer
### Workspaces ###
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 $ws10 10
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec termite
# i3lock-next
bindsym $mod+l exec i3lock-next "Input password" "DejaVu Sans Mono" 24
# 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
bindsym $mod+space exec --no-startup-id rofi -show drun -display-drun "r" -fuzzy
bindsym $mod+Tab exec --no-startup-id rofi -show window -display-window ""
bindsym $mod+comma exec --no-startup-id .config/rofi/rofi-emoji.sh
#bindsym $mod+d exec --no-startup-id rofi -show combi
# 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+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+h split h
# split in vertical orientation
bindsym $mod+v split v
# 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+Control+space focus mode_toggle
# 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 number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# Move beetween workspace
bindsym $mod+m workspace next
bindsym $mod+n workspace prev
bindsym $mod+b workspace back_and_forth
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id /home/daniel/.config/i3blocks/script/lmc up 5
bindsym XF86AudioLowerVolume exec --no-startup-id /home/daniel/.config/i3blocks/script/lmc down 5
bindsym XF86AudioMute exec --no-startup-id /home/daniel/.config/i3blocks/script/lmc mute
# Rename workspace
bindsym $mod+t exec i3-input -F 'rename workspace to "%s"' -P 'New name: '
# Marks containers
bindsym $mod+k exec i3-input -F 'mark "%s"' -P 'Mar[k] with: '
bindsym $mod+u exec i3-input -F 'unmark "%s"' -P '[U]nmark: '
bindsym $mod+g exec i3-input -F '[con_mark="%s"] focus' -P '[G]oTo: '
# 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+x exec "i3-nagbar -t warning -m 'What do you want to do?' -b 'Poweroff' 'systemctl poweroff' -b 'Reboot' 'systemctl reboot' -b 'Close session' 'i3-msg exit' -b 'Suspend' 'systemctl suspend'"
# 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 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 "[p]oweroff [r]eboot [s]uspend [l]ogout" {
bindsym p exec poweroff
bindsym r exec reboot
bindsym s exec systemctl suspend
bindsym l exec i3-msg exit
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+q mode "[p]oweroff [r]eboot [s]uspend [l]ogout"
bar {
height 30
position top
status_command i3blocks
i3bar_command i3bar -t
font pango:Hack 10
colors {
background $bg
statusline $fg
separator $fg
focused_workspace $color12 $color4 $color0
active_workspace $color12 $color12 $color0
inactive_workspace $color0 $color0 $color15
urgent_workspace $color0 $color0 $color15
}
}
exec --no-startup-id compton -cb
#exec_always --no-startup-id $HOME/.config/polybar/launch.sh
exec --no-startup-id dunst
#exec --no-startup-id tilda
exec --no-startup-id guake
exec --no-startup-id variety
exec --no-startup-id start-pulseaudio-x11
exec --no-startup-id pcmanfm -d
exec --no-startup-id redshift
exec --no-startup-id xset s off -dpms
exec --no-startup-id i3wsr
for_window [class="Galculator"] floating enable
for_window [class="Steam"] floating enable
for_window [class="Pinentry"] floating enable
for_window [class="mpv"] move to output HDMI-1
for_window [class="Pavucontrol"] floating enable
#for_window [class="VirtualBox"] floating enable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment