Last active
March 27, 2021 18:00
-
-
Save MindPatch/baf4539a80b2826ad4a2fc671d143add to your computer and use it in GitHub Desktop.
my 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
# Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
set $mod Mod4 | |
set $alt Mod1 | |
# Configure border style <normal|1pixel|pixel xx|none|pixel> | |
new_window pixel 1 | |
new_float normal | |
# Hide borders | |
hide_edge_borders none | |
# Window title font | |
font xft:URWGothic-Book 11 | |
# Use Mouse+$mod to drag floating windows | |
floating_modifier $mod | |
# Focus follows mouse | |
focus_follows_mouse no | |
# change container layout (stacked, tabbed, toggle split) | |
bindsym $mod+s layout stacking | |
bindsym $mod+d layout toggle split | |
# Set screen resolution to 1920x1080 | |
#exec --no-startup-id xrandr --output eDP-1 --mode 1920x1080 | |
# Enable touchpad natural scrolling | |
#exec_always --no-startup-id xinput set-prop "DELL07E6:00 06CB:76AF Touchpad" "libinput Natural Scrolling Enabled" 1 | |
bindsym $mod+Shift+Return exec terminator | |
bindsym $mod+Shift+f exec terminator -e ranger | |
# https://gist.github.com/knassar702/f100e7e3867eaa8020593fff7c261a1d | |
bindsym $mod+space exec lay.py | |
bindsym $mod+Shift+p exec spotify | |
bindsym $mod+i exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume | |
bindsym $mod+Ctrl+u exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume | |
bindsym $mod+w --release exec "rofi -combi-modi drun,window,ssh -show combi -modi combi" | |
bindsym $mod+q kill | |
bindsym $mod+Ctrl+p exec pavucontrol | |
bindsym $mod+Ctrl+b exec terminator -e 'bmenu' | |
bindsym $mod+Print --release exec --no-startup-id flameshot gui | |
#bindsym $mod+e exec setxkbmap ar | |
bindsym $alt+space exec setxkbmap en | |
# Autostart applications | |
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 | |
exec --no-startup-id nitrogen --restore; sleep 1; compton -b | |
exec --no-startup-id nm-applet | |
exec --no-startup-id xfce4-power-manager | |
exec --no-startup-id pamac-tray | |
exec --no-startup-id blueman-applet | |
exec --no-startup-id xautolock -time 10 -locker blurlock | |
exec --no-startup-id volumeicon | |
#exec --no-startup-id pulseaudio | |
#exec --no-startup-id pa-applet | |
exec_always --no-startup-id ff-theme-util | |
exec_always --no-startup-id fix_xcursor | |
bindsym $mod+Left focus left | |
bindsym $mod+Down focus down | |
bindsym $mod+Up focus up | |
bindsym $mod+Right focus right | |
bindsym $mod+Shift+Left move left 40 | |
bindsym $mod+Shift+Down move down 40 | |
bindsym $mod+Shift+Up move up 40 | |
bindsym $mod+Shift+Right move right 40 | |
bindsym $mod+z split toggle | |
bindsym $mod+f fullscreen toggle | |
bindsym $mod+Shift+space floating toggle | |
bindsym $mod+Shift+minus move scratchpad | |
bindsym $mod+minus scratchpad show | |
bindsym $mod+Ctrl+Right workspace next | |
bindsym $mod+Ctrl+Left workspace prev | |
bindsym $mod+Ctrl+s exec maim -u -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png | |
# Workspace names | |
# Eg: set $ws1 1:mail | |
# set $ws2 2: | |
set $ws1 1 | |
set $ws2 2 | |
set $ws3 3 | |
set $ws4 4 | |
set $ws5 5 | |
set $ws6 6 | |
set $ws7 7 | |
set $ws8 8 | |
# 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 | |
# Move to workspace with focused container | |
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 | |
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 | |
bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 | |
bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 | |
bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 | |
bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 | |
bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 | |
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 | |
# Open applications on specific workspaces | |
# assign [class="Thunderbird"] $ws1 | |
# assign [class="Pcmanfm"] $ws3 | |
# assign [class="Skype"] $ws5 | |
# Open specific applications in floating mode | |
for_window [title="alsamixer"] floating enable border pixel 1 | |
for_window [class="calamares"] floating enable border normal | |
for_window [title="File Transfer*"] floating enable | |
for_window [class="Galculator"] floating enable border pixel 1 | |
for_window [class="GParted"] floating enable border normal | |
for_window [class="Lightdm-settings"] floating enable | |
for_window [class="Lxappearance"] floating enable sticky enable border normal | |
for_window [class="Manjaro-hello"] floating enable | |
for_window [class="Manjaro Settings Manager"] floating enable border normal | |
for_window [title="MuseScore: Play Panel"] floating enable | |
for_window [class="Nitrogen"] floating enable sticky enable border normal | |
for_window [class="Oblogout"] fullscreen enable | |
for_window [class="octopi"] floating enable | |
for_window [class="Pamac-manager"] floating enable | |
for_window [class="Pavucontrol"] floating enable | |
for_window [class="qt5ct"] floating enable sticky enable border normal | |
for_window [class="Qtconfig-qt4"] floating enable sticky enable border normal | |
for_window [class="Simple-scan"] floating enable border normal | |
for_window [class="(?i)System-config-printer.py"] floating enable border normal | |
for_window [class="Skype"] floating enable border normal | |
for_window [class="Timeset-gui"] floating enable border normal | |
for_window [class="SimpleScreenRecorder"] floating enable border normal | |
for_window [class="MPlayer"] floating enable | |
for_window [class="Spotify"] floating enable | |
# switch to workspace with urgent window automatically | |
for_window [urgent=latest] focus | |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | |
bindsym $mod+Ctrl+r restart | |
# Set shut down, restart and locking features | |
bindsym $mod+Ctrl+Delete mode "$mode_system" | |
set $mode_system (e)xit, switch_(u)ser, (h)ibernate, (r)eboot, (s)hutdown | |
mode "$mode_system" { | |
bindsym u exec --no-startup-id i3exit switch_user, mode "default" | |
bindsym e exec --no-startup-id i3exit logout, mode "default" | |
bindsym h exec --no-startup-id i3exit hibernate, mode "default" | |
bindsym r exec --no-startup-id i3exit reboot, mode "default" | |
bindsym s exec --no-startup-id i3exit shutdown, mode "default" | |
# exit system mode: "Enter" or "Escape" | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
# Resize window (you can also use the mouse for that) | |
bindsym $mod+r mode "resize" | |
mode "resize" { | |
# 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 | |
# exit resize mode: Enter or Escape | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
# Lock screen | |
bindsym $mod+l exec --no-startup-id blurlock | |
# Color palette used for the terminal ( ~/.Xresources file ) | |
# Colors are gathered based on the documentation: | |
# https://i3wm.org/docs/userguide.html#xresources | |
# Change the variable name at the place you want to match the color | |
# of your terminal like this: | |
# [example] | |
# If you want your bar to have the same background color as your | |
# terminal background change the line 362 from: | |
# background #14191D | |
# to: | |
# background $term_background | |
# Same logic applied to everything else. | |
set_from_resource $term_background background | |
set_from_resource $term_foreground foreground | |
set_from_resource $term_color0 color0 | |
set_from_resource $term_color1 color1 | |
set_from_resource $term_color2 color2 | |
set_from_resource $term_color3 color3 | |
set_from_resource $term_color4 color4 | |
set_from_resource $term_color5 color5 | |
set_from_resource $term_color6 color6 | |
set_from_resource $term_color7 color7 | |
set_from_resource $term_color8 color8 | |
set_from_resource $term_color9 color9 | |
set_from_resource $term_color10 color10 | |
set_from_resource $term_color11 color11 | |
set_from_resource $term_color12 color12 | |
set_from_resource $term_color13 color13 | |
set_from_resource $term_color14 color14 | |
set_from_resource $term_color15 color15 | |
# Start i3bar | |
bar { | |
i3bar_command i3bar | |
status_command i3blocks | |
position bottom | |
# please set your primary output first. Example: 'xrandr --output eDP1 --primary' | |
# tray_output primary | |
# tray_output eDP1 | |
bindsym button4 nop | |
bindsym button5 nop | |
strip_workspace_numbers yes | |
colors { | |
background #222D31 | |
statusline #F9FAF9 | |
separator #454947 | |
# border backgr text | |
focused_workspace #F9FAF9 #16a085 #292F34 | |
active_workspace #595B5B #353836 #FDF6E3 | |
inactive_workspace #595B5B #222D31 #EEE8D5 | |
binding_mode #16a085 #2C2C2C #F9FAF9 | |
urgent_workspace #16a085 #FDF6E3 #E5201D | |
} | |
} | |
# hide/unhide i3bar | |
bindsym $mod+m bar mode toggle | |
# Theme colors | |
# class border backgr. text indic. child_border | |
client.focused #556064 #556064 #80FFF9 #FDF6E3 | |
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948 | |
client.unfocused #2F3D44 #2F3D44 #1ABC9C #454948 | |
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2 | |
client.placeholder #000000 #0c0c0c #ffffff #000000 | |
client.background #2B2C2B | |
############################# | |
### settings for i3-gaps: ### | |
############################# | |
# Set inner/outer gaps | |
gaps inner 5 | |
gaps outer 0 | |
# 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" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment