.config + polybar submodule

This commit is contained in:
Debucquoy Anthony 2023-04-18 10:01:23 +02:00
parent 1dc6b93bd5
commit 8b20dece31
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
8 changed files with 3991 additions and 0 deletions

121
.config/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,121 @@
#! /bin/sh
gap=10
cgap=5
PANEL_HEIGHT=25
export gap
export cgap
export PANEL_HEIGHT
#This creates negative padding equal to window gap so that gaps are shown only between windows and not on desktop edges.
bspc config window_gap $(($gap+$cgap))
bspc config top_padding $(($PANEL_HEIGHT-$gap))
bspc config left_padding -$gap
bspc config right_padding -$gap
bspc config bottom_padding -$gap
#Various settings
bspc config gapless_monocle false #Default setup uses negative padding, and gapless monocle looks really weird like that
bspc config borderless_monocle true
bspc config single_monocle true
bspc config paddingless_monocle false
#bspc config ignore_ewmh_focus true
#bspc config initial_polarity second_child
bspc config remove_disabled_monitors true
bspc config remove_unplugged_monitors true
## Honor size hints: do not make windows smaller than they wish to be
#bspc config honor_size_hints true
##Color settings
bspc config focused_border_color "#1ABB9B"
bspc config normal_border_color "#2D2D2D"
#"#000000"
bspc config presel_feedback_color "#1ABB9B"
#"#8F3724"
bspc config border_width 2
bspc config focus_follows_pointer true
#bspc config pointer_follows_focus true #Some keybindings automatically enable and disable this setting
#Settings for manual splitting
bspc config split_ratio 0.52
#bspc monitor -d i ii iii iv v vi vii viii ix x
#bspc monitor -d One Two Three Four Five Six Seven Eight Nine Ten
#bspc monitor -d I II III IV V VI VII VIII IX X
#bspc monitor -d • • • • • • • • • •
#bspc monitor -d I II III IV V VI
###This creates and names desktops for multiple monitors.
workspaces_multimonitor &
bspc rule -a screenkey --unmanage
bspc rule -a gcolor2 state=floating center=true
bspc rule -a lxappearance state=floating center=true
bspc rule -a gmrun state=floating center=true
bspc rule -a lxterminal state=floating center=true sticky=true
#bspc rule -a urxvt state=floating center=true
bspc rule -a viewnior state=floating center=true
bspc rule -a file-roller state=floating center=true
bspc rule -a floaterm state=floating center=true
bspc rule -a spotify state=pseudo_tiled
#bspc rule -a nautilus state=pseudo_tiled
#bspc rule -a skype state=pseudo_tiled
bspc rule -a file-roller state=pseudo_tiled
bspc rule -a transmission-gtk state=pseudo_tiled
bspc rule -a conky sticky=on manage=off lower=on
bspc rule -a astime sticky=on
bspc rule -a yad state=floating
bspc rule -a Docky layer=above border=off manage=on
bspc rule -a Plank layer=above border=off manage=on
bspc rule -a wbar layer=above
bspc rule -a dockbarx layer=above
bspc rule -a google-chrome-unstable private=on
bspc rule -a google-chrome-stable private=on
bspc rule -a chromium private=on
bspc rule -a firefox private=on
bspc rule -a midori private=on
bspc rule -a gnome-pie border=off manage=off
bspc rule -a wpa_gui state=pseudo_tiled
bspc rule -a libreoffice state=tiled
bspc rule -a '*:libreofficedev' state=tiled
bspc rule -a '*:soffice' state=tiled
#bspc rule -a firefox desktop=I
#bspc rule -a calibre desktop=II
#bspc rule -a geany desktop=II
#bspc rule -a deluge desktop=III
bspc rule -a 9menu border=off manage=off
bspc rule -a tint2 border=off manage=off
#bspc desktop I --layout monocle
#bspc desktop II --layout monocle
bspc rule -a Godot state=pseudo_tiled
bspc rule -a arduino state=pseudo_tiled
bspc rule -a Tk state=pseudo_tiled
bspc rule -a mcedit.py state=floating
bspc rule -a yakuake manage=off layer=above
bspc rule -a xsane manage=off layer=above
## Autogap adjusts windowgap automatically according to the number of
## windows on the desktop. Using it disables negative window gap.
# autogap &
## This script balances all windows when new one is spawned
#euclid_balancer &
##Edge-switcher switches to next workspace when moves moves to the
##edge of the monitor (behavior similar to enlightenment)
#edge-switcher &
###External rules
##Pseudo automatic mode: always splits focused window when opening new window
bspc config external_rules_command /usr/bin/pseudo_automatic_mode
##Adjust new window: splits biggest windows to keep windows about the same size
#bspc config external_rules_command /usr/bin/adjust-new-window
##Autostart apps
#Keybindings daemon
sxhkd &
#Source autostartfile. Uncomment this if you use bspwm-git
#. $HOME/.config/bspwm/autostart
#limepanel &
$HOME/.config/polybar/launch.sh &

1646
.config/emoji Normal file

File diff suppressed because it is too large Load Diff

1483
.config/fontawesome Normal file

File diff suppressed because it is too large Load Diff

404
.config/polybar/config Normal file
View File

@ -0,0 +1,404 @@
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains a lot of information
;
;=====================================================
; find icon name : fc-match -a |grep -i Material
; to find icon: xfd -fa MaterialIcons,
; echo "\ueXXX" to print and paste here
;This file has been edited by squash
[colors]
background = ${xrdb:background:#222}
foreground = ${xrdb:foreground:#222}
dark-black = ${xrdb:color0:#222}
black = ${xrdb:color8:#222}
dark-red = ${xrdb:color1:#222}
red = ${xrdb:color9:#222}
dark-green = ${xrdb:color2:#222}
green = ${xrdb:color10:#222}
dark-yellow = ${xrdb:color3:#222}
yellow = ${xrdb:color11:#222}
dark-blue = ${xrdb:color4:#222}
blue = ${xrdb:color12:#222}
dark-magenta = ${xrdb:color5:#222}
magenta = ${xrdb:color13:#222}
dark-cyan = ${xrdb:color6:#222}
cyan = ${xrdb:color14:#222}
dark-white = ${xrdb:color7:#222}
white = ${xrdb:color15:#222}
warning = ${xrdb:color3:#222}
active-led = ${xrdb:color1:#222}
foreground-alt = #555
primary = #F1FA8C
secondary = #e60053
alert = #FF5555
[bar/bspbar1]
monitor = ${env:MONITOR:DVI-D-0}
width = 100%:-10
height = 25
offset-x = 5
offset-y = 5
# radius = 12
fixed-center = true
background = ${xrdb:background}
foreground = ${xrdb:foreground}
line-size = 3
padding-left = 3
padding-right = 3
module-margin-left = 2
module-margin-right = 1
font-0 = Google Sans:style=bold:antialias=true:pixelsize=11;1
font-1 = Material Icons:size=12;2
font-2 = Iosevka:size=12;1
tray-position = right
tray-background = ${colors.background}
modules-left = powermenu bspwm
modules-center = xwindow
modules-right = volume date
wm-restack = bspwm
[bar/bspbar2]
monitor = ${env:MONITOR:HDMI-0}
width = 1910
height = 25
offset-x = 5
offset-y = 5
# radius = 12
fixed-center = true
background = ${xrdb:background}
foreground = ${xrdb:foreground}
line-size = 3
padding-left = 3
padding-right = 3
module-margin-left = 2
module-margin-right = 1
font-0 = Google Sans:style=bold:antialias=true:pixelsize=11;1
font-1 = Material Icons:size=12;2
font-2 = Iosevka:size=12;1
modules-left = bspwm
modules-center = xwindow
modules-right = spotify cpu memory network
tray-position = right
tray-background = ${colors.background}
wm-restack = bspwm
[module/xwindow]
type = internal/xwindow
label = %title:0:35:...%
[module/wlan]
type = internal/network
interface = wlp2s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
;format-connected-underline = ${colors.primary}
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/filesystem]
type = internal/fs
interval = 25
mount-0 = /
format-mounted-prefix = " "
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
module-margin-left = 4
module-margin-right = 4
index-sort = true
fuzzy-match = true
format = <label-state> <label-mode>
ws-icon-0 = ""
ws-icon-1 = "♛"
ws-icon-2 = graphics;♜
ws-icon-3 = mail;♝
ws-icon-4 = web;♞
label-focused = %name%
label-focused-background = ${xrdb:background}
label-focused-underline= ${xrdb:color9}
label-focused-padding = 1
label-occupied = %name%
label-occupied-foreground = ${xrdb:foreground}
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${xrdb:color3}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${xrdb:color8}
label-empty-padding = 1
[module/spotify]
type = custom/script
interval = 1
format-prefix = " "
format = <label>
exec = python $HOME/.config/polybar/polybar-spotify/spotify_status.py -f '{artist}: {song}'
format-underline = #1db954
;control players (optional)
click-left = playerctl --player=spotify play-pause
click-right = playerctl --player=spotify next
click-middle = playerctl --player=spotify previous
[module/mpd]
type = internal/mpd
format-online = <icon-prev> <toggle> <icon-next> <label-song>
# format-online = <icon-prev> <toggle> <icon-next> <label-song> | <bar-progress>
format-online-underline = ${colors.dark-yellow}
host = 127.0.0.1
port = 6600
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 35
label-song-ellipsis = true
bar-progress-width = 10
bar-progress-indicator = ""
bar-progress-fill = ━
bar-progress-empty = ━
[module/volume]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
format-volume-underline = ${colors.dark-green}
label-volume = " "
label-volume-foreground = ${colors.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
format-muted-underline = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = ${xrdb:color2}
bar-volume-foreground-1 = ${xrdb:color2}
bar-volume-foreground-2 = ${xrdb:color2}
bar-volume-foreground-3 = ${xrdb:color2}
bar-volume-foreground-4 = ${xrdb:color2}
bar-volume-foreground-5 = ${xrdb:color3}
bar-volume-foreground-6 = ${xrdb:color1}
bar-volume-underline = ${xrdb:color1}
bar-volume-gradient = true
bar-volume-indicator = ━
bar-volume-indicator-font = 1
bar-volume-fill = ━
bar-volume-fill-font = 1
bar-volume-empty = ━
bar-volume-empty-font = 1
bar-volume-empty-foreground = ${xrdb:color0}
[module/network]
type = internal/network
interface = enp3s0
format-connected-prefix = "%{T3} %{T-}"
format-connected-prefix-foreground = ${colors.foreground}
format-connected-prefix-background = ${colors.background}
format-connected-underline = ${colors.dark-magenta}
format-connected = <label-connected>
format-connected-foreground = ${colors.foreground}
format-connected-background = ${colors.background}
label-connected = "%{A1:nm-connection-editor:}%downspeed:9%%{A}"
label-connected-foreground = ${colors.foreground}
label-connected-background = ${colors.background}
format-disconnected-prefix = "%{T3} %{T-}"
format-disconnected-prefix-foreground = ${colors.black}
format-disconnected-prefix-background = ${colors.background}
format-disconnected-underline = ${colors.black}
format-disconnected = <label-disconnected>
format-disconnected-foreground = ${colors.black}
format-disconnected-background = ${colors.background}
label-disconnected = "-"
label-disconnected-foreground = ${colors.black}
label-disconnected-background = ${colors.background}
[module/battery]
type = internal/battery
battery = BAT1
adapter = ACAD
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${xrdb:color3}
animation-charging-0 = 
animation-charging-1 = 
format-discharging = <label-discharging>
label-discharging =  %percentage%%
format-discharging-underline = ${xrdb:color5}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${xrdb:color2}
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "%{F#fff} %{F-} "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${xrdb:color6}
label = %percentage%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = "%{F#fff} %{F-}"
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${xrdb:color1}
label = %percentage_used%%
[module/date]
type = internal/date
interval = 5
date = " %A, %d %B"
time = %H:%M
format-prefix = " "
format-prefix-foreground = ${colors.foreground}
format-underline = ${xrdb:color4}
label = %time% %date%
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
label-open = "  "
label-open-foreground = ${colors.dark-red}
label-open-underline = ${colors.dark-red}
label-close = "  "
label-close-foreground = ${colors.white}
label-close-underline = ${colors.white}
menu-0-0 = "  "
menu-0-0-foreground = ${colors.dark-cyan}
menu-0-0-underline = ${colors.dark-cyan}
menu-0-0-exec = betterlockscreen -l
menu-0-1 = "  "
menu-0-1-foreground = ${colors.dark-green}
menu-0-1-underline = ${colors.dark-green}
menu-0-1-exec = kill -9 -1
menu-0-2 = "  "
menu-0-2-foreground = ${colors.dark-yellow}
menu-0-2-underline = ${colors.dark-yellow}
menu-0-2-exec = shutdown -r now
menu-0-3 = "  "
menu-0-3-foreground = ${colors.dark-red}
menu-0-3-underline = ${colors.dark-red}
menu-0-3-exec = shutdown -h now
[settings]
screenchange-reload = true
compositing-background = xor
;compositing-background = screen
compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = -10
margin-bottom = -10
; vim:ft=dosini

8
.config/polybar/launch.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/sh
killall -q polybar
polybar bspbar1 >> /tmp/polybar1.log 2>&1 &
polybar bspbar2 >> /tmp/polybar1.log 2>&1 &
echo "Bars launched..."

@ -0,0 +1 @@
Subproject commit 5edc2e598cf0ec5c54860c28db870af998271666

325
.config/sxhkd/sxhkdrc Executable file
View File

@ -0,0 +1,325 @@
# bspwm hotkeys
#
# Cleanly quit bspwm
super + shift + a
bspc quit 1 && pkill lemonpanel && pkill lemonbar
# Show keybindings
super + F1
$TERMINAL -e keybindings.sh
#
# Window manipulation
# ______________
# Close window
super + x
bspc node -c
# Kill window
super + shift + x
bspc node -k
# Toggle tiling mode of window
super + shift + t
bspc node -t {pseudo_tiled,tiled}
super + t
{bspc node -t floating && window-placer $(bspc query -T -d | grep -o '"state":"floating"' | wc -l),bspc node -t tiled}
# Force all windows of the desktop to tile
super + ctrl + t
bspcp tile
# Force all windows of the desktop to float and arrange them
super + ctrl + shift + t
bspcp float
# Toggle fullscreen
super + shift + f
bspc node -t {fullscreen,tiled}
# Try to keep size and position of the selected window
super + o
bspc node -g private
# Make window sticky
super + i
bspc node -g sticky
# Lock a window from closing
super + Escape
bspc node -g locked
#
# Window moving and splitting
# ______________
# Autopresel (split window in its largest dimension)
super + ctrl + Return
auto-presel
# Presel window for splitting in certain direction
alt + ctrl + {q,s,z,d}
bspc node -p \~{west,south,north,east} -i
alt + ctrl + {h,j,k,l}
bspc node -p \~{west,south,north,east}
alt + ctrl + {Left,Down,Up,Right}
bspc node -p \~{west,south,north,east}
# Presel the desktop for splitting in certain direction
alt + shift + {q,s,z,d}
bspc node @/ -p \~{west,south,north,east}
alt + shift + {h,j,k,l}
bspc node @/ -p \~{west,south,north,east}
alt + shift + {Left,Down,Up,Right}
bspc node @/ -p \~{west,south,north,east}
# Set splitting ratio of windows
alt + ctrl + {1-9}
bspc node -o 0.{1-9}
# Move current window to largest space or preselected area if there is one.
super + Return
windowpromoter
# # Create a new "master area", splitting the whole desktop instead of just windows.
# alt + Return
# bspc node -n @/
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
super + {_,shift + }{ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
bspc {desktop -f,node -d} ^{1-9,10}
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
#super + {ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
# focusdesktopofthismonitor {1-9}
#super + shift + {ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
# movetodesktopofthismonitor {1-9,10}
## Another alternative: xmonad style desktops. You have 10 desktops shared between all monitors,
## and focusing a desktop focuses it on the currently focused monitor
#super + {ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
# summondesktop.sh {1-9,10}
#super + shift + {ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
# bspc node -d ^{1-9,10}
# Select previous / next desktop
super + {m,n}
bspc desktop -f {prev.occupied,next.occupied}
# cycle windows
alt + {_,shift + }Tab
bspc node -f {next,prev}
# Go to specific window
super + Tab
WindowSelector
#Focus windows by direction, works with multihead
super + {q,s,z,d}
focusmover {west,south,north,east}
super + {h,j,k,l}
focusmover {west,south,north,east}
super + {Left,Down,Up,Right}
focusmover {west,south,north,east}
# Move tiled windows. Moving a tiled window to
# preselected one moves into preselection instead.
# Moving out of the screen should move the window to next monitor if possible
super + shift + {q,s,z,d}
windowgrabber {west,south,north,east}
super + shift + {h,j,k,l}
windowgrabber {west,south,north,east}
# Different style of movement: transplant into window in chosen direction
super + shift + {Left,Down,Up,Right}
euclid_mover {west,south,north,east}
#resize windows
super + ctrl + {q,s,z,d}
bspwm_resize.sh {west,south,north,east}
super + ctrl + {h,j,k,l}
bspwm_resize.sh {west,south,north,east}
super + ctrl + {Left,Down,Up,Right}
bspwm_resize.sh {west,south,north,east}
#
# Layout manipulation/desktop level controls
# ______________
# Toggle monocle mode
super + f
bspc desktop -l next
# Balance tree
super + b
bspc node @/ -B
# Balance brother node. If you do this on biggest window of the desktop, it usually means balancing all windows with except the biggest.
super + alt + b
bspc node @brother -B
# Undo balancing (equalize windows)
super + ctrl + b
bspc node @/ -E
# Toggle automatic balancing of windows
alt + b
euclid_balancer
# Mirror and flip leaves of tree
super + {comma,period}
bspc node @/ -F {horizontal,vertical}
# Rotate leaves of tree
super + shift + {comma,period}
bspc node @/ -R {90,270}
# Change window gap
super + g
bspc config -d focused window_gap {$gap,$(($gap+$gap)),$(($gap+$gap+$gap))}
super + button{4,5}
bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
#
# mouse bindings
# __________________
~button1
DidIClickDesktop.sh && gapgrab
~button2
DidIClickDesktop.sh && mygtkmenui -- .config/GTKmenu/BspwmDesktopMenui
~button3
DidIClickDesktop.sh && mygtkmenui -- .config/GTKmenu/LaunchMenu
# Switch workspace by scrolling on the desktop. Causes scrolling issues on some systems.
#~button4
# DidIClickDesktop.sh && bspc desktop -f next
#~button5
# DidIClickDesktop.sh && bspc desktop -f prev
### Add or remove desktops by scrolling
super + ctrl + button5
bspcp dsktp rm
super + ctrl + button4
bspcp dsktp add
# Spawn applications popup menu and manually tile selected
# app where your mouse was when you opened the menu. Smartsplit only chooses
# biggest dimension of the window, MouseLaunch only cares which edge is closer.
# mod5 is alt_gr (first key right from space) on most keyboards.
mod5 + @button1
MouseLaunch ; mygtkmenui -- .config/GTKmenu/LaunchMenu
# smartsplit ; dboxmenu
# Spawn window manipulation menu
# Mod1 is alt
# BspwmWindowMenu
#mod1 + @button1
# mygtkmenui -- .config/GTKmenu/BspwmWindowMenui
#
# Touchpad "gestures" (depend on your touchpad driver, very likely to be unavailable)
#_____________________
#
# spawn programs
#
# run applications
super + space
dmenu_recent -i -l 14 -w 600 -y $PANEL_HEIGHT
super + p
st spt
super + shift + Return
st
super + z
st
super + shift + z
open-terminal-here
super + r
rofi-finder.sh
super + shift + b
$BROWSER
super + e
spacefm -n
ctrl + alt + n
switchkblayout
super + shift + e
st ranger
super + shift + n
newsboat
Print
scrot -s
#
# Media keys
#
XF86AudioRaiseVolume
volume up
XF86AudioLowerVolume
volume down
XF86AudioMute
volume mute
XF86MonBrightnessDown
xbacklight -dec 10
XF86MonBrightnessUp
xbacklight -inc 10
XF86Sleep
systemctl suspend
XF86AudioPlay
playerctl play-pause
XF86AudioPlay
playerctl stop
XF86AudioPrev
playerctl previous
XF86AudioNext
playerctl next
# make sxhkd reload its configuration files:
super + shift + Escape
pkill -USR1 -x sxhkd
# In case bspwmrc fails to execute/you wish have plugged in a new monitor
super + shift + r
bspwmrc
# Toggle compositing
super + ctrl + space
{pkill picom ,\
picom -b }
# Remove receptacles
super + BackSpace
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule ".config/polybar/polybar-spotify"]
path = .config/polybar/polybar-spotify
url = https://github.com/Jvanrhijn/polybar-spotify