I3 + Polybar (scrot)
beinganushasan Aug 19, 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 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | # config for i3 by Anushasan Poudel
# www.github.com/beinganushasan
# www.anushasanpoudel.com.np
set $mod Mod4
set $term terminator
# 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 10
font pango:SanFranciscoDisplay Nerd Font:style=Regular:size=14
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# font pango:DejaVu Sans Mono 10
# i3bar_command i3bar
# position top
# mode dock
# status_command i3status
# colors {
# background #353439
# statusline #7B9F35
# separator #9FEE00
# focused_workspace #353439 #4B4D46 #9FEE00
# active_workspace #353439 #4B4D46 #7B9F35
# inactive_workspace #353439 #4B4D46 #7B9F35
# urgent_workspace #353439 #4B4D46 #7B9F35
# }
#
#}
#Colors
client.focused #555555 #555555 #ffffff #2e9ef4 #CC0000
# 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
#Auto-Start App
exec --no-startup-id nitrogen --restore #Restore Nitrogen for persisting wallpaper
exec --no-startup-id picom -b
exec --no-startup-id numlockx on #keep numlock on
#exec --no-startup-id clipit
#exec --no-startup-id pamac-tray
exec --no-startup-id volumeicon
#exec --no-startup-id start_conky_maia
#exec --no-startup-id cbatticon -u 20 -i symbolic -c "poweroff" -l 15 -r 3
# 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
exec --no-startup-id xfce4-power-manager
exec --no-startup-id polybar -r default
# Configure border style <normal|1pixel|pixel xx|none|pixel>
default_border pixel 1
default_floating_border normal
# Hide borders
hide_edge_borders none
# change borders
#bindsym $mod+u border none
#bindsym $mod+y border pixel 1
#bindsym $mod+n border normal
# Use pactl to adjust volume in PulseAudio.
#set $refresh_i3status killall -SIGUSR1 i3status
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
#bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Screen brightness controls
bindsym XF86MonBrightnessUp exec "xbacklight -inc 10"
bindsym XF86MonBrightnessDown exec "xbacklight -dec 5"
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# #---Gaps---# #
set $inner_gaps 6
set $outer_gaps 4
for_window [class="^.*"] border pixel 2
gaps inner $inner_gaps
gaps outer $outer_gaps
# start a terminal
bindsym $mod+Return exec $term
#Screenshot
bindsym $mod+Print --release exec --no-startup-id i3-scrot
#Launch App
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
bindsym $mod+a exec alacritty
#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
bindsym $mod+i exec firefox
bindsym $mod+f exec thunar #$term -e ranger
bindsym $mod+y exec youtube #start mpv with xclip copied link with youtube-dl
#bindsym $mod+d exec rofi -show run
# kill focused window
bindsym $mod+q kill
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l 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+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 orientation
#bindsym $mod+h split h; exec notify-send 'tile horizontally'
#bindsym $mod+v split v; exec notify-send 'tile vertically'
bindsym $mod+t split toggle
# enter fullscreen mode for the focused container
bindsym $mod+Shift+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
# 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"
# 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
bindsym $mod+9 workspace number $ws9
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# 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'"
# binding particular apps in certain workspace
assign [class="Terminator"] $ws1
assign [class="firefox"] $ws2
assign [class="Thunar"] $ws3
assign [class="vlc"] $ws4
# Set shut down, restart and locking features
bindsym $mod+Shift+q mode "$mode_system"
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
mode "$mode_system" {
bindsym l exec --no-startup-id i3exit lock, mode "default"
bindsym s exec --no-startup-id i3exit suspend, mode "default"
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 Shift+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)
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 l resize shrink height 10 px or 10 ppt
bindsym semicolon 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 shrink height 10 px or 10 ppt
bindsym Up resize grow 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"
#focus_follows_mouse no
|
x
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 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | ;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; config for i3 by Anushasan Poudel
; www.github.com/beinganushasan
; www.anushasanpoudel.com.np
;
;==========================================================
;
[colors]
;background = ${xrdb:color0:#222}
background = #ff252a36
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #7B9F35
foreground-alt = #0a81f5
;foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/default]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 21
;offset-x = 1%
;offset-y = 1%
radius = 5
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 1
line-color = #f00
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 0
module-margin-left = 1
module-margin-right = 1
font-0 = NotoSans-Regular:size=11;2
font-1 = MaterialIcons:size=11;2
font-2 = Termsynu:size=8:antialias=false;-2
font-3 = FontAwesome:size=11;3
modules-left = i3
modules-center = date
modules-right = memory cpu temperature filesystem backlight-acpi
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
;strip-wsnumbers = true ;This will split the workspace name on ':'
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;♟
ws-icon-8 = 9;♟
ws-icon-default = ♟
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %icon%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
; unfocused = Inactive workspace on any monitor
label-unfocused = %icon%
label-unfocused-padding = 2
; visible = Active workspace on unfocused monitor
label-visible = %icon%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
; Separator in between workspaces
;label-separator = |
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %gb_used%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%{F-} %free%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
format-underline = #f90000
[module/backlight-acpi]
;inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
label = %percentage%%
[module/arrow1]
; grey to Blue
type = custom/text
content = "%{T2}%{T-}"
content-font = 2
content-foreground = #8d62a9
content-background = #292d3e
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage:2%%
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format-prefix=" "
format-prefix-foreground = ${colors.foreground-alt}
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
ramp-0 =
ramp-1 =
ramp-2 =
ramp-foreground = ${colors.foreground-alt}
[module/wlan]
type = internal/network
interface = wlp2s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp1s0
interval = 3.0
format-connected-underline = #55aa55
;format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =%b-%d(%a)
date-alt =%b-%d(%a)
time = %r
time-alt =%r
;format-prefix =
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
;[module/battery]
;type = internal/battery
;battery = BAT0
;adapter = AC0
;full-at = 98
;format-charging = <animation-charging> <label-charging>
;format-charging-underline = #ffb52a
;format-discharging = <animation-discharging> <label-discharging>
;format-discharging-underline = ${self.format-charging-underline}
;format-full-prefix = " "
;format-full-prefix-foreground = ${colors.foreground-alt}
;format-full-underline = ${self.format-charging-underline}
;
;ramp-capacity-0 =
;ramp-capacity-1 =
;ramp-capacity-2 =
;ramp-capacity-foreground = ${colors.foreground-alt}
;
;animation-charging-0 =
;animation-charging-1 =
;animation-charging-2 =
;animation-charging-foreground = ${colors.foreground-alt}
;animation-charging-framerate = 750
;
;animation-discharging-0 =
;animation-discharging-1 =
;animation-discharging-2 =
;animation-discharging-foreground = ${colors.foreground-alt}
;animation-discharging-framerate = 750
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 0
margin-bottom = 0
; vim:ft=dosini
;[module/bspwm]
;type = internal/bspwm
;
;label-focused = %index%
;label-focused-background = ${colors.background-alt}
;label-focused-underline= ${colors.primary}
;label-focused-padding = 2
;
;label-occupied = %index%
;label-occupied-padding = 2
;
;label-urgent = %index%!
;label-urgent-background = ${colors.alert}
;label-urgent-padding = 2
;
;label-empty = %index%
;label-empty-foreground = ${colors.foreground-alt}
;label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
;[module/xbacklight]
;type = internal/xbacklight
;
;format = <label> <bar>
;label = BL
;
;bar-width = 10
;bar-indicator = |
;bar-indicator-foreground = #fff
;bar-indicator-font = 2
;bar-fill = ─
;bar-fill-font = 2
;bar-fill-foreground = #9f78e1
;bar-empty = ─
;bar-empty-font = 2
;bar-empty-foreground = ${colors.foreground-alt}
;[module/powermenu]
;type = custom/menu
;expand-right = true
;format-spacing = 1
;label-open = Power
;label-open-foreground = ${colors.secondary}
;label-close = cancel
;label-close-foreground = ${colors.secondary}
;label-separator = |
;label-separator-foreground = ${colors.foreground-alt}
;
;menu-0-0 = reboot
;menu-0-0-exec = menu-open-1
;menu-0-1 = power off
;menu-0-1-exec = menu-open-2
;
;menu-1-0 = cancel
;menu-1-0-exec = menu-open-0
;menu-1-1 = reboot
;menu-1-1-exec = sudo reboot
;
;menu-2-0 = power off
;menu-2-0-exec = sudo poweroff
;menu-2-1 = cancel
;menu-2-1-exec = menu-open-0
|
x