i3 Dotfiles (scrot, raw, dl)
AuroraDraco Aug 10, 2020 (wms/i3)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | # My i3 config, personalised for my own needs.
# -- Setting up important utilities and variables --
# Setting the super key as mod
set $mod Mod4
# Setting the wallpaper
exec --no-startup-id nitrogen --set-scaled ~/Pictures/aurora.jpg
# Starting picom
exec --no-startup-id picom --config ~/.config/picom.conf
# Setting some useful variables
set $editor emacs
set $browser brave
# Setting the used font
font pango:DejaVu Sans Mono 9
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Language changer Greek-English
exec_always "setxkbmap -model pc104 -layout us,gr -variant ,, -option grp:alt_shift_toggle"
# Pulse Audio Volume Control
bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ unmute && pkill -RTMIN+1 i3blocks
bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- unmute && pkill -RTMIN+1 i3blocks
bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks
# -- Base i3 utilities --
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# kill focused window
bindsym $mod+Control+x kill
# start dmenu
bindsym $mod+d exec dmenu_run -i -fn 'Mononoki Nerd Font'
# Language changer Greek-English
exec_always "setxkbmap -model pc104 -layout us,gr -variant ,, -option grp:alt_shift_toggle"
# 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'"
# Scratchpad utilities
bindsym $mod+a scratchpad show
bindsym $mod+Shift+a move scratchpad
# Screenshots
bindsym Print exec --no-startup-id flameshot gui
bindsym $mod+Print exec --no-startup-id flameshot screen -p ~/Pictures/Screenshots
# change focus
bindsym $mod+Left focus left
bindsym $mod+Right focus right
bindsym $mod+Up focus up
bindsym $mod+Down focus down
# Move around windows
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
# Brightness control
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
# toggle tiling / floating
bindsym $mod+t floating toggle
# -- Workspaces --
# Workspace names
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"
# 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+Tab workspace back_and_forth
# 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
# 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 i resize shrink height 10 px or 10 ppt
bindsym l 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 or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# -- Bar Config (i3bar with i3blocks) --
bar {
status_command SCRIPT_DIR=~/.config/i3blocks/Scripts i3blocks
colors {
background #292d3e
# First is border, then is background and last is text
inactive_workspace #172347 #3d435d #d0d0d0
focused_workspace #172347 #3e3a29 #d0d0d0
urgent_workspace #172347 #f50606 #d0d0d0
}
}
# -- Program Launchers --
bindsym $mod+Control+b exec $browser
bindsym $mod+Control+f exec thunar
bindsym $mod+Control+l exec libreoffice
bindsym $mod+Shift+l exec lutris
bindsym $mod+Control+s exec spotify
bindsym $mod+Shift+s exec steam
bindsym $mod+Control+d exec discord
bindsym $mod+Control+o exec octave --gui
bindsym $mod+Control+c exec qalculate-gtk
bindsym $mod+Control+e exec $editor
bindsym $mod+Control+t exec thunderbird
bindsym $mod+Control+a exec pavucontrol
bindsym $mod+Return exec alacritty
# -- Specific Window Rules --
# Floating Calendar
for_window [class="Yad"] floating enable
# Floating Calculator
for_window [title="Qalculate!"] floating enable
# Move spotify to scratchpad when launched
for_window [class="Spotify"] move scratchpad
# -- Website Launcher --
mode "$browser_links" {
bindsym p exec xdg-open "https://play.pokemonshowdown.com"
bindsym w exec xdg-open "https://www.wolframalpha.com"
bindsym y exec xdg-open "https://www.youtube.com"
bindsym i exec xdg-open "https://i3wm.org/docs/userguide.html"
bindsym c exec xdg-open "https://www.chemeng.ntua.gr"
bindsym m exec xdg-open "https://mycourses.ntua.gr"
bindsym g exec xdg-open "https://mail.google.com/mail/u/0/#inbox"
bindsym r exec xdg-open "https://www.reddit.com"
bindsym l exec xdg-open "https://lolchess.gg/profile/eune/auroradraco"
bindsym d exec xdg-open "https://www.dod.gr"
bindsym t exec xdg-open "https://www.twitch.tv"
bindsym Shift+g exec xdg-open "https://github.com"
bindsym Shift+p exec xdg-open "https://calc.pokemonshowdown.com"
bindsym Shift+c exec xdg-open "https://courses.chemeng.ntua.gr"
bindsym Shift+m exec xdg-open "https://www.messenger.com"
bindsym Escape mode "default"
}
# Enter website launcher mode
bindsym $mod+b mode "$browser_links"
|
x
Notes
Simple i3 config, not much special.
The only really unique thing it has is a mode to open specific browser links that I use daily which makes my workflow faster. Enjoy!
(p.s. this post was made by the dt gang, lets make this site explode in popularity guys)