initial commit
This commit is contained in:
+16
@@ -15,3 +15,19 @@ git/local
|
||||
!mksh/*
|
||||
!tmux/
|
||||
!tmux/*
|
||||
!dmenu/
|
||||
!dmenu/*
|
||||
!dunst/
|
||||
!dunst/*
|
||||
!foot/
|
||||
!foot/*
|
||||
!sway/
|
||||
!sway/*
|
||||
!swaylock/
|
||||
!swaylock/*
|
||||
!ghostty/
|
||||
!ghostty/**
|
||||
!mango/
|
||||
!mango/**
|
||||
!waybar/
|
||||
!waybar/**
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z $2 ]; then
|
||||
c=`nmcli -t -e yes -c no -f name c show | wmenu -i -l 10`
|
||||
else
|
||||
c="$2"
|
||||
fi
|
||||
|
||||
o=`nmcli c $1 "${c}"`
|
||||
|
||||
dunstify -a $0 "con $1 ${c}" "${o}"
|
||||
killall -USR1 i3status
|
||||
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# dmenu_run with custom history
|
||||
#
|
||||
set -e
|
||||
|
||||
export PATH=$PATH:~/.local/bin:~/.local/bin/sh
|
||||
|
||||
# . $HOME/.config/rc/config/dmenu/dmenu.rc
|
||||
# . $HOME/.config/rc/sh/dmenu_path
|
||||
|
||||
# NB="#303446"
|
||||
#NF="#838ba7"
|
||||
#SF="#303446"
|
||||
#SB="#ebcb8b"
|
||||
NB="#090e13fa"
|
||||
|
||||
NF="#c6d0f5"
|
||||
NF="#c6d0f54d"
|
||||
SB="#303446"
|
||||
SF="#babbf1"
|
||||
#$nf #c6d0f5$TR
|
||||
#$nb #303446$TR
|
||||
#$sf #ebcb8b$TR
|
||||
|
||||
# NORD: NF="#4c566aEF"
|
||||
# NORD: NB="#2e3440EF"
|
||||
# NORD: SF="#2e3440EF"
|
||||
# NORD: SB="#ebcb8bEF"
|
||||
|
||||
# FONT="monospace:size=11"
|
||||
FONT="JetBrainsMono Nerd Font 10"
|
||||
|
||||
HISTORY=$HOME/.cache/dmenu_run.history
|
||||
|
||||
# MONITOR="$(swaymsg -t get_outputs | jq -r 'map(.focused) | index(true)')"
|
||||
# MONITORNAME="$(swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .name')"
|
||||
_HIST_PREPEND() {
|
||||
( printf "%s\n" 1 i "$@" . w | ex $HISTORY ) &>/dev/null
|
||||
awk -i inplace '!x[$0]++' "$HISTORY"
|
||||
}
|
||||
|
||||
# dmenu -m $MONITOR -fn ${FONT} -nb ${NB} -nf ${NF} -sb ${SB} -sf ${SF} -p "dmenu: " "$@") \
|
||||
cmd=$((
|
||||
cat "$HISTORY"; \
|
||||
flatpak list --columns=application | awk '$0="Ƒ "$0' ; \
|
||||
dmenu_path) | \
|
||||
wmenu -i -f "${FONT}" -M ${NB} -m ${SB} -N ${NB} -n ${NF} -S ${SB} -s ${SF} -p "dmenu: " "$@" ) \
|
||||
|| exit
|
||||
|
||||
_HIST_PREPEND "$cmd" &
|
||||
|
||||
case $cmd in
|
||||
Ƒ*) flatpak run "${cmd#Ƒ }" ;;
|
||||
!*) exec foot -e -T "${cmd#!}" "${cmd#!}" ;;
|
||||
*) exec $cmd & ;;
|
||||
esac
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
. $HOME/.config/dmenu/dmenurc && $DMENU $@
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
set -a; . "${HOME}/.config/secrets/hass"; set +a
|
||||
# curl -s -X GET \
|
||||
# -H "Authorization: Bearer ${token}" \
|
||||
# -H "Content-Type: application/json" \
|
||||
# https://hass.dafu.dev/api/states
|
||||
#
|
||||
|
||||
curl -s -X POST \
|
||||
-H "Authorization: Bearer ${token}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"entity_id":"switch.'${1}'"}' \
|
||||
https://hass.dafu.dev/api/services/switch/toggle || notify-send "${1} failed"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
(nmcli con show --active | grep CR_5G)&>/dev/null || \
|
||||
nmcli connection up CR_5G
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
url=$(wl-paste)
|
||||
notify-send "Playing on pi: $url"
|
||||
# url="https://youtu.be/LbkO84MsmyM?list=PL1Yf6ZEJhckBun3ijEL7DjtxUQ_DlFq-U"
|
||||
# ssh set env
|
||||
# url="https://stream.dafu.dev/Items/87d4b7901f7615ebbb270738825d640c/Download?api_key=6089eeeb929f4be98667fb4d19046041"
|
||||
mpvcmd="mpv --save-position-on-quit -fs -gpu-api=opengl -hls-bitrate=3000000 --fullscreen ${url}"
|
||||
|
||||
ssh pi -t "WAYLAND_DISPLAY=wayland-0 dtach -n /tmp/xmpv ${mpvcmd}"
|
||||
# ssh pi -t "tmux start-server \; new-session -d -A -s mpv \; new-window -d '${mpvcmd}'"
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
url=$(wl-paste)
|
||||
notify-send "Playing: $url"
|
||||
mpv --log-file=/tmp/mpv_output.txt "$url" || notify-send "mpv failed"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
flatpak run org.mozilla.firefox $@
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
flatpak run org.remmina.Remmina -c \
|
||||
.var/app/org.remmina.Remmina/data/remmina/group_vnc_pi_192-168-5-21.remmina
|
||||
Executable
+1
@@ -0,0 +1 @@
|
||||
sudo screen /dev/ttyUSB0 11520,ixon
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
# https://github.com/jtheoof/swappy
|
||||
grim -g "$(slurp)" - | swappy -f -
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
# https://github.com/jtheoof/swappy
|
||||
grim -g "$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)" - | swappy -f -
|
||||
@@ -0,0 +1,95 @@
|
||||
#!/bin/bash
|
||||
# TODO
|
||||
# - display both PCM & Master
|
||||
# - display mute status
|
||||
|
||||
# case $1 in
|
||||
# o) amixer sset PCM toggle > /dev/null ;;
|
||||
# +) amixer set PCM 2dB+ unmute > /dev/null;;
|
||||
# -) amixer set PCM 2dB- unmute > /dev/null;;
|
||||
# # *) echo -n "`amixer get Master | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'`" ; echo -n " / `amixer get PCM | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'`" ; ( amixer get Master | grep Front | grep -q off ) && echo -n " [MUTE]" ; exit;;
|
||||
# *) echo -n "`amixer get PCM | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'`" ; ( amixer get PCM | grep Front | grep -q off ) && echo -n " [MUTE]" ; exit;;
|
||||
# esac
|
||||
|
||||
|
||||
# VOLUME=`amixer get Master | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'`
|
||||
# xsetroot -name "Vol: $VOLUME"
|
||||
|
||||
# `( amixer get Master | grep Front | grep -q off ) || echo \"$(~/sh/vol) •\"`
|
||||
|
||||
# SINK="`pactl info | grep -P '^Default Sink: ' | sed 's/[^:]\+:\s\+//'`"
|
||||
|
||||
. $HOME/.dmenurc
|
||||
|
||||
SINK="`pactl info | grep -P '^Standard-Ziel: ' | sed 's/[^:]\+:\s\+//'`"
|
||||
[[ -z "$SINK" ]] && exit 1
|
||||
|
||||
if [[ "$SINK" =~ DragonFly ]]; then
|
||||
INCR='24'
|
||||
MIN_VOLUME=65050
|
||||
MAX_VOLUME=65146
|
||||
else
|
||||
INCR='2%'
|
||||
MIN_VOLUME=0
|
||||
MAX_VOLUME=65536
|
||||
fi
|
||||
|
||||
function volume() {
|
||||
VOLUME="`pacmd dump | grep -P '^set-sink-volume.*\s+0x[1-9a-f][0-9a-f]*$'`"
|
||||
echo "$VOLUME" | grep -qF "$SINK"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
VOLUME="`echo "$VOLUME" | grep -oP '0x[1-9a-f][0-9a-f]*$'`"
|
||||
printf "%d\n" "$VOLUME"
|
||||
else
|
||||
echo 0
|
||||
fi
|
||||
unset VOLUME
|
||||
}
|
||||
|
||||
# volume
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
notify-send "Usage: $0 <up | down | mute | unmute | toggle>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
"+")
|
||||
pactl -- set-sink-volume "$SINK" "+$INCR"
|
||||
VOLUME="`volume`"
|
||||
if [[ $VOLUME -gt $MAX_VOLUME ]]; then
|
||||
pactl -- set-sink-volume "$SINK" "$MAX_VOLUME"
|
||||
fi
|
||||
;;
|
||||
"-")
|
||||
pactl -- set-sink-volume "$SINK" "-$INCR"
|
||||
VOLUME="`volume`"
|
||||
if [[ $VOLUME -lt $MIN_VOLUME ]]; then
|
||||
pactl -- set-sink-volume "$SINK" "$MIN_VOLUME"
|
||||
fi
|
||||
;;
|
||||
mute)
|
||||
pactl -- set-sink-mute "$SINK" 1
|
||||
;;
|
||||
unmute)
|
||||
pactl -- set-sink-mute "$SINK" 0
|
||||
;;
|
||||
switch)
|
||||
pactl list short sinks | awk 'BEGIN {FS=" "}; {print $2}' | $DMENU -p "Output: " -l 3 | xargs -r pactl set-default-sink
|
||||
;;
|
||||
toggle)
|
||||
MUTED="`pacmd dump | grep -P '^set-sink-mute.*\s+yes$'`"
|
||||
echo "$MUTED" | grep -qF "$SINK"
|
||||
if [[ $? -eq 0 ]]; then
|
||||
pactl -- set-sink-mute "$SINK" 0
|
||||
else
|
||||
pactl -- set-sink-mute "$SINK" 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
notify-send "Unknown command: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# volume
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
(nmcli con show --active | grep PR_WRK) > /dev/null 2>&1 || \
|
||||
nmcli connection up PR_WRK && killall -USR1 i3status
|
||||
|
||||
# swaymsg workspace 9:9
|
||||
mmsg -s -t 9
|
||||
|
||||
flatpak run org.remmina.Remmina -c \
|
||||
"${HOME}/.var/app/org.remmina.Remmina/data/remmina/group_rdp_wrk_10-0-10-224.remmina"
|
||||
@@ -0,0 +1,5 @@
|
||||
NF="#707880"
|
||||
NB="#1d1f21"
|
||||
SF="#1d1f21"
|
||||
SB="#f0c674"
|
||||
DMENU="dmenu -fn monospace:size=8 -nb #1d1f21 -nf #707880 -sb #f0c674 -sf #1d1f21"
|
||||
@@ -0,0 +1,24 @@
|
||||
[global]
|
||||
monitor = 1
|
||||
frame_width = 0
|
||||
frame_color = "#b4befe"
|
||||
separator_color= frame
|
||||
highlight = "#74c7ec"
|
||||
background = "#1e1e2e"
|
||||
foreground = "#cdd6f4"
|
||||
progress_bar_corners = top-left,bottom-right
|
||||
offset = (15, 25)
|
||||
gap_size = 5
|
||||
format = "<b> %a</b>\n%s\n\n<i>%b</i>"
|
||||
|
||||
[urgency_low]
|
||||
foreground = "#74c7ec"
|
||||
frame_color = "#74c7ec"
|
||||
|
||||
[urgency_normal]
|
||||
foreground = "#cdd6f4"
|
||||
frame_color = "#cdd6f4"
|
||||
|
||||
[urgency_critical]
|
||||
foreground = "#f38ba8"
|
||||
frame_color = "#f38ba8"
|
||||
@@ -0,0 +1,79 @@
|
||||
font=JetBrainsMonoNl:size=11:weight=normal
|
||||
include=/home/dafu/.config/foot/kanso.ini
|
||||
pad=10x10
|
||||
[colors]
|
||||
alpha=0.7
|
||||
|
||||
# catppuccin
|
||||
# [colors]
|
||||
# alpha=0.8
|
||||
# cursor=11111b f5e0dc
|
||||
# foreground=cdd6f4
|
||||
# background=1e1e2e
|
||||
#
|
||||
# regular0=45475a
|
||||
# regular1=f38ba8
|
||||
# regular2=a6e3a1
|
||||
# regular3=f9e2af
|
||||
# regular4=89b4fa
|
||||
# regular5=f5c2e7
|
||||
# regular6=94e2d5
|
||||
# regular7=bac2de
|
||||
#
|
||||
# bright0=585b70
|
||||
# bright1=f38ba8
|
||||
# bright2=a6e3a1
|
||||
# bright3=f9e2af
|
||||
# bright4=89b4fa
|
||||
# bright5=f5c2e7
|
||||
# bright6=94e2d5
|
||||
# bright7=a6adc8
|
||||
#
|
||||
# 16=fab387
|
||||
# 17=f5e0dc
|
||||
#
|
||||
# selection-foreground=cdd6f4
|
||||
# selection-background=414356
|
||||
#
|
||||
# search-box-no-match=11111b f38ba8
|
||||
# search-box-match=cdd6f4 313244
|
||||
#
|
||||
# jump-labels=11111b fab387
|
||||
# urls=89b4fa
|
||||
|
||||
# name: MAYHEM colors for Foot
|
||||
# url: https://codeberg.org/dnkl/foot
|
||||
# upstream: ${upstream}
|
||||
# author: Andrea Schiavini (original code by Casey Miller)
|
||||
|
||||
# [cursor]
|
||||
# color=c1c1c1 333333
|
||||
#
|
||||
# [colors]
|
||||
# foreground=c1c1c1
|
||||
# background=000000
|
||||
# # alternate, darker background=111113
|
||||
# selection-foreground=c1c1c1
|
||||
# selection-background=333333
|
||||
# urls=aaaaaa
|
||||
#
|
||||
# regular0=111113
|
||||
# regular1=5f8787
|
||||
# regular2=c1c1c1
|
||||
# regular3=888888
|
||||
# regular4=aaaaaa
|
||||
# regular5=999999
|
||||
# regular6=f3ecd4
|
||||
# regular7=c1c1c1
|
||||
#
|
||||
# bright0=505050
|
||||
# bright1=5f8787
|
||||
# bright2=c1c1c1
|
||||
# bright3=888888
|
||||
# bright4=aaaaaa
|
||||
# bright5=eecc6c
|
||||
# bright6=f3ecd4
|
||||
# bright7=c1c1c1
|
||||
#
|
||||
# 16=aaaaaa
|
||||
# 17=5f8787
|
||||
@@ -0,0 +1,29 @@
|
||||
[colors]
|
||||
foreground=c5c9c7
|
||||
background=090e13
|
||||
|
||||
regular0=090e13
|
||||
regular1=c4746e
|
||||
regular2=8a9a7b
|
||||
regular3=c4b28a
|
||||
regular4=8ba4b0
|
||||
regular5=a292a3
|
||||
regular6=8ea4a2
|
||||
regular7=a4a7a4
|
||||
|
||||
bright0=5c6066
|
||||
bright1=e46876
|
||||
bright2=87a987
|
||||
bright3=e6c384
|
||||
bright4=7fb4ca
|
||||
bright5=938aa9
|
||||
bright6=7aa89f
|
||||
bright7=c5c9c7
|
||||
|
||||
16=b6927b
|
||||
17=b98d7b
|
||||
|
||||
selection-foreground=c5c9c7
|
||||
selection-background=22262d
|
||||
|
||||
urls=72a7bc
|
||||
@@ -0,0 +1,20 @@
|
||||
font-style = default
|
||||
font-style-bold = default
|
||||
font-style-italic = default
|
||||
font-style-bold-italic = default
|
||||
font-synthetic-style = bold,italic,bold-italic
|
||||
mouse-hide-while-typing = true
|
||||
background-opacity = 0.9
|
||||
background-opacity-cells = true
|
||||
clipboard-read = ask
|
||||
clipboard-write = allow
|
||||
clipboard-trim-trailing-spaces = true
|
||||
clipboard-paste-protection = false
|
||||
clipboard-paste-bracketed-safe = true
|
||||
confirm-close-surface = false
|
||||
quit-after-last-window-closed = true
|
||||
bell-features = no-system,no-audio,attention,title,no-border
|
||||
bell-audio-volume = 0.5
|
||||
desktop-notifications = true
|
||||
term = xterm-ghostty
|
||||
resize-overlay = never
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
set +e
|
||||
|
||||
# obs
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots >/dev/null 2>&1
|
||||
|
||||
|
||||
# some env can't auto run the portal, so need this
|
||||
/usr/lib/xdg-desktop-portal-wlr >/dev/null 2>&1 &
|
||||
|
||||
# xwayland dpi scale
|
||||
# echo "Xft.dpi: 140" | xrdb -merge #dpi缩放
|
||||
# xrdb merge ~/.Xresources >/dev/null 2>&1
|
||||
|
||||
# dms shell
|
||||
# dms run >/dev/null 2>&1 &
|
||||
|
||||
# ime input
|
||||
# fcitx5 --replace -d >/dev/null 2>&1 &
|
||||
|
||||
# keep clipboard content
|
||||
wl-clip-persist --clipboard regular --reconnect-tries 0 >/dev/null 2>&1 &
|
||||
|
||||
# clipboard content manager
|
||||
wl-paste --type text --watch cliphist store >/dev/null 2>&1 &
|
||||
|
||||
swaybg -m full -i ~/Downloads/brandon-siu-nI7knd5sQfo-unsplash.jpg &
|
||||
|
||||
# inhibit by audio
|
||||
# sway-audio-idle-inhibit >/dev/null 2>&1 &
|
||||
|
||||
mako &
|
||||
|
||||
# Start network and bluetooth tray applets
|
||||
nm-applet --indicator &
|
||||
blueman-applet &
|
||||
|
||||
# Start waybar
|
||||
~/.config/waybar/waybar.sh &
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
# reload config
|
||||
bind=SUPER,r,spawn_shell,bash ~/.config/mango/scripts/config_check.sh
|
||||
bind=SUPER,r,reload_config
|
||||
bind=SHIFT+SUPER,e,quit
|
||||
bind=ALT,q,killclient,
|
||||
|
||||
# menu and terminal
|
||||
bind=Alt,Return,spawn,foot
|
||||
# bind=Alt,space,spawn,dms ipc call spotlight toggle
|
||||
# bind=Alt,b,spawn,dms ipc call bar toggle index 0
|
||||
bind=Alt,b,spawn,kill -SIGUSR1 $(pidof waybar)
|
||||
bind=Alt,p,spawn,~/.local/bin/sh/dmenu_run
|
||||
|
||||
|
||||
# switch window focus
|
||||
bind=Alt,Tab,focusstack,next
|
||||
bind=SUPER,u,focuslast
|
||||
# bind=ALT,Left,focusdir,left
|
||||
# bind=ALT,Right,focusdir,right
|
||||
# bind=ALT,Up,focusdir,up
|
||||
# bind=ALT,Down,focusdir,down
|
||||
|
||||
# swap window
|
||||
bind=SUPER+SHIFT,Up,exchange_client,up
|
||||
bind=SUPER+SHIFT,Down,exchange_client,down
|
||||
bind=SUPER+SHIFT,Left,exchange_client,left
|
||||
bind=SUPER+SHIFT,Right,exchange_client,right
|
||||
|
||||
# movewin
|
||||
# bind=CTRL+SHIFT,Up,movewin,+0,-50
|
||||
# bind=CTRL+SHIFT,Down,movewin,+0,+50
|
||||
# bind=CTRL+SHIFT,Left,movewin,-50,+0
|
||||
# bind=CTRL+SHIFT,Right,movewin,+50,+0
|
||||
|
||||
|
||||
# resizewin
|
||||
# bind=CTRL+ALT,Up,resizewin,+0,-50
|
||||
# bind=CTRL+ALT,Down,resizewin,+0,+50
|
||||
# bind=CTRL+ALT,Left,resizewin,-50,+0
|
||||
# bind=CTRL+ALT,Right,resizewin,+50,+0
|
||||
|
||||
# switch window status
|
||||
bind=SUPER,g,toggleglobal,
|
||||
bind=SUPER,Tab,toggleoverview,
|
||||
bind=ALT,s,togglefloating,
|
||||
bind=ALT,a,togglemaximizescreen,
|
||||
bind=ALT,f,togglefullscreen,
|
||||
bind=ALT+SHIFT,f,togglefakefullscreen,
|
||||
bind=SUPER,i,minimized,
|
||||
bind=SUPER,o,toggleoverlay,
|
||||
bind=SUPER+SHIFT,I,restore_minimized
|
||||
|
||||
bind=ALT,z,toggle_scratchpad
|
||||
|
||||
# scroller layout
|
||||
bind=ALT,e,set_proportion,1.0
|
||||
bind=ALT,x,switch_proportion_preset,
|
||||
|
||||
# tile layout
|
||||
bind=SUPER,e,incnmaster,1
|
||||
bind=SUPER,t,incnmaster,-1
|
||||
bind=ALT+SHIFT,s,zoom,
|
||||
|
||||
# switch layout
|
||||
bind=CTRL+SUPER,i,setlayout,tile
|
||||
bind=CTRL+SUPER,l,setlayout,scroller
|
||||
bind=SUPER,n,switch_layout
|
||||
|
||||
# tag switch
|
||||
bind=SUPER,Left,viewtoleft_have_client,0
|
||||
# bind=SUPER,Left,viewtoleft,0
|
||||
# bind=CTRL,Left,viewtoleft_have_client,0
|
||||
bind=SUPER,Right,viewtoright_have_client,0
|
||||
# bind=SUPER,Right,viewtoright,0
|
||||
# bind=CTRL,Right,viewtoright_have_client,0
|
||||
# bind=CTRL,Right,viewtoright_have_client,0
|
||||
bind=CTRL+SUPER,Left,tagtoleft,0
|
||||
bind=CTRL+SUPER,Right,tagtoright,0
|
||||
|
||||
bind=Alt,1,view,1,0
|
||||
bind=Alt,2,view,2,0
|
||||
bind=Alt,3,view,3,0
|
||||
bind=Alt,4,view,4,0
|
||||
bind=Alt,5,view,5,0
|
||||
bind=Alt,6,view,6,0
|
||||
bind=Alt,7,view,7,0
|
||||
bind=Alt,8,view,8,0
|
||||
bind=Alt,9,view,9,0
|
||||
|
||||
bind=Alt+Shift,1,tag,1,0
|
||||
bind=Alt+Shift,2,tag,2,0
|
||||
bind=Alt+Shift,3,tag,3,0
|
||||
bind=Alt+Shift,4,tag,4,0
|
||||
bind=Alt+Shift,5,tag,5,0
|
||||
bind=Alt+Shift,6,tag,6,0
|
||||
bind=Alt+Shift,7,tag,7,0
|
||||
bind=Alt+Shift,8,tag,8,0
|
||||
bind=Alt+Shift,9,tag,9,0
|
||||
|
||||
bind=ctrl+Super,1,toggletag,1
|
||||
bind=ctrl+Super,2,toggletag,2
|
||||
bind=ctrl+Super,3,toggletag,3
|
||||
bind=ctrl+Super,4,toggletag,4
|
||||
bind=ctrl+Super,5,toggletag,5
|
||||
bind=ctrl+Super,6,toggletag,6
|
||||
bind=ctrl+Super,7,toggletag,7
|
||||
bind=ctrl+Super,8,toggletag,8
|
||||
bind=ctrl+Super,9,toggletag,9
|
||||
|
||||
bind=Super,1,toggleview,1
|
||||
bind=Super,2,toggleview,2
|
||||
bind=Super,3,toggleview,3
|
||||
bind=Super,4,toggleview,4
|
||||
bind=Super,5,toggleview,5
|
||||
bind=Super,6,toggleview,6
|
||||
bind=Super,7,toggleview,7
|
||||
bind=Super,8,toggleview,8
|
||||
bind=Super,9,toggleview,9
|
||||
|
||||
# monitor switch
|
||||
bind=alt+shift,Left,focusmon,left
|
||||
bind=SUPER+Alt,Left,tagmon,left
|
||||
|
||||
# gaps
|
||||
bind=ALT+SHIFT,X,incgaps,1
|
||||
bind=ALT+SHIFT,Z,incgaps,-1
|
||||
bind=ALT+SHIFT,R,togglegaps
|
||||
|
||||
|
||||
# Mouse Button Bindings
|
||||
mousebind=ALT,btn_left,moveresize,curmove
|
||||
mousebind=ALT,btn_right,moveresize,curresize
|
||||
mousebind=alt,btn_middle,set_proportion,0.5
|
||||
# mousebind=SUPER+CTRL,btn_left,minimized
|
||||
# mousebind=SUPER+CTRL,btn_right,killclient
|
||||
# mousebind=SUPER+CTRL,btn_middle,togglefullscreen
|
||||
# mousebind=SUPER,btn_middle,togglemaximizescreen,0
|
||||
|
||||
# Axis Bindings
|
||||
# axisbind=SUPER,UP,viewtoleft_have_client
|
||||
# axisbind=SUPER,DOWN,viewtoright_have_client
|
||||
# axisbind=alt,UP,focusdir,left
|
||||
# axisbind=alt,DOWN,focusdir,right
|
||||
# axisbind=shift+super,UP,exchange_client,left
|
||||
# axisbind=shift+super,DOWN,exchange_client,right
|
||||
|
||||
# Gesturebind
|
||||
# gesturebind=none,left,3,focusdir,left
|
||||
# gesturebind=none,right,3,focusdir,right
|
||||
# gesturebind=none,up,3,focusdir,up
|
||||
# gesturebind=none,down,3,focusdir,down
|
||||
# gesturebind=none,left,4,viewtoleft_have_client
|
||||
# gesturebind=none,right,4,viewtoright_have_client
|
||||
# gesturebind=none,up,4,toggleoverview,1
|
||||
# gesturebind=none,down,4,toggleoverview,1
|
||||
|
||||
# brightness and volume
|
||||
bind=CTRL,comma,spawn,dms ipc call brightness decrement 2 ""
|
||||
bind=CTRL,period,spawn,dms ipc call brightness increment 2 ""
|
||||
bind=ALT,comma,spawn,dms ipc call audio decrement 3
|
||||
bind=ALT,period,spawn,dms ipc call audio increment 3
|
||||
|
||||
bind=none,XF86AudioRaiseVolume,spawn,dms ipc call audio increment 3
|
||||
bind=none,XF86AudioLowerVolume,spawn,dms ipc call audio decrement 3
|
||||
bind=none,XF86MonBrightnessUp,spawn,dms ipc call brightness increment 1
|
||||
bind=none,XF86MonBrightnessDown,spawn,dms ipc call brightness decrement 1
|
||||
|
||||
#custom app bind
|
||||
bind=SUPER,Return,spawn,google-chrome
|
||||
bind=CTRL+ALT,a,spawn_shell,grim -g "$(slurp -b '#2E2A1E55' -c '#fb751bff')" -t ppm - | satty -f -
|
||||
bind=SUPER,h,spawn,bash ~/.config/mango/scripts/hide_waybar_mango.sh
|
||||
bind=SUPER,l,spawn,dms ipc call lock lock
|
||||
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
# https://github.com/strcat/dotfiles/blob/main/.config/mango/config.conf
|
||||
# Effect
|
||||
blur=0
|
||||
blur_layer=1
|
||||
blur_optimized=1
|
||||
blur_params_num_passes = 2
|
||||
blur_params_radius = 5
|
||||
blur_params_noise = 0.02
|
||||
blur_params_brightness = 0.9
|
||||
blur_params_contrast = 0.9
|
||||
blur_params_saturation = 1.2
|
||||
|
||||
shadows = 0
|
||||
layer_shadows = 1
|
||||
shadow_only_floating=1
|
||||
shadows_size = 12
|
||||
shadows_blur = 15
|
||||
shadows_position_x = 0
|
||||
shadows_position_y = 0
|
||||
shadowscolor= 0x000000ff
|
||||
|
||||
border_radius=0
|
||||
no_radius_when_single=0
|
||||
focused_opacity=1.0
|
||||
unfocused_opacity=1.0
|
||||
# unfocused_opacity=0.85
|
||||
|
||||
# Animation Configuration
|
||||
animations=0
|
||||
layer_animations=0
|
||||
animation_type_open=fade
|
||||
animation_type_close=fade
|
||||
layer_animation_type_open=fade
|
||||
layer_animation_type_close=fade
|
||||
animation_fade_in=1
|
||||
animation_fade_out=1
|
||||
tag_animation_direction=1
|
||||
zoom_initial_ratio=0.3
|
||||
zoom_end_ratio=0.7
|
||||
fadein_begin_opacity=0.6
|
||||
fadeout_begin_opacity=0.8
|
||||
animation_duration_move=500
|
||||
animation_duration_open=400
|
||||
animation_duration_tag=350
|
||||
animation_duration_close=800
|
||||
animation_duration_focus=400
|
||||
animation_curve_open=0.46,1.0,0.29,1.1
|
||||
animation_curve_move=0.46,1.0,0.29,1
|
||||
animation_curve_tag=0.46,1.0,0.29,1
|
||||
animation_curve_close=0.08,0.92,0,1
|
||||
animation_curve_focus=0.46,1.0,0.29,1
|
||||
animation_curve_opafadeout=0.58,0.98,0.58,0.98
|
||||
animation_curve_opafadein=0.46,1.0,0.29,1
|
||||
|
||||
# Scroller Layout Setting
|
||||
scroller_structs=20
|
||||
scroller_default_proportion=0.8
|
||||
scroller_focus_center=0
|
||||
scroller_prefer_center=1
|
||||
edge_scroller_pointer_focus=1
|
||||
scroller_default_proportion_single=1.0
|
||||
scroller_proportion_preset=0.5,0.8,1.0
|
||||
|
||||
# Master-Stack Layout Setting
|
||||
new_is_master=1
|
||||
smartgaps=0
|
||||
default_mfact=0.55
|
||||
default_nmaster=1
|
||||
|
||||
# Overview Setting
|
||||
hotarea_size=10
|
||||
enable_hotarea=0
|
||||
ov_tab_mode=1
|
||||
overviewgappi=5
|
||||
overviewgappo=30
|
||||
|
||||
# Misc
|
||||
xwayland_persistence=1
|
||||
syncobj_enable=0
|
||||
# VRR is global: set adaptive_sync=1 in config.conf
|
||||
no_border_when_single=1
|
||||
axis_bind_apply_timeout=100
|
||||
focus_on_activate=1
|
||||
sloppyfocus=1
|
||||
warpcursor=1
|
||||
focus_cross_monitor=0
|
||||
focus_cross_tag=0
|
||||
circle_layout=tile,monocle,grid,tgmix
|
||||
enable_floating_snap=1
|
||||
snap_distance=50
|
||||
# cursor_size=24
|
||||
# cursor_theme=Bibata-Modern-Ice
|
||||
cursor_hide_timeout=0
|
||||
drag_tile_to_tile=1
|
||||
single_scratchpad = 1
|
||||
|
||||
# keyboard
|
||||
repeat_rate=25
|
||||
repeat_delay=600
|
||||
numlockon=1
|
||||
xkb_rules_layout=de,de
|
||||
# xkb_rules_options=ctrl:nocaps
|
||||
# xkb_rules_options=grp:alt_altgr_toggle,caps:hyper
|
||||
|
||||
# Trackpad
|
||||
disable_trackpad=0
|
||||
tap_to_click=1
|
||||
tap_and_drag=1
|
||||
drag_lock=1
|
||||
mouse_natural_scrolling=0
|
||||
trackpad_natural_scrolling=0
|
||||
disable_while_typing=1
|
||||
left_handed=0
|
||||
middle_button_emulation=0
|
||||
swipe_min_threshold=1
|
||||
#accel_profile=2
|
||||
#accel_speed=0.0
|
||||
# scroll_button=274
|
||||
# scroll_method=1
|
||||
|
||||
# Appearance
|
||||
gappih=0
|
||||
gappiv=0
|
||||
gappoh=0
|
||||
gappov=0
|
||||
scratchpad_width_ratio=0.8
|
||||
scratchpad_height_ratio=0.9
|
||||
borderpx=1
|
||||
rootcolor=0x201b14ff
|
||||
bordercolor=0x444444ff
|
||||
focuscolor=0xc9b890ff
|
||||
maximizescreencolor=0xDA7510ff
|
||||
urgentcolor=0xad401fff
|
||||
scratchpadcolor=0xc4939dff
|
||||
globalcolor=0x8d64cfff
|
||||
overlaycolor=0x89aa61ff
|
||||
|
||||
# sub config load
|
||||
source=./env.conf
|
||||
source=./bind.conf
|
||||
source=./rule.conf
|
||||
# source=./monitor.conf
|
||||
source=./tag.conf
|
||||
exec-once=~/.config/mango/autostart.sh
|
||||
|
||||
# source=./dms/outputs.conf
|
||||
source=./monitor.conf
|
||||
source=./dms/colors.conf
|
||||
@@ -0,0 +1,7 @@
|
||||
# ! Auto-generated file. Do not edit directly.
|
||||
# Remove source = ./dms/colors.conf from your config to override.
|
||||
|
||||
bordercolor = 0x00000080
|
||||
focuscolor = 0x30344680
|
||||
# focuscolor = 0xbfc2ff80
|
||||
urgentcolor = 0xffb4abff
|
||||
@@ -0,0 +1,7 @@
|
||||
# Auto-generated by DMS - do not edit manually
|
||||
border_radius=4
|
||||
gappih=4
|
||||
gappiv=4
|
||||
gappoh=4
|
||||
gappov=4
|
||||
borderpx=2
|
||||
@@ -0,0 +1,5 @@
|
||||
# Auto-generated by DMS - do not edit manually
|
||||
# VRR is global: set adaptive_sync=1 in config.conf
|
||||
|
||||
monitorrule=eDP-1,0.55,1,tile,0,1,0,2160,1920,1080,60
|
||||
monitorrule=DP-2,0.55,1,tile,0,1,0,0,3840,2160,60
|
||||
@@ -0,0 +1,11 @@
|
||||
# env=XCURSOR_SIZE,24
|
||||
# env=XCURSOR_THEME,Bibata-Modern-Ice
|
||||
# env=GTK_IM_MODULE,fcitx
|
||||
# env=QT_IM_MODULE,fcitx
|
||||
# env=SDL_IM_MODULE,fcitx
|
||||
# env=XMODIFIERS,@im=fcitx
|
||||
# env=GLFW_IM_MODULE,ibus
|
||||
# env=QT_QPA_PLATFORMTHEME,qt6ct
|
||||
# env=QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
# # env=QT_WAYLAND_FORCE_DPI,140
|
||||
# env=QT_QPA_PLATFORM,Wayland;xcb
|
||||
@@ -0,0 +1,285 @@
|
||||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
font=Maple Mono NF CN:size=20:style=Medium:antialias=true:autohint=true
|
||||
# font=monospace:size=8
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# font-size-adjustment=0.5
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# underline-thickness=<font underline thickness>
|
||||
# strikeout-thickness=<font strikeout thickness>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=no
|
||||
|
||||
initial-window-size-pixels=1500x900
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
# initial-window-mode=windowed
|
||||
# pad=0x0 # optionally append 'center'
|
||||
# resize-by-cells=yes
|
||||
# resize-keep-grid=yes
|
||||
# resize-delay-ms=100
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
selection-target=clipboard
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||
|
||||
[environment]
|
||||
# name=value
|
||||
TIMG_PIXELATION=sixel
|
||||
TERM=foot
|
||||
|
||||
[security]
|
||||
# osc52=enabled # disabled|copy-enabled|paste-enabled|enabled
|
||||
|
||||
[bell]
|
||||
# system=yes
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# visual=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[desktop-notifications]
|
||||
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
|
||||
# command-action-argument=--action ${action-name}=${action-label}
|
||||
# close=""
|
||||
# inhibit-when-focused=yes
|
||||
|
||||
|
||||
[scrollback]
|
||||
lines=999999
|
||||
# lines=1000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=""
|
||||
|
||||
[url]
|
||||
launch=xdg-open ${url}
|
||||
label-letters=jklsdfgheiunaowcmp
|
||||
osc8-underline=url-mode
|
||||
regex=(([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
|
||||
|
||||
# You can define your own regex's, by adding a section called
|
||||
# 'regex:<ID>' with a 'regex' and 'launch' key. These can then be tied
|
||||
# to a key-binding. See foot.ini(5) for details
|
||||
|
||||
# [regex:your-fancy-name]
|
||||
# regex=<a POSIX-Extended Regular Expression>
|
||||
# launch=<path to script or application> ${match}
|
||||
#
|
||||
# [key-bindings]
|
||||
# regex-launch=[your-fancy-name] Control+Shift+q
|
||||
# regex-copy=[your-fancy-name] Control+Alt+Shift+q
|
||||
|
||||
[regex:data]
|
||||
regex=((([~]{0,1}(/[^/\0]+)+)/[^\^ ]+)|([a-fA-f0-9]{7,128})|(ghp_[0-9a-zA-Z]{36})|([0-9]{4,})|([0-9a-f]{7,40})|(core-[0-9A-Za-z]+-[0-9A-Za-z]+-[0-9A-Za-z]+)|(0x[0-9a-fA-F]+)|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|([A-f0-9:]+:+[A-f0-9:]+[A-f0-9]+)|([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,})|([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
|
||||
|
||||
[key-bindings]
|
||||
regex-copy=[data] Control+Shift+o
|
||||
|
||||
|
||||
[cursor]
|
||||
style=block
|
||||
# color=<inverse foreground/background>
|
||||
# blink=no
|
||||
# blink-rate=500
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[touch]
|
||||
# long-press-delay=400
|
||||
|
||||
[colors]
|
||||
alpha=0.7
|
||||
foreground=D1B88E
|
||||
background=201b14
|
||||
# flash=7f7f00
|
||||
# flash-alpha=0.5
|
||||
|
||||
## Normal/regular colors (color palette 0-7)
|
||||
regular0=262626 #gray
|
||||
regular1=cc0000 #red
|
||||
regular2=42B63F # green
|
||||
regular3=DD9400 #yello
|
||||
regular4=DD9400 #yello
|
||||
regular5=bf78cf #purple
|
||||
regular6=74cd45 #blue-green
|
||||
regular7=D1B88E #yellow-white
|
||||
|
||||
## Bright colors (color palette 8-15)
|
||||
bright0=a79e67 #gray-green
|
||||
bright1=ef2929 # red
|
||||
bright2=8ae234 #green
|
||||
bright3=ead96b #yellow
|
||||
bright4=729fcf #blue
|
||||
bright5=ad7fa8 #pink
|
||||
bright6=ead96b #yellow
|
||||
bright7=eeeeec #light-yellow
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
|
||||
## Sixel colors
|
||||
# sixel0 = 000000
|
||||
# sixel1 = 3333cc
|
||||
# sixel2 = cc2121
|
||||
# sixel3 = 33cc33
|
||||
# sixel4 = cc33cc
|
||||
# sixel5 = 33cccc
|
||||
# sixel6 = cccc33
|
||||
# sixel7 = 878787
|
||||
# sixel8 = 424242
|
||||
# sixel9 = 545499
|
||||
# sixel10 = 994242
|
||||
# sixel11 = 549954
|
||||
# sixel12 = 995499
|
||||
# sixel13 = 549999
|
||||
# sixel14 = 999954
|
||||
# sixel15 = cccccc
|
||||
|
||||
## Misc colors
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||
# urls=<regular3>
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
# size=26
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-maximized=no
|
||||
# double-click-to-maximize=yes
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# scrollback-home=none
|
||||
# scrollback-end=none
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
|
||||
show-urls-launch=Control+Shift+j
|
||||
# show-urls-copy=none
|
||||
# show-urls-persistent=none
|
||||
# prompt-prev=Control+Shift+z
|
||||
# prompt-next=Control+Shift+x
|
||||
# unicode-input=Control+Shift+u
|
||||
# noop=none
|
||||
# quit=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return KP_Enter
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# delete-to-start=Control+u
|
||||
# delete-to-end=Control+k
|
||||
# extend-char=Shift+Right
|
||||
# extend-to-word-boundary=Control+w Control+Shift+Right
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# extend-line-down=Shift+Down
|
||||
# extend-backward-char=Shift+Left
|
||||
# extend-backward-to-word-boundary=Control+Shift+Left
|
||||
# extend-backward-to-next-whitespace=none
|
||||
# extend-line-up=Shift+Up
|
||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# unicode-input=none
|
||||
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# scrollback-home=none
|
||||
# scrollback-end=none
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[mouse-bindings]
|
||||
# scrollback-up-mouse=BTN_WHEEL_BACK
|
||||
# scrollback-down-mouse=BTN_WHEEL_FORWARD
|
||||
# font-increase=Control+BTN_WHEEL_BACK
|
||||
# font-decrease=Control+BTN_WHEEL_FORWARD
|
||||
# selection-override-modifiers=Shift
|
||||
clipboard-paste=BTN_RIGHT
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
select-extend=BTN_LEFT-5 # select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-quote = BTN_LEFT-3
|
||||
# select-row=BTN_LEFT-4
|
||||
|
||||
# vim: ft=dosini
|
||||
@@ -0,0 +1,3 @@
|
||||
# Monitor Rules
|
||||
monitorrule=name:eDP-1,width:1920,height:1080,refresh:59.999001,x:0,y:2160,scale:1,vrr:0,rr:0
|
||||
monitorrule=name:DP-,width:3840,height:2160,refresh:59.997002,x:0,y:0,scale:1,vrr:0,rr:0
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
# Window Rules
|
||||
windowrule=isfullscreen:1,appid:org.remmina.Remmina
|
||||
windowrule=tags:9,appid:org.remmina.Remmina
|
||||
|
||||
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:org.mozilla.firefox
|
||||
# windowrule=force_maximize:1,appid:org.mozilla.firefox
|
||||
|
||||
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:chromium-browser
|
||||
# windowrule=force_maximize:1,appid:chromium-browser
|
||||
|
||||
windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:google-chrome-unstable
|
||||
# windowrule=force_maximize:1,appid:google-chrome-unstable
|
||||
|
||||
#windowrule=force_maximize:1,appid:org.telegram.desktop
|
||||
#windowrule=appid:org.telegram.desktop,tags:8,
|
||||
windowrule=appid:org.telegram.desktop,istagsilent:1,isfloating:1,width:420,height:660,offsetx:95,offsety:-90,isnoborder:1,isglobal:1
|
||||
|
||||
windowrule=title:pi_mpv,isfloating:1,width:420,height:660,isnoborder:1
|
||||
|
||||
## notme
|
||||
## windowrule=isfloating:1,appid:xdg-desktop-portal-gtk,title:打开本地仓库
|
||||
## windowrule=isfloating:1,appid:xdg-desktop-portal-gtk,title:打开文件
|
||||
##
|
||||
## windowrule=isfloating:1,isnosizehint:1,title:迅雷
|
||||
## windowrule=width:800,height:900,title:迅雷
|
||||
##
|
||||
## windowrule=isfloating:1,title:Translate
|
||||
## windowrule=width:800,height:900,title:Translate
|
||||
##
|
||||
## windowrule=globalkeybinding:ctrl+alt-o,appid:com.obsproject.Studio
|
||||
## windowrule=globalkeybinding:ctrl+alt-n,appid:com.obsproject.Studio
|
||||
## # windowrule=isopensilent:1,appid:com.obsproject.Studio
|
||||
##
|
||||
## windowrule=noswallow:1,appid:flameshot
|
||||
## windowrule=isfullscreen:1,appid:flameshot
|
||||
## windowrule=animation_type_open:none,appid:flameshot
|
||||
## windowrule=animation_type_close:none,appid:flameshot
|
||||
## # windowrule=animation_type_close:none,appid:Sxiv
|
||||
##
|
||||
## windowrule=noswallow:1,title:Event Tester
|
||||
##
|
||||
## windowrule=isfloating:1,width:1500,height:900,appid:yesplaymusic
|
||||
## windowrule=animation_type_open:slide,appid:yesplaymusic
|
||||
## windowrule=animation_type_close:slide,appid:yesplaymusic
|
||||
##
|
||||
## windowrule=isfloating:1,appid:clash-verge
|
||||
## windowrule=width:1500,height:900,appid:clash-verge
|
||||
## windowrule=animation_type_open:slide,animation_type_close:slide,appid:clash-verge
|
||||
##
|
||||
## windowrule=isfloating:1,width:1500,height:900,appid:pot,title:Recognize
|
||||
## windowrule=animation_type_open:none,animation_type_close:none,isnoshadow:1,isnoradius:1,isnoborder:1,appid:^wps$,title:^wps$
|
||||
## windowrule=force_maximize:1,appid:^wpsoffice$
|
||||
##
|
||||
## windowrule=isfloating:1,appid:blueman-manager
|
||||
## windowrule=width:1500,height:900,appid:blueman-manager
|
||||
##
|
||||
## windowrule=isfloating:1,title:图片查看器
|
||||
## windowrule=isfloating:1,title:预览
|
||||
## windowrule=isfloating:1,title:图片查看
|
||||
## windowrule=isfloating:1,title:选择文件
|
||||
## windowrule=isfloating:1,title:打开文件
|
||||
## windowrule=isfloating:1,appid:python3,title:qxdrag
|
||||
## windowrule=isfloating:1,title:rofi - Networks
|
||||
##
|
||||
## windowrule=animation_type_open:zoom,title:图片查看器
|
||||
## windowrule=animation_type_open:zoom,title:图片查看
|
||||
## windowrule=animation_type_open:zoom,title:选择文件
|
||||
## windowrule=animation_type_open:zoom,title:打开文件
|
||||
## windowrule=animation_type_open:zoom,appid:python3,title:qxdrag
|
||||
## windowrule=animation_type_open:zoom,title:rofi - Networks
|
||||
##
|
||||
##
|
||||
## windowrule=isfloating:1,appid:Rofi
|
||||
## windowrule=isfloating:1,appid:qxdrag.py
|
||||
## windowrule=isfloating:1,appid:xfce-polkit
|
||||
##
|
||||
## windowrule=isnoborder:1,appid:Rofi
|
||||
## windowrule=animation_type_open:slide,appid:Rofi
|
||||
## windowrule=animation_type_close:zoom,appid:Rofi
|
||||
## windowrule=animation_type_open:zoom,appid:qxdrag.py
|
||||
## windowrule=animation_type_open:zoom,appid:python3,title:qxdrag
|
||||
## windowrule=animation_type_close:zoom,appid:qxdrag.py
|
||||
## windowrule=animation_type_close:zoom,appid:python3,title:qxdrag
|
||||
## windowrule=animation_type_close:zoom,appid:^com.gabm.satty$
|
||||
##
|
||||
## windowrule=isterm:1,appid:St
|
||||
##
|
||||
## # These applications can only strictly adhere to the tiling size when maximized
|
||||
## windowrule=force_maximize:1,appid:org.gnome.SystemMonitor
|
||||
## windowrule=force_maximize:1,appid:org.gnome.gThumb
|
||||
##
|
||||
## windowrule=tags:4,appid:Google-chrome
|
||||
## windowrule=tags:3,appid:QQ
|
||||
## windowrule=tags:2,appid:mpv
|
||||
## windowrule=tags:6,appid:obs
|
||||
##
|
||||
## windowrule=animation_type_open:none,nofadein:1,title:wechat
|
||||
## windowrule=animation_type_close:none,nofadeout:1,title:wechat
|
||||
## windowrule=isfloating:1,isoverlay:1,isnoborder:1,isunglobal:1,width:400,height:400,offsetx:9999,offsety:9999,appid:bongo-cat,title:BongoCat
|
||||
## windowrule=isfloating:1,isoverlay:1,isnoborder:1,isunglobal:1,width:280,height:200,offsetx:9999,offsety:9999,appid:mpv,title:video0 - mpv
|
||||
## windowrule=isfloating:1,isnosizehint:1,width:1500,height:900,appid:baidunetdisk,title:百度网盘
|
||||
## windowrule=isoverlay:1,appid:^com.gabm.satty$
|
||||
##
|
||||
##
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^mpv$
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^St$
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^foot$
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^obsidian$
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^Google-chrome$
|
||||
## windowrule=unfocused_opacity:1.0,focused_opacity:1.0,appid:^QQ$
|
||||
##
|
||||
## # layer rule
|
||||
## layerrule=noblur:1,noanim:1,layer_name:selection
|
||||
## layerrule=noblur:1,noanim:1,layer_name:quickshell
|
||||
## layerrule=noblur:1,noanim:1,layer_name:quickshell:popout
|
||||
## layerrule=noblur:1,noanim:1,layer_name:dms
|
||||
## layerrule=noblur:1,noanim:1,layer_name:dms:.*
|
||||
## layerrule=noblur:1,noanim:1,layer_name:dimland_layer
|
||||
## layerrule=noanim:1,noblur:1,noshadow:1,layer_name:hyprpicker
|
||||
## layerrule=noanim:1,layer_name:showkeys
|
||||
##
|
||||
##
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Change brightness level with `light`.
|
||||
# You can call this script like this:
|
||||
# brightness.sh [up|down]
|
||||
|
||||
function get_brightness {
|
||||
var=$(brightnessctl get)
|
||||
echo "${var##* }" | sed 's/[^0-9][^.]*//g'
|
||||
}
|
||||
|
||||
function send_notification {
|
||||
DIR=$(dirname "$0")
|
||||
brightness=$(get_brightness)
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/b.png"
|
||||
|
||||
# Send the notification
|
||||
dunstify "Brightness: $brightness%" -h int:value:$brightness -i /usr/share/icons/Adwaita/96x96/status/display-brightness-symbolic.symbolic.png -t 1000 --replace=555 -u low
|
||||
}
|
||||
|
||||
case $1 in
|
||||
up)
|
||||
swayosd-client --brightness +2
|
||||
# brightnessctl set +1%
|
||||
# send_notification
|
||||
;;
|
||||
down)
|
||||
swayosd-client --brightness -2
|
||||
# brightnessctl set 1%-
|
||||
# send_notification
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 获取mango命令输出并清理格式
|
||||
output=$(mango -p 2>&1 | sed -r '
|
||||
s/\x1b\[[0-9;]*[a-zA-Z]//g # 移除ANSI颜色代码
|
||||
s/ ╰─/ ╰─/g # 压缩多余空格
|
||||
s/^[[:space:]]*// # 删除行首空格
|
||||
s/[[:space:]]*$// # 删除行尾空格
|
||||
')
|
||||
|
||||
# 设置通知图标
|
||||
icon="$HOME/.config/mango/wallpaper/mango.png"
|
||||
|
||||
# 如果没有输出或输出为空,则退出
|
||||
if [[ -z "$output" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 发送通知
|
||||
notify-send --urgency=critical --icon="$icon" "Mango Status" "$output"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
ps aux | grep -v grep |grep dimland | grep -v idle | awk '{print $2}' | xargs kill
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
startd=$(pgrep waybar)
|
||||
|
||||
if [ -n "$startd" ]; then
|
||||
pkill waybar
|
||||
else
|
||||
waybar -c ~/.config/mango/waybar/config.jsonc -s ~/.config/mango/waybar/style.css
|
||||
fi
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
#swayidle -w \
|
||||
# timeout 1800 'swaylock -f -c 000000' \
|
||||
# timeout 1800 'hyprctl dispatch dpms off' \
|
||||
# resume 'hyprctl dispatch dpms on && ~/.config/hypr/scripts/restart_wlsunset.sh' \
|
||||
# timeout 300 'bash $HOME/.config/hypr/scripts/lightresume.sh dark' \
|
||||
# resume 'bash $HOME/.config/hypr/scripts/lightresume.sh resume' \
|
||||
# timeout 3600 'systemctl suspend'
|
||||
|
||||
swayidle \
|
||||
timeout 1800 'wlr-dpms off' \
|
||||
resume 'wlr-dpms on && ~/.config/mango/scripts/restart_wlsunset.sh' \
|
||||
timeout 300 'dimland -a 0.3' \
|
||||
resume 'bash ~/.config/mango/scripts/exitdim.sh'
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
enable=$(wlr-randr --json | jq --arg name "eDP-1" '.[] | select(.name == $name) | .enabled')
|
||||
if [ $enable == "true" ]; then
|
||||
wlr-randr --output eDP-1 --off
|
||||
else
|
||||
wlr-randr --output eDP-1 --on
|
||||
fi
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
set +e
|
||||
|
||||
ps aux | grep wlsunset | grep -v swayidle | grep -v restart | grep -v grep | awk '{print $2}' | xargs sudo kill
|
||||
|
||||
nohup wlsunset -T 3501 -t 3500 >> /dev/null 2<&1 &
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Function to find the first HEADLESS-* display
|
||||
find_headless_display() {
|
||||
wlr-randr --json | jq -r '.[] | select(.name | startswith("HEADLESS-")) | .name' | head -n 1
|
||||
}
|
||||
|
||||
# Get the first HEADLESS display
|
||||
HEADLESS_DISPLAY=$(find_headless_display)
|
||||
|
||||
if [ -z "$HEADLESS_DISPLAY" ]; then
|
||||
mmsg -d create_virtual_output
|
||||
notify-send "Creating virtual monitor"
|
||||
HEADLESS_DISPLAY=$(find_headless_display)
|
||||
# wlr-randr --output "$HEADLESS_DISPLAY" --pos 1926,0 --scale 1 --custom-mode 1920x1080@60Hz --on
|
||||
# wlr-randr --output eDP-1 --pos 0,0 --scale 1
|
||||
notify-send "Starting sunshine"
|
||||
sunshine &
|
||||
notify-send "Sunshine on"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Now check and toggle status
|
||||
enable=$(wlr-randr --json | jq --arg name "$HEADLESS_DISPLAY" '.[] | select(.name == $name) | .enabled')
|
||||
if [ "$enable" == "true" ]; then
|
||||
wlr-randr --output "$HEADLESS_DISPLAY" --off
|
||||
pkill sunshine
|
||||
notify-send "Sunshine off"
|
||||
mmsg -d destroy_all_virtual_output
|
||||
notify-send "Removed virtual monitor"
|
||||
wlr-randr --output eDP-1 --pos 0,0 --scale 1
|
||||
else
|
||||
wlr-randr --output "$HEADLESS_DISPLAY" --on
|
||||
sunshine &
|
||||
notify-send "Sunshine on"
|
||||
fi
|
||||
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Changes de volume of the default sink
|
||||
# Warning: This script offers no cap for volume,
|
||||
# I'd advice to not go above 150% (which is the standard cap).
|
||||
# You can call this script like this:
|
||||
# volume.sh [up|down|mute]
|
||||
|
||||
function get_volume {
|
||||
pactl get-sink-volume @DEFAULT_SINK@ | awk '{printf $5}' | cut -d '%' -f 1
|
||||
}
|
||||
|
||||
function is_mute {
|
||||
pactl get-sink-mute @DEFAULT_SINK@
|
||||
}
|
||||
|
||||
function send_notification {
|
||||
|
||||
overvolume=`get_volume`
|
||||
[[ $overvolume -gt 100 ]] && volume=100 || volume=$overvolume
|
||||
#Set correct icon
|
||||
if [[ $volume -eq 0 ]]
|
||||
then
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/nov.png"
|
||||
elif [[ $volume -lt 35 ]]
|
||||
then
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/vlow.png"
|
||||
elif [[ $volume -lt 70 ]]
|
||||
then
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/vmid.png"
|
||||
elif [[ $volume -lt 100 ]]
|
||||
then
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/vhigh.png"
|
||||
else
|
||||
icon_name="${HOME}/.config/rice_assets/Icons/vthigh.png"
|
||||
fi;
|
||||
#bn=$(( (volume + 5) / 5 ))
|
||||
|
||||
#bar=$(seq -s "" $bn | sed 's/[0-9]//g')
|
||||
|
||||
# Send the notification
|
||||
dunstify "Volume: $overvolume%" -h int:value:$volume -i /usr/share/icons/Adwaita/96x96/status/audio-volume-medium-symbolic.symbolic.png -t 1000 --replace=555 -u normal
|
||||
}
|
||||
|
||||
case $1 in
|
||||
up)
|
||||
swayosd-client --output-volume 5
|
||||
# # Set the volume on (if it was muted)
|
||||
# pactl set-sink-mute @DEFAULT_SINK@ 0 > /dev/null
|
||||
# # Up the volume (+ 5%)
|
||||
# curvol=`get_volume`
|
||||
# rem=$(( (curvol + 5) % 5 ))
|
||||
# inc="+$(( 5 - rem ))%"
|
||||
# pactl set-sink-volume @DEFAULT_SINK@ $inc > /dev/null
|
||||
# send_notification
|
||||
;;
|
||||
down)
|
||||
swayosd-client --output-volume -5
|
||||
# pactl set-sink-mute @DEFAULT_SINK@ 0 > /dev/null
|
||||
# curvol=`get_volume`
|
||||
# rem=$(( (curvol - 5) % 5 ))
|
||||
# inc="-$(( 5 + rem ))%"
|
||||
# pactl set-sink-volume @DEFAULT_SINK@ $inc > /dev/null
|
||||
# send_notification
|
||||
;;
|
||||
mute)
|
||||
# Toggle mute
|
||||
pactl set-sink-mute @DEFAULT_SINK@ toggle > /dev/null
|
||||
if [[ `is_mute` == "Mute: yes" ]] ; then
|
||||
dunstify -i "${HOME}/.config/rice_assets/Icons/mute.png" --replace=555 -u normal "Volume: Mute" -t 1000 -u critical
|
||||
else
|
||||
send_notification
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,11 @@
|
||||
# tags rule
|
||||
tagrule=id:1,layout_name:tile
|
||||
tagrule=id:2,layout_name:tile
|
||||
tagrule=id:3,layout_name:tile
|
||||
tagrule=id:4,layout_name:tile
|
||||
tagrule=id:5,layout_name:tile
|
||||
tagrule=id:6,layout_name:tile
|
||||
tagrule=id:7,layout_name:tile
|
||||
tagrule=id:8,layout_name:tile
|
||||
tagrule=id:9,layout_name:monocle
|
||||
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
# Default config for sway
|
||||
|
||||
# TODO: https://github.com/Crandel/home/blob/master/.config/sway/config
|
||||
|
||||
## monitor:
|
||||
# wlr-randr --output eDP-1 --pos 0,2160 --output DP-1 --pos 0,0
|
||||
|
||||
# COLORS
|
||||
# nord: $nf #4c566a$TR
|
||||
# nord: $nb #2e3440$TR
|
||||
# nord: $sf #ebcb8b$TR
|
||||
set {
|
||||
$TR CC
|
||||
$nf #a5adce$TR
|
||||
$nb #303446$TR
|
||||
$sf #ebcb8b$TR
|
||||
$bf $nf
|
||||
$sb $nb
|
||||
$uf $sf
|
||||
$db $nb
|
||||
}
|
||||
set {
|
||||
$mod Mod1
|
||||
$left h
|
||||
$down j
|
||||
$up k
|
||||
$right l
|
||||
|
||||
$term foot
|
||||
$menu ~/.local/bin/dmenu_run | xargs swaymsg exec --
|
||||
$clipmenu clipman pick --tool=CUSTOM -T "$HOME/.local/bin/dmenu_sh -p 'Clip:' -l 10"
|
||||
|
||||
# Mocha
|
||||
$bmenu bemenu-run --fb $nb --ff $nf --nb $nb --nf $nf --tb "#1e1e2e" --hb "#1e1e2e" --tf "#f38ba8" --hf $nf --af "#cdd6f4" --ab "#1e1e2e"
|
||||
# $bmenu bemenu-run --fb "#1e1e2e" --ff "#cdd6f4" --nb "#1e1e2e" --nf "#cdd6f4" --tb "#1e1e2e" --hb "#1e1e2e" --tf "#f38ba8" --hf "#f9e2af" --af "#cdd6f4" --ab "#1e1e2e"
|
||||
|
||||
$screenshot grim -g "$(slurp)" - | swappy -f -
|
||||
# ~/.local/bin/screenshot
|
||||
|
||||
# outputs
|
||||
$out0 eDP-1
|
||||
$out1 DP-1
|
||||
|
||||
$maximize border none, move position center, resize set width 100 ppt height 100 ppt
|
||||
}
|
||||
|
||||
|
||||
|
||||
output {
|
||||
$out0 background ~/sync/data/wall2.webp fill
|
||||
$out1 background ~/sync/data/wall2.webp fill
|
||||
|
||||
$out0 adaptive_sync on
|
||||
$out1 adaptive_sync on
|
||||
|
||||
$out0 pos 0 2170 res 1920x1080@60Hz
|
||||
$out1 pos 0 0 res 3840x2160@60Hz
|
||||
}
|
||||
|
||||
# OPTS
|
||||
# drag floating windows by holding down $mod and left mouse button.
|
||||
floating_modifier $mod normal
|
||||
focus_follows_mouse yes
|
||||
|
||||
# Key bindings
|
||||
bindsym {
|
||||
$mod+p exec $menu
|
||||
$mod+Shift+P exec $bmenu
|
||||
$mod+Return exec $term
|
||||
# $mod+Shift+p exec $clipmenu
|
||||
$mod+Shift+s exec $screenshot
|
||||
$mod+q kill
|
||||
$mod+Shift+c reload
|
||||
$mod+Shift+r restart
|
||||
$mod+Shift+e exec swaynag -t warning -m 'Do you really want to exit sway?' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
|
||||
# $mod+Tab focus next window
|
||||
# $mod+Shift+Tab focus prev window
|
||||
|
||||
# focus hjkl
|
||||
$mod+$left focus left
|
||||
$mod+$right focus right
|
||||
$mod+$up focus up
|
||||
$mod+$down focus down
|
||||
# move hjkl
|
||||
$mod+Shift+$left move left
|
||||
$mod+Shift+$right move right
|
||||
$mod+Shift+$up move up
|
||||
$mod+Shift+$down move down
|
||||
|
||||
# focus cursor keys
|
||||
$mod+Left focus left
|
||||
$mod+Down focus down
|
||||
$mod+Up focus up
|
||||
$mod+Right focus right
|
||||
# move cursor keys
|
||||
$mod+Shift+Left move left
|
||||
$mod+Shift+Down move down
|
||||
$mod+Shift+Up move up
|
||||
$mod+Shift+Right move right
|
||||
|
||||
$mod+i workspace back_and_forth
|
||||
$mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||
|
||||
# split orientation
|
||||
$mod+g split toggle
|
||||
|
||||
# toggle fullscreen mode for the focused container
|
||||
# focus the parent container
|
||||
$mod+a focus parent
|
||||
$mod+s floating toggle
|
||||
# $mod+Shift+s sticky toggle
|
||||
$mod+f fullscreen toggle
|
||||
$mod+d layout stacking
|
||||
$mod+w layout tabbed
|
||||
$mod+e layout toggle split
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
$mod+space focus mode_toggle
|
||||
|
||||
$mod+b bar mode toggle
|
||||
|
||||
# move the currently focused window to the scratchpad
|
||||
$mod+Shift+minus move scratchpad
|
||||
$mod+minus scratchpad show
|
||||
|
||||
#navigate workspaces next / previous
|
||||
$mod+Ctrl+Right workspace next
|
||||
$mod+Ctrl+Left workspace prev
|
||||
|
||||
$mod+Shift+m floating enable; sticky enable; resize set 200 175; move position 865 20;
|
||||
|
||||
XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && killall -USR1 i3status
|
||||
XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && killall -USR1 i3status
|
||||
XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && killall -USR1 i3status
|
||||
XF86AudioMicMute exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ 150% && killall -USR1 i3status
|
||||
XF86MonBrightnessUp exec --no-startup-id notify-send $(brightnessctl) && brightnessctl s +10% && killall -USR1 i3status
|
||||
XF86MonBrightnessDown exec --no-startup-id brightnessctl s 10%- && killall -USR1 i3status
|
||||
}
|
||||
|
||||
# workspace back and forth (with/without active container)
|
||||
workspace_auto_back_and_forth no
|
||||
|
||||
set {
|
||||
$ws1 1:
|
||||
$ws2 2:
|
||||
$ws3 3:3
|
||||
$ws4 4:4
|
||||
$ws5 5:5
|
||||
$ws6 6:6
|
||||
$ws7 7:7
|
||||
$ws8 8:8
|
||||
$ws9 9:9
|
||||
}
|
||||
|
||||
workspace {
|
||||
$ws1 output $out0
|
||||
$ws2 output $out0
|
||||
$ws3 output $out0
|
||||
$ws4 output $out0
|
||||
$ws5 output $out0
|
||||
$ws6 output $out0
|
||||
$ws7 output $out1
|
||||
$ws9 output $out1
|
||||
$ws9 output $out1
|
||||
}
|
||||
|
||||
# switch to workspace
|
||||
bindsym {
|
||||
$mod+1 workspace $ws1
|
||||
$mod+2 workspace $ws2
|
||||
$mod+3 workspace $ws3
|
||||
$mod+4 workspace $ws4
|
||||
$mod+5 workspace $ws5
|
||||
$mod+6 workspace $ws6
|
||||
$mod+7 workspace $ws7
|
||||
$mod+8 workspace $ws8
|
||||
$mod+9 workspace $ws9
|
||||
|
||||
# Move focused container to workspace
|
||||
$mod+Shift+1 move container to workspace $ws1
|
||||
$mod+Shift+2 move container to workspace $ws2
|
||||
$mod+Shift+3 move container to workspace $ws3
|
||||
$mod+Shift+4 move container to workspace $ws4
|
||||
$mod+Shift+5 move container to workspace $ws5
|
||||
$mod+Shift+6 move container to workspace $ws6
|
||||
$mod+Shift+7 move container to workspace $ws7
|
||||
$mod+Shift+8 move container to workspace $ws8
|
||||
$mod+Shift+9 move container to workspace $ws9
|
||||
|
||||
# Move to workspace with focused container
|
||||
$mod+Ctrl+1 move container to workspace $ws1; workspace $ws1
|
||||
$mod+Ctrl+2 move container to workspace $ws2; workspace $ws2
|
||||
$mod+Ctrl+3 move container to workspace $ws3; workspace $ws3
|
||||
$mod+Ctrl+4 move container to workspace $ws4; workspace $ws4
|
||||
$mod+Ctrl+5 move container to workspace $ws5; workspace $ws5
|
||||
$mod+Ctrl+6 move container to workspace $ws6; workspace $ws6
|
||||
$mod+Ctrl+7 move container to workspace $ws7; workspace $ws7
|
||||
$mod+Ctrl+8 move container to workspace $ws8; workspace $ws8
|
||||
$mod+Ctrl+9 move container to workspace $ws9; workspace $ws9
|
||||
}
|
||||
|
||||
# Open specific applications in floating mode
|
||||
assign {
|
||||
[app_id="org.mozilla.firefox"] $ws1
|
||||
[app_id="org.remmina.Remmina"] $ws9
|
||||
# [app_id="org.telegram.desktop"] $ws6
|
||||
# [app_id="mpv"] $ws7
|
||||
}
|
||||
|
||||
for_window {
|
||||
[app_id=".telegram."] flaoting enable
|
||||
[app_id="org.pulseaudio.pavucontrol"] floating enable
|
||||
# [app_id="mpv"] focus inhibit_idle
|
||||
[app_id="mpv"] floating enable, focus, inhibit_idle, sticky enable, resize set 400 400
|
||||
[app_id="firefox" title="Picture-in-Picture"] floating enable, resize set 400 400
|
||||
[urgent=latest] focus
|
||||
[window_type="dialog"] floating enable, resize set 700 800
|
||||
[app_id="remmina"] shortcuts_inhibitor enable
|
||||
}
|
||||
|
||||
# Status Bar:
|
||||
font Jetbrains Mono NL Light 9
|
||||
default_border pixel 1
|
||||
#smart both none
|
||||
hide_edge_borders smart
|
||||
|
||||
# focus_wrapping yes|no|force|workspace
|
||||
# focus_wrapping yes
|
||||
|
||||
|
||||
#class border backgr. text indicator child_border
|
||||
client.focused_inactive $nf $nb $sf $nf $db
|
||||
client.focused $db $nb $sf $uf $bf
|
||||
client.unfocused $db $nb $nf $db $db
|
||||
client.urgent $nb $nb $uf $uf $nf
|
||||
|
||||
bar {
|
||||
position top
|
||||
status_padding 0
|
||||
# status_edge_padding 20
|
||||
tray_padding 7
|
||||
tray_output $out0
|
||||
separator_symbol " ⋮ "
|
||||
icon_theme locolor
|
||||
strip_workspace_numbers yes
|
||||
status_command i3status -c /home/dafu/.config/sway/i3status.conf
|
||||
workspace_min_width 50
|
||||
|
||||
colors {
|
||||
#<colorclass> <border> <background> <text> <indicator> <child_border>
|
||||
separator $sf
|
||||
background $nb
|
||||
statusline $nf
|
||||
focused_workspace $nb $sf $nb
|
||||
active_workspace $nb $nb $sf
|
||||
inactive_workspace $nb $nb $nf
|
||||
urgent_workspace $nb $nb $uf
|
||||
}
|
||||
}
|
||||
|
||||
input type:touchpad events disabled
|
||||
input type:keyboard {
|
||||
xkb_layout de
|
||||
xkb_variant nodeadkeys
|
||||
xkb_options ctrl:nocaps
|
||||
}
|
||||
|
||||
# other config
|
||||
include /etc/sway/config.d/*
|
||||
|
||||
# startup
|
||||
exec --no-startup-id {
|
||||
lxpolkit
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
eval $(gnome-keyring-daemon --start)
|
||||
export SSH_AUTH_SOCK
|
||||
/usr/libexec/polkit-gnome-authentication-agent-1
|
||||
wl-paste -t text --watch clipman store
|
||||
/home/dafu/.config/rc/bin/bat_alert.sh
|
||||
# exec --no-startup-id nm-applet --sm-disable
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
# i3status configuration file.
|
||||
|
||||
general {
|
||||
colors = true
|
||||
interval = 30
|
||||
output_format = "i3bar"
|
||||
markup = "pango"
|
||||
}
|
||||
|
||||
order += "wireless _first_"
|
||||
order += "path_exists WG_LON"
|
||||
# order += "ethernet _first_"
|
||||
# order += "cpu_temperature 0"
|
||||
# order += "memory"
|
||||
# order += "load"
|
||||
# order += "disk /"
|
||||
#
|
||||
# order += "run_watch VPN"
|
||||
# run_watch TMUX {
|
||||
# pidfile = "/tmp/tmux-1000/default"
|
||||
# }
|
||||
|
||||
order += "path_exists SYNCTHING"
|
||||
order += "volume master"
|
||||
order += "battery 0"
|
||||
order += "tztime local"
|
||||
|
||||
|
||||
load {
|
||||
format = "%5min"
|
||||
}
|
||||
|
||||
path_exists WG_LON {
|
||||
path = "/sys/class/net/gb-lon-wg-303/dev_id"
|
||||
format_down = ""
|
||||
format= " lon-wg-303"
|
||||
color_good = "#a5adce"
|
||||
color_degraded = "#e5c890"
|
||||
color_bad = "#bf616a"
|
||||
}
|
||||
|
||||
path_exists SYNCTHING {
|
||||
path = "/home/dafu/.local/state/syncthing/syncthing.lock"
|
||||
format = "<span color='#e5c890'></span>"
|
||||
format_down = "<span color='#bf616a'></span>"
|
||||
}
|
||||
|
||||
cpu_temperature 0 {
|
||||
format = "%degrees°"
|
||||
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp1_input"
|
||||
color_good = "#a5adce"
|
||||
color_degraded = "#e5c890"
|
||||
color_bad = "#bf616a"
|
||||
}
|
||||
|
||||
memory {
|
||||
format = "%free"
|
||||
threshold_degraded = "10%"
|
||||
format_degraded = "MEMORY: %free"
|
||||
color_good = "#a5adce"
|
||||
color_degraded = "#e5c890"
|
||||
color_bad = "#bf616a"
|
||||
}
|
||||
|
||||
disk "/" {
|
||||
format = "%free"
|
||||
}
|
||||
|
||||
wireless _first_ {
|
||||
format_up = " %quality %essid"
|
||||
format_down = "睊"
|
||||
color_good = "#a5adce"
|
||||
color_degraded = "#e5c890"
|
||||
color_bad = "#bf616a"
|
||||
}
|
||||
|
||||
ethernet _first_ {
|
||||
format_up = " ip"
|
||||
format_down = ""
|
||||
color_good = "#a5adce"
|
||||
color_degraded = "#a5adce"
|
||||
color_bad = "#a5adce"
|
||||
|
||||
}
|
||||
|
||||
volume master {
|
||||
format = " %volume"
|
||||
format_muted = " %volume"
|
||||
device = "default"
|
||||
mixer = "Master"
|
||||
mixer_idx = 0
|
||||
}
|
||||
|
||||
battery 0 {
|
||||
format = "%status <span color='#e5c890'>%percentage</span>"
|
||||
# format = "%status <span color='#e5c890'>%percentage</span> %remaining"
|
||||
# format_degraded = "%status <span color='#bf616a'>%percentage</span> %remaining"
|
||||
format_down = "No battery"
|
||||
integer_battery_capacity = true
|
||||
last_full_capacity = true
|
||||
status_chr = ""
|
||||
status_bat = ""
|
||||
status_unk = "?"
|
||||
status_full = ""
|
||||
low_threshold = "30"
|
||||
threshold_type = "percent"
|
||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||
# colors = true
|
||||
# color_good = "#e5c890"
|
||||
# color_degraded = "#ef9f76"
|
||||
# color_bad = "#e78284"
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%d.%m. <span color='#e5c890'>%H:%M</span>"
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
color=303446
|
||||
bs-hl-color=f2d5cf
|
||||
caps-lock-bs-hl-color=f2d5cf
|
||||
caps-lock-key-hl-color=a6d189
|
||||
inside-color=00000000
|
||||
inside-clear-color=00000000
|
||||
inside-caps-lock-color=00000000
|
||||
inside-ver-color=00000000
|
||||
inside-wrong-color=00000000
|
||||
key-hl-color=a6d189
|
||||
layout-bg-color=00000000
|
||||
layout-border-color=00000000
|
||||
layout-text-color=c6d0f5
|
||||
line-color=00000000
|
||||
line-clear-color=00000000
|
||||
line-caps-lock-color=00000000
|
||||
line-ver-color=00000000
|
||||
line-wrong-color=00000000
|
||||
ring-color=babbf1
|
||||
ring-clear-color=f2d5cf
|
||||
ring-caps-lock-color=ef9f76
|
||||
ring-ver-color=8caaee
|
||||
ring-wrong-color=ea999c
|
||||
separator-color=00000000
|
||||
text-color=c6d0f5
|
||||
text-clear-color=f2d5cf
|
||||
text-caps-lock-color=ef9f76
|
||||
text-ver-color=8caaee
|
||||
text-wrong-color=ea999c
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkMenu" id="menu">
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="performance">
|
||||
<property name="label">Performance</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="balanced">
|
||||
<property name="label">Balanced</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="powersaver">
|
||||
<property name="label">Powersaver</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
// -*- mode: jsonc -*-
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"ipc": false,
|
||||
//"reload_style_on_change": true,
|
||||
"height": 18,
|
||||
"margin": "0",
|
||||
"modules-left": [
|
||||
"dwl/tags",
|
||||
// "ext/workspaces",
|
||||
"dwl/window"
|
||||
// "wlr/taskbar"
|
||||
],
|
||||
// "modules-center": [ // "mpris" ],
|
||||
"modules-right": [
|
||||
"battery",
|
||||
"pulseaudio",
|
||||
"custom/notification",
|
||||
"tray",
|
||||
"custom/power",
|
||||
"clock"
|
||||
],
|
||||
// Modules configuration
|
||||
"dwl/tags": {
|
||||
"num-tags": 9,
|
||||
"hide-vacant": false,
|
||||
"expand": true,
|
||||
"disable-click": false,
|
||||
"tag-labels": [
|
||||
],
|
||||
},
|
||||
|
||||
"ext/workspaces": {
|
||||
"format": "{icon}",
|
||||
"ignore-hidden": true,
|
||||
"on-click": "activate",
|
||||
"on-click-right": "deactivate",
|
||||
"sort-by-id": true
|
||||
},
|
||||
"dwl/window": {
|
||||
"format": "{layout} {title}",
|
||||
"max-length": 50,
|
||||
"rewrite": {
|
||||
" \\| ": ""
|
||||
}
|
||||
},
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"icon-size": 12,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"markup": true,
|
||||
"on-click": "activate",
|
||||
"on-click-right": "close",
|
||||
"ignore-list": ["Rofi", "wofi"]
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 12,
|
||||
"spacing": 12
|
||||
},
|
||||
"mpris": {
|
||||
"format": "{player_icon} {artist} - {title}",
|
||||
"format-paused": "{status_icon} <i>{artist} - {title}</i>",
|
||||
"player-icons": {
|
||||
"vivaldi-stable": "▶",
|
||||
"spotify": "",
|
||||
"default": ""
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": ""
|
||||
},
|
||||
"max-length": 80
|
||||
// "ignored-players": ["firefox"]
|
||||
},
|
||||
"custom/music": {
|
||||
"format": " {}",
|
||||
"escape": true,
|
||||
"interval": 5,
|
||||
"tooltip": false,
|
||||
"exec": "playerctl metadata --format='{{ titles }}'",
|
||||
"on-click": "playerctl play-pause",
|
||||
"max-length": 50
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
// "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
// "format-alt": "{:%d/%m/%Y}",
|
||||
"format": "{:%H:%M}"
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"tooltip": false,
|
||||
"menu": "on-click",
|
||||
"menu-file": "~/.config/waybar/battery_menu.xml",
|
||||
"menu-actions": {
|
||||
"performance": "powerprofilesctl set performance",
|
||||
"balanced": "powerprofilesctl set balanced",
|
||||
"powersaver": "powerprofilesctl set power-saver",
|
||||
},
|
||||
|
||||
// "format-alt": "{icon}",
|
||||
// "format-charging": "",
|
||||
// "format-plugged": "",
|
||||
"format-icons": ["", "", "", "", "", ""]
|
||||
},
|
||||
"pulseaudio": {
|
||||
"disable-scroll": true,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-on": "{icon}",
|
||||
"format-off": "{icon}",
|
||||
"format-connected": "{icon}",
|
||||
"format-icons": {
|
||||
"on": "",
|
||||
"off": "",
|
||||
"connected": ""
|
||||
},
|
||||
"on-click": "blueman-manager",
|
||||
"tooltip-format-connected": "{device_enumerate}"
|
||||
},
|
||||
"custom/notification": {
|
||||
"format": "{icon} {text}",
|
||||
"tooltip": false,
|
||||
"format-icons": {
|
||||
"notification": "",
|
||||
"none": "",
|
||||
"dnd-notification": "",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true
|
||||
},
|
||||
"custom/power": {
|
||||
"format" : "⏻",
|
||||
"tooltip": false,
|
||||
"on-click": "wlogout"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Catppuccin Frappé Color Palette for Waybar
|
||||
* Colors from https://github.com/catppuccin/catppuccin
|
||||
*/
|
||||
|
||||
/* Raw Catppuccin Frappé Colors */
|
||||
@define-color rosewater #f2d5cf;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color red #e78284;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color green #a6d189;
|
||||
@define-color teal #81c8be;
|
||||
@define-color sky #99d1db;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color overlay2 #949cbb;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay0 #737994;
|
||||
@define-color surface2 #626880;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface0 #414559;
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
||||
|
||||
/* GTK/Waybar Theme Variable Mappings */
|
||||
/* Widget text/foreground color */
|
||||
@define-color theme_fg_color @text;
|
||||
/* Text color for entries, views, and general content */
|
||||
@define-color theme_text_color @text;
|
||||
/* Widget base background color (#090e13 @ 70% opacity) */
|
||||
@define-color theme_bg_color rgba(9, 14, 19, 0.7);
|
||||
/* Text widgets and the like base background color (dark grey-blue) */
|
||||
@define-color theme_base_color @surface0;
|
||||
/* Base background color of selections */
|
||||
@define-color theme_selected_bg_color @lavender;
|
||||
/* Text/foreground color of selections */
|
||||
@define-color theme_selected_fg_color @base;
|
||||
|
||||
/* Disabled widgets styling */
|
||||
@define-color insensitive_bg_color @surface1;
|
||||
@define-color insensitive_fg_color @overlay1;
|
||||
@define-color insensitive_base_color @mantle;
|
||||
|
||||
/* Backdrop/unfocused window styling */
|
||||
@define-color theme_unfocused_fg_color @subtext0;
|
||||
@define-color theme_unfocused_text_color @subtext0;
|
||||
@define-color theme_unfocused_bg_color rgba(9, 14, 19, 0.7);
|
||||
@define-color theme_unfocused_base_color @mantle;
|
||||
@define-color theme_unfocused_selected_bg_color @surface2;
|
||||
@define-color theme_unfocused_selected_fg_color @text;
|
||||
|
||||
/* Border styling */
|
||||
@define-color borders @crust;
|
||||
@define-color unfocused_borders @crust;
|
||||
|
||||
/* State & Status Colors */
|
||||
@define-color warning_color @peach;
|
||||
@define-color error_color @red;
|
||||
@define-color success_color @green;
|
||||
|
||||
/* Duplicate / Fallback definitions for compatibility */
|
||||
@define-color fg_color @text;
|
||||
@define-color text_color @text;
|
||||
@define-color bg_color rgba(9, 14, 19, 0.7);
|
||||
@define-color base_color @surface0;
|
||||
@define-color selected_bg_color @lavender;
|
||||
@define-color selected_fg_color @base;
|
||||
|
||||
@define-color unfocused_fg_color @subtext0;
|
||||
@define-color unfocused_text_color @subtext0;
|
||||
@define-color unfocused_bg_color rgba(9, 14, 19, 0.7);
|
||||
@define-color unfocused_base_color @mantle;
|
||||
@define-color unfocused_selected_bg_color @surface2;
|
||||
@define-color unfocused_selected_fg_color @text;
|
||||
@@ -0,0 +1,50 @@
|
||||
/* widget text/foreground color */
|
||||
@define-color theme_fg_color #d8dee9;
|
||||
/* text color for entries, views and content in general */
|
||||
@define-color theme_text_color #d8dee9;
|
||||
/* widget base background color */
|
||||
@define-color theme_bg_color #434c5e;
|
||||
/* text widgets and the like base background color */
|
||||
@define-color theme_base_color #3b4252;
|
||||
/* base background color of selections */
|
||||
@define-color theme_selected_bg_color #8fbcbb;
|
||||
/* text/foreground color of selections */
|
||||
@define-color theme_selected_fg_color #fff;
|
||||
/* base background color of disabled widgets */
|
||||
@define-color insensitive_bg_color #404859;
|
||||
/* text foreground color of disabled widgets */
|
||||
@define-color insensitive_fg_color #8e95a4;
|
||||
/* disabled text widgets and the like base background color */
|
||||
@define-color insensitive_base_color #3b4252;
|
||||
/* widget text/foreground color on backdrop windows */
|
||||
@define-color theme_unfocused_fg_color #8e95a4;
|
||||
/* text color for entries, views and content in general on backdrop windows */
|
||||
@define-color theme_unfocused_text_color #d8dee9;
|
||||
/* widget base background color on backdrop windows */
|
||||
@define-color theme_unfocused_bg_color #434c5e;
|
||||
/* text widgets and the like base background color on backdrop windows */
|
||||
@define-color theme_unfocused_base_color #3d4455;
|
||||
/* base background color of selections on backdrop windows */
|
||||
@define-color theme_unfocused_selected_bg_color #8fbcbb;
|
||||
/* text/foreground color of selections on backdrop windows */
|
||||
@define-color theme_unfocused_selected_fg_color #2e3440;
|
||||
/* widgets main borders color */
|
||||
@define-color borders #232831;
|
||||
/* widgets main borders color on backdrop windows */
|
||||
@define-color unfocused_borders #262c36;
|
||||
/* these are pretty self explicative */
|
||||
@define-color warning_color #c3674a;
|
||||
@define-color error_color #b84f59;
|
||||
@define-color success_color #49688e;
|
||||
@define-color fg_color #d8dee9;
|
||||
@define-color text_color #d8dee9;
|
||||
@define-color bg_color #434c5e;
|
||||
@define-color base_color #3b4252;
|
||||
@define-color selected_bg_color #8fbcbb;
|
||||
@define-color selected_fg_color #fff;
|
||||
@define-color unfocused_fg_color #8e95a4;
|
||||
@define-color unfocused_text_color #d8dee9;
|
||||
@define-color unfocused_bg_color #434c5e;
|
||||
@define-color unfocused_base_color #3d4455;
|
||||
@define-color unfocused_selected_bg_color #8fbcbb;
|
||||
@define-color unfocused_selected_fg_color #2e3440;
|
||||
@@ -0,0 +1,100 @@
|
||||
@import "frappe.css";
|
||||
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
font-family: "JetBrainsMono Nerd Font Propo", "JetBrainsMono Nerd Font", monospace;
|
||||
font-size: 12px;
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
|
||||
letter-spacing: 0.2px;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
/*min-height: 0;*/
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#waybar {
|
||||
background: @theme_bg_color;
|
||||
color: @theme_fg_color;
|
||||
}
|
||||
#window,
|
||||
#mpris {
|
||||
padding: 0 0.5rem;
|
||||
}
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#custom-notification,
|
||||
#tray,
|
||||
#custom-power {
|
||||
padding: 0 0.75rem;
|
||||
}
|
||||
#tags {
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
|
||||
#tags button {
|
||||
font-weight: normal;
|
||||
border-radius: 4px;
|
||||
margin: 2px 3px;
|
||||
padding: 0px;
|
||||
min-width: 24px;
|
||||
color: rgba(198, 208, 245, 0.3);
|
||||
}
|
||||
|
||||
#tags button.occupied {
|
||||
background-color: transparent;
|
||||
color: @theme_fg_color;
|
||||
}
|
||||
|
||||
#tags button.focused {
|
||||
background-color: rgba(186, 187, 241, 0.18);
|
||||
color: @theme_selected_bg_color;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#tags button.urgent {
|
||||
/* background-color: rgba(231, 130, 132, 0.2); */
|
||||
color: @error_color;
|
||||
animation: blink 1s infinite;
|
||||
}
|
||||
|
||||
#tags button:hover {
|
||||
/* background-color: rgba(255, 255, 255, 0.08); */
|
||||
/* color: @theme_fg_color; */
|
||||
background-color: transparent;
|
||||
color: @theme_selected_bg_color;
|
||||
}
|
||||
|
||||
/* Optional: Add subtle transition for hover effects */
|
||||
#tags button {
|
||||
/* transition: all 0.2s ease-in-out; */
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0% { opacity: 1; }
|
||||
50% { opacity: 0.5; }
|
||||
100% { opacity: 1; }
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: @success_color;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
color: @warning_color;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: @theme_selected_fg_color;
|
||||
}
|
||||
|
||||
#tray button {
|
||||
padding: 0 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
#tray button:hover {
|
||||
background-color: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q waybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch main
|
||||
waybar
|
||||
Reference in New Issue
Block a user