Skip to content

Instantly share code, notes, and snippets.

@pawelztef
Last active January 29, 2021 21:31
Show Gist options
  • Save pawelztef/1d814d966aa3ad2efda1ebc687d2a3ae to your computer and use it in GitHub Desktop.
Save pawelztef/1d814d966aa3ad2efda1ebc687d2a3ae to your computer and use it in GitHub Desktop.
my i3wm config file
#opacity-rule = ["99:class_g = 'Terminator'"];
#opacity-rule = ["85:class_g = 'Termite'"];
opacity-rule = ["99:class_g = 'Termite'"];
# Shadow
shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
shadow-radius = 4;
shadow-offset-x = 0;
shadow-offset-y = 0;
shadow-opacity = 0.60;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g = 'i3-frame'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# shadow-exclude = "n:e:Notification";
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;
# Opacity
menu-opacity = 1;
inactive-opacity = 1;
#active-opacity = 1;
#frame-opacity = 1;
#inactive-opacity-override = false;
#alpha-step = 0;
inactive-dim = 0.10;
inactive-dim-fixed = true;
# blur-background = true;
# blur-background-frame = true;
# blur-kern = "3x3box";
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
# blur-background-fixed = true;
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
# opacity-rule = [ "80:class_g = 'URxvt'" ];
# Fading
fading = true;
# fade-delta = 30;
fade-in-step = 0.19;
fade-out-step = 0.19;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
# Other
backend = "xrender";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = "none";
dbe = false;
paint-on-overlay = true;
# sw-opti = true;
# unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'",
"class_g = 'Google-chrome'",
"class_g = 'Firefox'"];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
# resize-damage = 1;
# GLX backend
# glx-no-stencil = true;
glx-copy-from-front = false;
# glx-use-copysubbuffermesa = true;
# glx-no-rebind-pixmap = true;
glx-swap-method = "undefined";
# glx-use-gpushader4 = true;
# xrender-sync = true;
# xrender-sync-fence = true;
# Window type settings
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
};
#o 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!
# exec --no-startup-id "i3-msg 'workspace 3; append_layout /home/pawel/.config/i3/workspace-3.json'"
set $mod Mod4
set $base00 #101218
set $base01 #1f222d
set $base011 #bf474d
set $base02 #252936
set $base03 #7780a1
set $base04 #C0C5CE
set $base05 #d1d4e0
set $base06 #C9CCDB
set $base07 #ffffff
set $base08 #ee829f
set $base09 #f99170
set $base0A #ffefcc
set $base0B #a5ffe1
set $base0C #97e0ff
set $base0D #97bbf7
set $base0E #c0b7f9
set $base0F #fcc09e
set $bg-color #2f343f
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
# 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 9
# 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.
#
#Volume control
bindsym $mod+p exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym $mod+i exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym $mod+o exec --no-startup-id pactl set-sink-mute 0 toggle
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+q kill
#open nautilus
bindsym $mod+Shift+f exec nautilus --no-desktop &
# start dmenu (a program launcher)
# bindsym $mod+d exec dmenu run
bindsym $mod+d exec j4-dmenu-desktop run
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# bindsym $mod+d exec rofi -show run -lines 3 -eh 1 -width 30 -padding 15 -opacity "90" -bw 0 -yoffset 0 -xoffset 0 -bc "$bg-color" -bg "$bg-color" -fg "$text-color" -hlbg "$bg-color" -hlfg "#9575cd"
# 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.
# 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
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l 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+Shift+o split h
bindsym $mod+Up split h
# split in vertical orientation
# bindsym $mod+Shift+v split v
bindsym $mod+Down 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+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
set $ws7 "7  "
set $ws8 "8  "
set $ws9 "9  "
set $ws10 "10  "
set $wsMinus "11  "
set $wsPlus "12  "
workspace $ws7 output VGA1
workspace $ws8 output VGA1
workspace $ws9 output VGA1
workspace $ws10 output VGA1
workspace $wsMinus output VGA1
workspace $wsPlus output VGA1
# 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 $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+minus workspace $wsMinus
bindsym $mod+plus workspace $wsPlus
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace " 1 "; workspace " 1 "
bindsym $mod+Shift+2 move container to workspace " 2 "; workspace " 2 "
bindsym $mod+Shift+3 move container to workspace " 3 "; workspace " 3 "
bindsym $mod+Shift+4 move container to workspace " 4 "; workspace " 4 "
bindsym $mod+Shift+5 move container to workspace " 5 "; workspace " 5 "
bindsym $mod+Shift+6 move container to workspace " 6 "; workspace " 6 "
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10
bindsym $mod+Shift+minus move container to workspace $wsMinus; workspace $wsMinus
bindsym $mod+Shift+plus move container to workspace $wsPlus; workspace $wsPlus
# close workspace
bindsym $mod+Control+Shift+k focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, kill
# move workspace to other monitor
bindsym $mod+m move workspace to output LVDS1
bindsym $mod+n move workspace to output VGA1
bindsym $mod+B move workspace to output HDMI1
# to find class of app run $ xprop
assign [class="google-chrome"] $ws7
assign [class="Firefox"] $ws8
assign [class="Nautilus"] $ws9
assign [class="vlc"] $ws10
assign [class="calibre-gui"] $wsMinus
assign [class="Whatsie"] $wsPlus
# 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-msg exit
# suspen comp
bindsym $mod+Shift+w exec 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 $mod+h resize shrink width 10 px or 10 ppt
bindsym $mod+j resize grow height 10 px or 10 ppt
bindsym $mod+k resize shrink height 10 px or 10 ppt
bindsym $mod+l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize grow width 5 px or 5 ppt
bindsym Down resize shrink height 5 px or 5 ppt
bindsym Up resize grow height 5 px or 5 ppt
bindsym Right resize shrink 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)
# Widow Colours
# border background text indicator
client.focused $base01 #454e6b #9A9DB5 #ff0000
client.focused_inactive $base02 $base02 $base03 #ff0000
client.unfocused $base02 $base02 $base03 #ff0000
client.urgent $base02 $base08 $base00 #ff0000
bar {
status_command i3blocks -c /home/pawel/.config/i3/i3blocks.conf
tray_output primary
position top
colors {
separator $base03
background $base01
statusline $base05
# border background text
focused_workspace $base011 $base011 #ffffff
active_workspace $base01 $base02 $base03
inactive_workspace $base01 $base01 $base03
urgent_workspace $base01 $base01 $base08
}
}
# bindings for MS Natural Ergonomic Keyboard 4000
bindsym XF86HomePage exec /usr/bin/xdg-open "https://bitbucket.org/dashboard/overview";
bindsym XF86Search exec /usr/bin/xdg-open "https://github.com/pawelztef";
# bindsym XF86Mail exec /usr/bin/xdg-open "https://bitbucket.org/dashboard/overview";
# bindsym XF86Launch5 exec /home/pawel/netbeans-7.4/bin/netbeans
#bindsym XF86Launch6
#bindsym XF86Launch7
#bindsym XF86Launch8
#bindsym XF86Launch9
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound
# bindsym XF86AudioPlay exec playerctl pause toggle
# #bindsym XF86Favourites echo DOESNOTWORK
bindsym XF86Calculator exec gnome-calculator
# # FLock keys
# #bindsym Help
# #bindsym Undo
# #bindsym Redo
# #bindsym XF86New
# #bindsym SunOpen
# #bindsym XF86Close
# #bindsym XF86Reply
# #bindsym XF86MailForward
# #bindsym XF86Send
# #bindsym XF86Save
# #bindsym Print
# exec /usr/bin/whatsie; exec /usr/bin/vlc'
exec --no-startup-id i3-msg 'exec /usr/bin/google-chrome; exec nautilus --no-desktop &;'
exec_always feh --bg-fill /usr/share/backgrounds/bg.jpg
# layout 2 screens vga only
# 1024x768
exec_always xrandr --output HDMI1 --primary --mode 1024x768 --pos 0x0 --rotate normal --output LVDS1 --off --output TV1 --off --output VIRTUAL1 --off --output VGA1 --primary --mode 1280x1024 --pos 1024x0 --rotate normal
# layout 3 screens
# exec_always xrandr --output HDMI1 --mode 1024x768 --pos 0x0 --rotate normal --output LVDS1 --mode 1280x800 --pos 768x0 --rotate normal --output TV1 --off --output VIRTUAL1 --off --output VGA1 --mode 1280x1024 --pos 1024x0 --rotate normal
# layout 2 screens with LVDS!
# exec_always xrandr --output HDMI1 --mode 1280x800 --output LVDS1 --primary --mode 1280x800 --pos 0x1024 --rotate normal --output TV1 --off --output VIRTUAL1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
# setting for keyboard repeat rate
exec_always xset r rate 300 40
exec_always nm-applet
# exec_always compton -f
# _____ _______ _ _ _ _______ ______ _______ _______ _______
# |_____] |_____| | | | |______ | ____/ | |______ |______
# | | | |__|__| |______ |_____ /_____ | |______ |
#
# >> INITIALIZATION <<
set $font IBM PS/2thin4:style=Regular 5
set $mod Mod4
set $super bindsym Mod4
set $exe exec --no-startup-id
set $baseUrgent #e80400
set $base00 #101218
set $base01 #1f222d
set $base011 #bf474d
set $base02 #252936
set $base03 #7780a1
set $base04 #C0C5CE
set $base05 #d1d4e0
set $base06 #C9CCDB
set $base07 #ffffff
set $base08 #ee829f
set $base09 #f99170
set $base0A #ffefcc
set $base0B #a5ffe1
set $base0C #97e0ff
set $base0D #97bbf7
set $base0E #c0b7f9
set $base0E #335896
set $base0F #fcc09e
set $bg-color #41FF00
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
set $ws1 ""
set $ws2 ""
set $ws3 ""
set $ws4 ""
set $ws5 ""
set $ws6 ""
set $ws7 ""
set $ws8 ""
set $ws9 ""
set $ws10 ""
set $wsThunderbird " "
set $wsNotes " "
# >> WINDOW <<
floating_modifier $mod
floating_minimum_size 75 x 50
floating_maximum_size 1900 x 1050
# split in vertical / horizontal orientation
$super+Up split h
$super+Down split v
# enter fullscreen mode for the focused container
$super+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
$super+w layout toggle tabbed split
# toggle tiling / floating
$super+Shift+space floating toggle, resize set 800 500, move position center
# change focus between tiling / floating windows
$super+space focus mode_toggle
# resize window
$super+r mode "resize"
# change focus
$super+h focus left
$super+j focus down
$super+k focus up
$super+l focus right
# move focused window
$super+Shift+h move left
$super+Shift+j move down
$super+Shift+k move up
$super+Shift+l move right
# alternatively, you can use the cursor keys:
$super+Shift+Left move left
$super+Shift+Down move down
$super+Shift+Up move up
$super+Shift+Right move right
# focus the parent container
# $super+a focus parent
# focus the child container
#$super+d focus child
# move workspace to other monitor
# $super+m move workspace to output LVDS-1
# $super+n move workspace to output VGA-1
$super+n move workspace to output HDMI-2
$super+m move workspace to output HDMI-3
# switch to workspace
$super+1 workspace $ws1
$super+2 workspace $ws2
$super+3 workspace $ws3
$super+4 workspace $ws4
$super+5 workspace $ws5
$super+6 workspace $ws6
$super+7 workspace $ws7
$super+8 workspace $ws8
$super+9 workspace $ws9
$super+0 workspace $ws10
$super+t workspace $wsThunderbird
$super+g workspace $wsNotes
# move focused container to workspace
$super+Shift+1 move container to workspace $ws1; workspace $ws1
$super+Shift+2 move container to workspace $ws2; workspace $ws2
$super+Shift+3 move container to workspace $ws3; workspace $ws3
$super+Shift+4 move container to workspace $ws4; workspace $ws4
$super+Shift+5 move container to workspace $ws5; workspace $ws5
$super+Shift+6 move container to workspace $ws6; workspace $ws6
$super+Shift+7 move container to workspace $ws7; workspace $ws7
$super+Shift+8 move container to workspace $ws8; workspace $ws8
$super+Shift+9 move container to workspace $ws9; workspace $ws9
$super+Shift+0 move container to workspace $ws10; workspace $ws10
$super+Shift+t move container to workspace $wsThunderbird; workspace $wsThunderbird
$super+Shift+g move container to workspace $wsNotes; workspace $wsNotes
# resize window (you can also use the mouse for that)
mode "resize" {
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
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
bindsym Return mode "default"
bindsym Escape mode "default"
}
# class border bground text indicator child_border
client.focused #101010 #323232 #888888 #87ceeb #101010
client.focused_inactive #101010 #323232 #101010 #87ceeb #101010
client.unfocused #101010 #222222 #888888 #87ceeb #101010
client.urgent #2f343a #900000 #101010 #87ceeb #101010
client.placeholder #101010 #0c0c0c #101010 #87ceeb #101010
client.background #101010
for_window [class="^.*"] border pixel 1
# for_window [class="Terminator"] floating enable resize grow left 150, resize grow right 0, resize grow down 50, resize grow up 50
# gaps inner 10
# gaps outer 0
# >> VOLUME CONTROL <<
$super+p $exe pactl set-sink-volume 0 +5%
$super+i $exe pactl set-sink-volume 0 -5%
$super+o $exe pactl set-sink-mute 0 toggle
# Keybindings for the soundbuttons
bindsym XF86AudioMute exec amixer set Master toggle; exec pactl set-sink-mute 0 toggle
bindsym XF86AudioRaiseVolume $exe amixer set Master 5%+
bindsym XF86AudioLowerVolume $exe amixer set Master 5%-
bindsym XF86AudioMicMute $exe amixer set Capture toggle
# bindsym XF86AudioRaiseVolume $exe "pactl set-sink-volume @DEFAULT_SINK@ +5% && notify_sound"
# bindsym XF86AudioLowerVolume $exe "pactl set-sink-volume @DEFAULT_SINK@ -5% && notify_sound"
# bindsym XF86AudioMute $exe "pactl set-sink-mute @DEFAULT_SINK@ toggle && notify_sound"
# >> PANIC <<
$super+q kill
# Reload the configuration file
$super+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
$super+Shift+r restart
# exit i3 (logs you out of your X session)
$super+Shift+e $exe "i3-msg exit"
# >> APPS <<
$super+Shift+f $exe nautilus --no-desktop &
$super+d $exe i3-dmenu-desktop --dmenu="dmenu -i -fn 'Px437 IBM ISO9-12' "
# scratchpad with termite
$exe "termite --exec='/bin/bash --login' --name=Termite_1"
$super+u [instance="Termite_1"] scratchpad show
$exe "termite --exec='/bin/bash --login' --name=Termite_2"
$super+y [instance="Termite_2"] scratchpad show
for_window [instance="Termite_1"] floating enable
for_window [instance="Termite_1"] resize set 725 500
for_window [instance="Termite_1"] move position 1000px 100px
for_window [instance="Termite_1"] move scratchpad
for_window [instance="Termite_2"] floating enable
for_window [instance="Termite_2"] resize set 725 495
for_window [instance="Termite_2"] move position 100px 100px
for_window [instance="Termite_2"] move scratchpad
for_window [title="Terminator Preferences"] floating enable
for_window [class="Nautilus"] floating enable
for_window [class="Nautilus"] resize set 1266 668
for_window [class="Nautilus"] move position center
for_window [class="Blueman-manager"] floating enable
for_window [class="Blueman-manager"] resize set 1266 668
for_window [class="Blueman-manager"] move position center
for_window [class="Pavucontrol"] floating enable
for_window [class="Pavucontrol"] resize set 1266 668
for_window [class="Pavucontrol"] move position center
for_window [class="Evince"] floating enable move center
assign[class="Thunderbird"] $wsThunderbird
assign [class="Google-chrome" instance="crx_hmjkmjkepdijhoojdojkdfohbdgmmhki"] $wsNotes
$super+Return $exe /home/pawel/bin/i3_shell; $exe s
# $super+y $exe urxvt
bindsym --release Print $exe /home/pawel/bin/screenshots -s /home/pawel/tmp/
$super+b $exe "~/bin/tilda_toggle"
$exe xset r rate 190 220
$exe "polystart"
$exe "vgaon"
#$exe "hdmion"
#$exe feh --bg-fill /usr/share/backgrounds/scratched_steel.jpg --bg-fill /usr/share/backgrounds/scratched_steel.jpg
exec --no-startup-id "setxkbmap -layout pl -option caps:super"
exec --no-startup-id "sleep 3; compton -b --config ~/.config/compton.conf"
@pawelztef
Copy link
Author

my messy i3wm config file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment