dotfiles/.config/i3/config

299 lines
9.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
# i3 config file (v4)
##############
# defaults #
##############
# Note: to get a list of available keys (keysyms) for use in key combos, run
# `xmodmap -pke`
# get current user (because I don't 100% trust '~' in this config)
#set_from_resource $user echo "$USER"
# set modifier key to "Windows" key
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:monospace 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
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec alacritty
# start alternate terminal
#bindsym $mod+Shift+Return exec urxvt
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
#bindsym $mod+d exec dmenu_run
# start Rofi (my dmenu replacement)
bindsym $mod+d exec --no-startup-id rofi -show run
# 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+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
#navigate workspaces next / previous
bindsym $mod+Ctrl+Right workspace next
bindsym $mod+Ctrl+Left workspace prev
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
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"
set $ws11 "11"
set $ws12 "12"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+minus workspace $ws11
bindsym $mod+equal workspace $ws12
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
bindsym $mod+Shift+minus move container to workspace $ws11
bindsym $mod+Shift+equal move container to workspace $ws12
# 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+r mode "resize"
# 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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 2 px or 2 ppt
bindsym k resize grow height 2 px or 2 ppt
bindsym l resize shrink height 2 px or 2 ppt
bindsym semicolon resize grow width 2 px or 2 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 2 px or 2 ppt
bindsym Down resize grow height 2 px or 2 ppt
bindsym Up resize shrink height 2 px or 2 ppt
bindsym Right resize grow width 2 px or 2 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# status_command i3status
# position top
# height 25
#}
# Start i3bar to display a workspace bar (plus the system information i3status if available)
bar {
i3bar_command i3bar
status_command i3status
position top
## please set your primary output first. Example: 'xrandr --output eDP1 --primary'
# tray_output primary
# tray_output eDP1
#bindsym button4 nop # use to disable
bindsym button4 workspace next
bindsym button5 workspace prev
font xft:URWGothic-Book 16
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
}
}
# just in case I want my polubar again
#exec_always --no-startup-id ~/.config/polybar/launch.sh
# TODO: figure out clipit
#exec --no-startup-id clipit
############################
# window border settings #
############################
# sets border for default windows, not floating
# default_border pixel 2
default_border pixel 1
# floating windows get a 'normal' border
default_floating_border normal
# class border backgr indicator-text
#client.focused #888888 #888888 #111111
#client.unfocused #222222 #222222 #bbbbbb
#client.focused_inactive #111111 #111111 #bbbbbb
#client.urgent #383a3b #383a3b #ee0000
######################
# i3 gaps settings #
######################
# sets gap size in between individual windows
gaps inner 20
# sets gap size in between windows and the edge of the monitor
gaps outer 2
# remove/add gaps
bindsym $mod+g gaps inner all toggle 20
#######################
# set screenlocking #
#######################
# starts xautolock, which forks to background and listens for user inactivity.
# If inactivity after '-time' minutes, execute '-locker' string as a command
# note: I'm still not sure if this line does anything. I think you might
# just have to run the command by itself one in the shell.
#exec xautolock -detectsleep -noclose -time 12 -locker "$HOME/.config/i3/screenlocker.sh"
# locks the screen after pressing Mod+Q (Windows + Q in my setup)
bindsym $mod+q exec "$HOME/.config/i3/screenlocker.sh"
#######################################
# use feh to set desktop background #
#######################################
# 'desktop' background changed below
# TODO: maybe replace with variable if posssible
#exec_always feh --bg-fill "$HOME/Library/Images/Wallpapers/archer/archer-mallorys-office3.jpg"
exec_always feh --bg-fill "$HOME/Library/Images/Wallpapers/archer/archer-mallorys-office2.jpg"
# runs compositor, needed for effects, (really for st transparency)
#exec --no-startup-id compton -b --config ~/.config/compton/compton.conf
## TODO replace
#####################################################
# set ThinkPad X1 Yoga volume/brightness controls #
#####################################################
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
# Screen brightness controls
bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
#############################
# start KDEConnect daemon #
#############################
#exec /usr/lib/kdeconnectd
# TODO change
########################
# moar to be done... #
########################