Compare commits

...

5 Commits
main ... canary

15 changed files with 538 additions and 51 deletions

33
Laptop/bspwm/bspwmrc Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x polybar > /dev/null || polybar &
bspc config border_width 3
bspc config window_gap 5
bspc config pointer_modifier super
bspc config focus_follows_pointer true
bspc config pointer_follows_focus false
bspc config pointer_motion_interval 5
bspc config pointer_modifier mod4
bspc config pointer_action1 move
bspc config pointer_action2 resize_side
bspc config pointer_action3 resize_corner
bspc rule -a scratch sticky=on state=floating focus=on
bspc config split_ratio 0.52
bspc config active_border_color "#E0A3B6"
bspc config normal_border_color "#8393A1"
bspc config focused_border_color "#93D4C5"
xhost +si:localuser:$USER &
xmodmap ~/.Xmodmap
picom &
feh --bg-fill ~/.bg/bg_5.png &
dunst &
xmousepasteblock &
xsetroot -cursor_name left_ptr &

View File

@ -346,5 +346,3 @@ content = " "
content-foreground = ${colors.primary}
click-left = ~/.config/rofi/power/launch.sh

146
Laptop/sxhkd/sxhkdrc Normal file
View File

@ -0,0 +1,146 @@
#
# wm independent hotkeys
#
# make screenshot
Print
flameshot gui
# terminal emulator
super + Return
tabbed -r 2 st -w ''
# program launcher
super + d
~/.config/rofi/launcher/launch.sh
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
#
# bspwm hotkeys
#
# quit/restart bspwm
super + alt + {q,r}
bspc {quit & pkill pipewire & pkill pipewire-pulse,wm -r}
alt + shift + l
betterlockscreen -l dim
# close and kill
super + {q, shift + q}
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest window
super + g
bspc node -s biggest.window
#
# state/flags
#
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
# focus/swap
#
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous win dow in the current desktop
super + {_,shift + }c
bspc node -f {next,prev}.local.!hidden.window
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
#
# preselect
#
# preselect the direction
super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
{XF86AudioLowerVolume, XF86AudioRaiseVolume}
pactl set-sink-volume @DEFAULT_SINK@ {-,+}5%
XF86AudioMute
pactl set-sink-mute @DEFAULT_SINK@ toggle
super + ctrl + XF86TouchpadToggle
touchpad_toggle.sh
# expand a window by moving one of its side outward
super + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
#
# rofi applets
#
super + P
~/.config/rofi/power/launch.sh

View File

@ -1,5 +1,8 @@
#!/bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x polybar > /dev/null || polybar &
bspc monitor DVI-I-1 -d I II III IV V
bspc monitor HDMI-1 -d VI VII VIII IX X
@ -23,11 +26,11 @@ bspc config active_border_color "#E0A3B6"
bspc config normal_border_color "#8393A1"
bspc config focused_border_color "#93D4C5"
xhost +si:localuser:$USER &
xmodmap ~/.Xmodmap &
picom &
feh --bg-fill ~/.bg/bg_5.png ~/.bg/bg_5.png &
pipewire -v 2>/home/doryan/.config/bspwm/log&
dunst &
xmousepasteblock &
xsetroot -cursor_name left_ptr &
pgrep -x sxhkd > /dev/null || sxhkd &
pgrep -x polybar > /dev/null || polybar 2>/home/doryan/.config/bspwm/log&

32
PC/polybar/calendar Executable file
View File

@ -0,0 +1,32 @@
#!/bin/bash
send_notification() {
TODAY=$(date '+%-d')
HEAD=$(cal "$1" | head -n1)
BODY=$(cal "$1" | tail -n7 | sed -z "s|$TODAY|<u><b>$TODAY</b></u>|1")
FOOT="\n<i> ~ calendar</i> 󰸗 "
dunstify -h string:x-canonical-private-synchronous:calendar \
"$HEAD" "$BODY$FOOT" -u NORMAL
}
handle_action() {
echo "$DIFF" > "$TMP"
if [ "$DIFF" -ge 0 ]; then
send_notification "+$DIFF months"
else
send_notification "$((-DIFF)) months ago"
fi
}
TMP=${XDG_RUNTIME_DIR:-/tmp}/"$UID"_calendar_notification_month
touch "$TMP"
DIFF=$(<"$TMP")
case $1 in
"curr") DIFF=0;;
"next") DIFF=$((DIFF+1));;
"prev") DIFF=$((DIFF-1));;
esac
handle_action

220
PC/polybar/config.ini Normal file
View File

@ -0,0 +1,220 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/polybar/polybar
;
; The README contains a lot of information
;
;==========================================================
[colors]
background = #333333
background-alt = #2E2E2E
foreground = #8C8C8C
primary = #93D4C5
secondary = #E0A3B6
alert = #E7A063
disabled = #9DA991
[bar/example]
width = 100%
height = 22pt
; dpi = 96
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2pt
padding-left = 0
padding-right = 1
module-margin = 1
font-0 = "FiraCode Nerd Font Propo:size=10;2"
modules-left = xworkspaces
modules-center = xwindow
modules-right = pulseaudio xkeyboard wlan eth date calendar powermenu
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
; wm-restack = generic
wm-restack = bspwm
; wm-restack = i3
; override-redirect = true
; This module is not active by default (to enable it, add it to one of the
; modules-* list above).
; Please note that only a single tray can exist at any time. If you launch
; multiple bars with this module, only a single one will show it, the others
; will produce a warning. Which bar gets the module is timing dependent and can
; be quite random.
; For more information, see the documentation page for this module:
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
[module/systray]
type = internal/tray
format-margin = 8pt
tray-spacing = 16pt
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:60:...%
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#89A989}%mountpoint%%{F-} %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.disabled}
[module/pulseaudio]
type = internal/pulseaudio
ramp-volume-foreground = ${colors.primary}
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-muted = 󰝟 muted
click-right = ~/.config/rofi/volume/launch.sh
; Only applies if <ramp-volume> is used
ramp-volume-0 = 󰕿
ramp-volume-1 = 󰖀
ramp-volume-2 = 󰕾
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout = %layout%
label-layout-foreground = ${colors.primary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-foreground = ${colors.background}
label-indicator-background = ${colors.secondary}
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %percentage_used:2%%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-disconnected = <label-disconnected>
label-disconnected = 󰲛 disconnected
[module/wlan]
inherit = network-base
interface-type = wireless
ramp-signal-foreground = ${colors.primary}
format-connected = <ramp-signal> <label-connected>
label-connected = %essid% %local_ip%
ramp-signal-0 = 󰤭
ramp-signal-1 = 󰤯
ramp-signal-2 = 󰤟
ramp-signal-3 = 󰤢
ramp-signal-4 = 󰤥
ramp-signal-5 = 󰤨
[module/eth]
inherit = network-base
interface-type = wired
format-connected = <label-connected>
format-connected-prefix = "󰛳 "
format-connected-prefix-foreground = ${colors.primary}
label-connected = %local_ip%
label-connected-foreground = ${colors.foreground}
[module/date]
type = internal/date
interval = 1
date = %H:%M
label = %date%
label-foreground = ${colors.primary}
[module/calendar]
type = custom/script
label = %output:0:15:...%
format-prefix = "󱁳 "
format-prefix-foreground = ${colors.primary}
format = <label>
exec = date "+%d %b %Y"
click-left = ~/.config/polybar/calendar curr
scroll-up = ~/.config/polybar/calendar next
scroll-down = ~/.config/polybar/calendar prev
[settings]
screenchange-reload = true
pseudo-transparency = true
[module/powermenu]
type = custom/text
content = " "
content-foreground = ${colors.primary}
click-left = ~/.config/rofi/power/launch.sh

View File

@ -1,17 +0,0 @@
# ~/.config/betterlockscreenrc
# default options
display_on=0
span_image=false
fx_list=(blur)
dim_level=40
blur_level=1
wallpaper_cmd="feh --bg-fill"
quiet=false
# i3lockcolor_bin="i3lock-color" # Manually set command for i3lock-color
suspend_command="loginctl suspend"# Manually change action e.g. hibernate/suspend-command
# i3lock-color - custom arguments
# lockargs=() # overwriting default "(-n)"
# lockargs+=(--ignore-empty-password) # appending new argument

View File

5
bspwm_session/bspwm.conf Normal file
View File

@ -0,0 +1,5 @@
[Desktop Entry]
Name=bspwm
Comment=Binary space partitioning window manager
Exec=/usr/share/xsessions/bspwm.sh
Type=Application

5
bspwm_session/bspwm.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
2&>1
exec pipewire &
exec bspwm

View File

@ -1,10 +1,64 @@
#!/bin/bash
configs=("betterlockscreen" "bspwm" "btop" "picom" "polybar" "zathura" "rofi" "yazi" "sxhkd" "dunst" "mimeapps.list" "starship.toml")rlockscreen -u ~/.bg/bg_5.jpg
function install_config() {
for config in $1; do
cp -vr "${config}" "$2"
done
}
for config in ${configs[@]}; do
cp -vr ./$config ~/.config/
done
green="\e[92m"
dgreen="\e[32m"
end="\e[0m"
cp ./.zshrc ~/
cp -r ./.zsh ~/
general_configs=("btop" "picom" "zathura" "rofi" "yazi" "dunst" "mimeapps.list" "starship.toml")
home_dir_configs=(".bg" ".zshrc" ".zsh")
echo -e "${green}
_ __ _ ____ _
| | / /___ (_)___/ / / (_)___ __ ___ __
| | / / __ \/ / __ / / / / __ \/ / / / |/_/
| |/ / /_/ / / /_/ / /___/ / / / / /_/ /> <
|___/\____/_/\__,_/_____/_/_/ /_/\__,_/_/|_|${end}${dgreen}
____ __ _____ __
/ __ \____ / /_/ __(_) /__ _____
/ / / / __ \/ __/ /_/ / / _ \/ ___/
/ /_/ / /_/ / /_/ __/ / / __(__ )
/_____/\____/\__/_/ /_/_/\___/____/${end}
"
echo "Select your device type (Laptop: L/l, PC: P/p)"
read type
case "${type}" in
"L" | "l")
install_config $(ls -d -1 "$PWD/"Laptop/*) ~/.config/
;;
"P" | "p")
install_config $(ls -d -1 "$PWD/"PC/*) ~/.config/
;;
*)
echo "Please, select your device type correctly"
kill "$PID"
;;
esac
install_config ${general_configs[@]} ~/.config/
install_config ${home_dir_configs[@]} ~/
betterlockscreen -u ~/.bg/bg_5.png --fx blur --blur 1
echo "Do you want install custom bspwm xsession to /usr/share/xsessions/? It's needs to become root (Y/N):"
read advanced_install
case "${advanced_install}" in
"Y" | "y")
su root -c "cp -vf ./bspwm_session/* /usr/share/xsessions/"
;;
"N" | "n")
echo "Skip"
;;
*)
echo "Please, select your device type correctly"
kill "$PID"
;;
esac

View File

@ -1,17 +1,38 @@
[Default Applications]
x-scheme-handler/tonsite=io.github.kukuruzka165.materialgram.desktop
x-scheme-handler/tg=io.github.kukuruzka165.materialgram.desktop
x-scheme-handler/mailto=userapp-Thunderbird-9B2JV2.desktop
message/rfc822=userapp-Thunderbird-9B2JV2.desktop
x-scheme-handler/mid=userapp-Thunderbird-9B2JV2.desktop
application/pdf=org.pwmt.zathura-pdf-poppler.desktop
x-scheme-handler/tonsite=userapp-64Gram Desktop-2YVBW2.desktop
x-scheme-handler/tg=userapp-64Gram Desktop-M3XAW2.desktop
x-scheme-handler/mailto=userapp-Thunderbird-M5C9Y2.desktop
message/rfc822=userapp-Thunderbird-M5C9Y2.desktop
x-scheme-handler/mid=userapp-Thunderbird-M5C9Y2.desktop
application/pdf=org.pwmt.zathura-pdf-mupdf.desktop
image/jpg=feh.desktop
image/jpeg=feh.desktop
image/png=feh.desktop
image/webm=feh.desktop
application/x-executable=appimagelauncher.desktop
x-scheme-handler/http=userapp-Firefox-9Z8DZ2.desktop
x-scheme-handler/https=userapp-Firefox-9Z8DZ2.desktop
x-scheme-handler/chrome=userapp-Firefox-9Z8DZ2.desktop
text/html=userapp-Firefox-9Z8DZ2.desktop
application/x-extension-htm=userapp-Firefox-9Z8DZ2.desktop
application/x-extension-html=userapp-Firefox-9Z8DZ2.desktop
application/x-extension-shtml=userapp-Firefox-9Z8DZ2.desktop
application/xhtml+xml=userapp-Firefox-9Z8DZ2.desktop
application/x-extension-xhtml=userapp-Firefox-9Z8DZ2.desktop
application/x-extension-xht=userapp-Firefox-9Z8DZ2.desktop
[Added Associations]
x-scheme-handler/tonsite=org.telegram.desktop.desktop;io.github.kukuruzka165.materialgram.desktop;
x-scheme-handler/tg=io.github.kukuruzka165.materialgram.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-9B2JV2.desktop;
x-scheme-handler/mid=userapp-Thunderbird-9B2JV2.desktop;
x-scheme-handler/tonsite=org.telegram.desktop.desktop;io.github.kukuruzka165.materialgram.desktop;userapp-64Gram Desktop-2YVBW2.desktop;
x-scheme-handler/tg=io.github.kukuruzka165.materialgram.desktop;userapp-64Gram Desktop-M3XAW2.desktop;
x-scheme-handler/mailto=userapp-Thunderbird-9B2JV2.desktop;userapp-Thunderbird-M5C9Y2.desktop;
x-scheme-handler/mid=userapp-Thunderbird-9B2JV2.desktop;userapp-Thunderbird-M5C9Y2.desktop;
x-scheme-handler/http=userapp-Firefox-9Z8DZ2.desktop;
x-scheme-handler/https=userapp-Firefox-9Z8DZ2.desktop;
x-scheme-handler/chrome=userapp-Firefox-9Z8DZ2.desktop;
text/html=userapp-Firefox-9Z8DZ2.desktop;
application/x-extension-htm=userapp-Firefox-9Z8DZ2.desktop;
application/x-extension-html=userapp-Firefox-9Z8DZ2.desktop;
application/x-extension-shtml=userapp-Firefox-9Z8DZ2.desktop;
application/xhtml+xml=userapp-Firefox-9Z8DZ2.desktop;
application/x-extension-xhtml=userapp-Firefox-9Z8DZ2.desktop;
application/x-extension-xht=userapp-Firefox-9Z8DZ2.desktop;

View File

@ -1,13 +0,0 @@
#!/bin/zsh
# Terminate already running bar instances
# If all your bars have ipc enabled, you can use
polybar-msg cmd quit
# Otherwise you can use the nuclear option:
# killall -q polybar
# Launch bar1 and bar2
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log
polybar example | tee -a /tmp/polybar1.log & disown
echo "Bars launched..."