Skip to content

Instantly share code, notes, and snippets.

@sparky005
Last active June 1, 2020 02:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sparky005/426edd450448255d8b2f624ba5a27f47 to your computer and use it in GitHub Desktop.
Save sparky005/426edd450448255d8b2f624ba5a27f47 to your computer and use it in GitHub Desktop.
i3 config
# 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 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 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 12
# 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
# start a terminal
#bindsym $mod+Return exec termite
bindsym $mod+Return exec kitty
# kill focused window
bindsym $mod+Shift+q kill
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left 20px
bindsym $mod+Shift+j move down 20px
bindsym $mod+Shift+k move up 20px
bindsym $mod+Shift+l move right 20px
# split in horizontal orientation
#bindsym $mod+h split h
bindsym $mod+g split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# global fullscreen
bindsym $mod+Shift+f fullscreen toggle global
# 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+d floating toggle
# change focus between tiling / floating windows
bindsym $mod+d 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 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+Ctrl+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 h resize shrink width 5 px or 5 ppt
bindsym j resize grow height 5 px or 5 ppt
bindsym k resize shrink height 5 px or 5 ppt
bindsym l resize grow width 5 px or 5 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 5 px or 5 ppt
bindsym Down resize grow height 5 px or 5 ppt
bindsym Up resize shrink height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 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 {
# status_command i3status
# tray_output primary
#}
# using polybar instead
############# MY CONFIG
# firewatch bg
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/forest-patrol.jpg
#exec --no-startup-id wal -i /home/asadik/Pictures/forest-patrol.jpg -n --backend schemer2
# abstract bg
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/Qotd9S5.jpg
#exec --no-startup-id wal -i /home/asadik/Pictures/Qotd9S5.jpg -n --backend haishoku
# cherry blossoms bg
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/3zLCOx9.jpg
#exec --no-startup-id wal -i /home/asadik/Pictures/3zLCOx9.jpg -n --backend colorz
#
# anime bg
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/57033321_p0.jpg
#exec --no-startup-id wal -i 57033321_p0.jpg -n --backend schemer2
#
# diff anime bg
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/d9SEb.png
#exec --no-startup-id feh --bg-fill /home/asadik/Pictures/IMG_0023.JPG
exec --no-startup-id feh --bg-fill /home/asadik/Pictures/IMG_2251.JPG
#exec --no-startup-id wal -i d9SEb.png -n --backend schemer2
exec --no-startup-id wal --theme vscode
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
# Sound control for XPS
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +1%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -1%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
# use these for spotify et al
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
# use these for mpd. it's supposed to work with playerctl but didnt for me
#bindsym XF86AudioPlay exec --no-startup-id mpc toggle
#bindsym XF86AudioNext exec --no-startup-id mpc next
#bindsym XF86AudioPrev exec --no-startup-id mpc cdprev
# Create Log out, Reboot, Poweroff bindings
mode "Exit (L)ogout, (R)eboot, (P)oweroff" {
bindsym $mod+r exec systemctl reboot
bindsym $mod+l exit
bindsym $mod+p exec systemctl poweroff
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+Shift+e mode "Exit (L)ogout, (R)eboot, (P)oweroff"
bindsym $mod+Control+1 workspace 11
bindsym $mod+Control+2 workspace 12
bindsym $mod+Control+3 workspace 13
bindsym $mod+Control+4 workspace 14
bindsym $mod+Control+5 workspace 15
bindsym $mod+Control+6 workspace 16
bindsym $mod+Control+7 workspace 17
bindsym $mod+Control+8 workspace 18
bindsym $mod+Control+9 workspace 19
bindsym $mod+Control+0 workspace 20
# move focused container to workspace
bindsym $mod+Shift+Control+1 move container to workspace 11
bindsym $mod+Shift+Control+2 move container to workspace 12
bindsym $mod+Shift+Control+3 move container to workspace 13
bindsym $mod+Shift+Control+4 move container to workspace 14
bindsym $mod+Shift+Control+5 move container to workspace 15
bindsym $mod+Shift+Control+6 move container to workspace 16
bindsym $mod+Shift+Control+7 move container to workspace 17
bindsym $mod+Shift+Control+8 move container to workspace 18
bindsym $mod+Shift+Control+9 move container to workspace 19
bindsym $mod+Shift+Control+0 move container to workspace 20
#new_window 1pixel # deprecated
default_border pixel 0
bindsym Mod4+l exec xflock4
# some new colors
# class border backgr. text indicator child_border
client.focused #00ff00 #000000 #ffffff #ff0000 #00ff00
# screenshooter
bindsym Print exec --no-startup-id xfce4-screenshooter
# this should do some magic color stuff
# for pywal
# stolen from: https://github.com/dylanaraps/pywal/wiki/Customization#i3
#
# Set colors from Xresources
# Change 'color7' and 'color2' to whatever colors you want i3 to use
# from the generated scheme.
# NOTE: The '#f0f0f0' in the lines below is the color i3 will use if
# it fails to get colors from Xresources.
set_from_resource $fg i3wm.color7 #f0f0f0
set_from_resource $bg i3wm.color2 #f0f0f0
# class border backgr. text indicator child_border
client.focused $bg $bg $fg $fg $bg
client.focused_inactive $bg $bg $fg $bg $bg
client.unfocused $fg $fg $bg $bg $bg
client.urgent $bg $bg $fg $bg $bg
client.placeholder $bg $bg $fg $bg $bg
client.background $bg
# PROTIP: You can also dynamically set dmenu's colors this way:
#bindsym $mod+space exec i3-dmenu-desktop --dmenu='dmenu -i -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg" -fn "Monaco:bold:size=13"'
# replacing above with below
bindsym $mod+space exec --no-startup-id rofi -show drun
exec --no-startup-id compton --config ~/.compton -b
#exec --no-startup-id /usr/lib/geoclue-2.0/demos/agent
#exec --no-startup-id redshift-gtk
#exec --no-startup-id redshift -l $(curl ipinfo.io | jq -j .loc | tr ',' ':') &> /var/log/redshift/redshift.log &
exec_always --no-startup-id $HOME/.config/redshift.sh
assign [class="Signal"] 10
assign [class="Slack"] 10
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment