Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f1f2d9c2e5 | |||
| e65c3331b4 | |||
| b4b2ac91c2 | |||
| 3e44c74ce8 | |||
| c0de925634 |
+2
-16
@@ -6,6 +6,8 @@
|
|||||||
!hooks/*
|
!hooks/*
|
||||||
!bin/
|
!bin/
|
||||||
!bin/*
|
!bin/*
|
||||||
|
!devcontainer/
|
||||||
|
!devcontainer/*
|
||||||
!dircolors/
|
!dircolors/
|
||||||
!dircolors/*
|
!dircolors/*
|
||||||
!git/
|
!git/
|
||||||
@@ -15,19 +17,3 @@ git/local
|
|||||||
!mksh/*
|
!mksh/*
|
||||||
!tmux/
|
!tmux/
|
||||||
!tmux/*
|
!tmux/*
|
||||||
!dmenu/
|
|
||||||
!dmenu/*
|
|
||||||
!dunst/
|
|
||||||
!dunst/*
|
|
||||||
!foot/
|
|
||||||
!foot/*
|
|
||||||
!sway/
|
|
||||||
!sway/*
|
|
||||||
!swaylock/
|
|
||||||
!swaylock/*
|
|
||||||
!ghostty/
|
|
||||||
!ghostty/**
|
|
||||||
!mango/
|
|
||||||
!mango/**
|
|
||||||
!waybar/
|
|
||||||
!waybar/**
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
. $HOME/.config/dmenu/dmenurc && $DMENU $@
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#!/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"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
(nmcli con show --active | grep CR_5G)&>/dev/null || \
|
|
||||||
nmcli connection up CR_5G
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/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}'"
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
url=$(wl-paste)
|
|
||||||
notify-send "Playing: $url"
|
|
||||||
mpv --log-file=/tmp/mpv_output.txt "$url" || notify-send "mpv failed"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
flatpak run org.mozilla.firefox $@
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
flatpak run org.remmina.Remmina -c \
|
|
||||||
.var/app/org.remmina.Remmina/data/remmina/group_vnc_pi_192-168-5-21.remmina
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
sudo screen /dev/ttyUSB0 11520,ixon
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# https://github.com/jtheoof/swappy
|
|
||||||
grim -g "$(slurp)" - | swappy -f -
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/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 -
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/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,117 @@
|
|||||||
|
# Alpine dev container with dropbear SSH access and this dotfiles repo
|
||||||
|
# pre-cloned and installed.
|
||||||
|
#
|
||||||
|
# Build:
|
||||||
|
# docker build -t dev-container \
|
||||||
|
# --build-arg USERNAME=dafu \
|
||||||
|
# --build-arg GITHUB_USER=dafu \
|
||||||
|
# devcontainer
|
||||||
|
#
|
||||||
|
# Run:
|
||||||
|
# docker run -d -p 2222:22 --name dev-container dev-container
|
||||||
|
# ssh -p 2222 dafu@localhost
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
ARG USERNAME=dafu
|
||||||
|
# public keys are pulled from https://github.com/<GITHUB_USER>.keys at build time
|
||||||
|
ARG GITHUB_USER=dafu
|
||||||
|
ARG REPO_URL=https://git.dafu.dev/dafu/dot.config.git
|
||||||
|
# gid of the docker group on the host, so it lines up with the mounted
|
||||||
|
# /var/run/docker.sock (check with: stat -c '%g' /var/run/docker.sock)
|
||||||
|
ARG DOCKER_GID=104
|
||||||
|
|
||||||
|
# edge repos, aliased so packages stay on the stable branch by default;
|
||||||
|
# pull a specific package from edge with `apk add <pkg>@edge`
|
||||||
|
RUN cat <<'EOF' > /etc/apk/repositories
|
||||||
|
https://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||||
|
https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||||
|
https://dl-cdn.alpinelinux.org/alpine/edge/testing
|
||||||
|
EOF
|
||||||
|
RUN apk update
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
dropbear htop fd fzf fzf-tmux gnupg age go-task gopass ripgrep lnav lazygit mysql-client \
|
||||||
|
nmap p7zip restic rsync shellcheck tree-sitter tree-sitter-cli tree-sitter-go tree-sitter-markdown \
|
||||||
|
tzdata zk \
|
||||||
|
git go \
|
||||||
|
neovim \
|
||||||
|
tmux \
|
||||||
|
mksh \
|
||||||
|
curl \
|
||||||
|
foot-extra-terminfo \
|
||||||
|
doas \
|
||||||
|
docker-cli \
|
||||||
|
tini
|
||||||
|
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
|
||||||
|
echo "Europe/Berlin" > /etc/timezone
|
||||||
|
ENV TZ=Europe/Berlin
|
||||||
|
|
||||||
|
# make mksh a valid login shell
|
||||||
|
RUN echo "/bin/mksh" >> /etc/shells
|
||||||
|
|
||||||
|
# create the user with mksh as its shell, no password (pubkey-only login)
|
||||||
|
RUN adduser -D -s /bin/mksh "$USERNAME"
|
||||||
|
|
||||||
|
# let the user talk to the docker socket mounted in at runtime without doas:
|
||||||
|
# reuse whatever group already owns DOCKER_GID, or create "docker" if free
|
||||||
|
RUN addgroup -g "$DOCKER_GID" docker 2>/dev/null; \
|
||||||
|
docker_group="$(getent group "$DOCKER_GID" | cut -d: -f1)" && \
|
||||||
|
addgroup "$USERNAME" "$docker_group"
|
||||||
|
|
||||||
|
# passwordless doas for package installs etc. (no password auth is set up
|
||||||
|
# for the user at all, so this must be nopass)
|
||||||
|
RUN echo "permit nopass $USERNAME as root" > /etc/doas.conf && \
|
||||||
|
chown root:root /etc/doas.conf && \
|
||||||
|
chmod 0400 /etc/doas.conf
|
||||||
|
|
||||||
|
# ssh access: authorized_keys sourced from GitHub, pubkey auth only
|
||||||
|
RUN mkdir -p "/home/$USERNAME/.ssh" && \
|
||||||
|
curl -fsSL "https://github.com/${GITHUB_USER}.keys" -o "/home/$USERNAME/.ssh/authorized_keys" && \
|
||||||
|
test -s "/home/$USERNAME/.ssh/authorized_keys" && \
|
||||||
|
chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/.ssh" && \
|
||||||
|
chmod 700 "/home/$USERNAME/.ssh" && \
|
||||||
|
chmod 600 "/home/$USERNAME/.ssh/authorized_keys"
|
||||||
|
|
||||||
|
# clone the dotfiles repo and run its installer as the login user
|
||||||
|
USER $USERNAME
|
||||||
|
RUN git clone "$REPO_URL" "/home/$USERNAME/.config" && \
|
||||||
|
"/home/$USERNAME/.config/install.sh"
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN mkdir -p /etc/dropbear
|
||||||
|
|
||||||
|
# crontab spool lives on the home-data volume so it survives rebuilds; the
|
||||||
|
# standard /var/spool/cron/crontabs path is symlinked to it so crond and
|
||||||
|
# `crontab -e` keep working with no extra flags
|
||||||
|
RUN mkdir -p "/home/$USERNAME/.crontabs" && \
|
||||||
|
touch "/home/$USERNAME/.crontabs/$USERNAME" && \
|
||||||
|
chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/.crontabs" && \
|
||||||
|
chmod 700 "/home/$USERNAME/.crontabs" && \
|
||||||
|
chmod 600 "/home/$USERNAME/.crontabs/$USERNAME" && \
|
||||||
|
mkdir -p /var/spool/cron && \
|
||||||
|
ln -s "/home/$USERNAME/.crontabs" /var/spool/cron/crontabs
|
||||||
|
|
||||||
|
RUN <<'EOF' cat > /usr/local/bin/entrypoint.sh
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# host keys are generated on first start rather than at build time, so a
|
||||||
|
# shared private key never ends up baked into the image.
|
||||||
|
for t in rsa ed25519; do
|
||||||
|
key="/etc/dropbear/dropbear_${t}_host_key"
|
||||||
|
[ -f "$key" ] || dropbearkey -t "$t" -f "$key"
|
||||||
|
done
|
||||||
|
|
||||||
|
# busybox crond daemonizes itself by default (no -f), so this returns
|
||||||
|
# immediately; tini (real PID 1) reaps it and any of its orphaned children
|
||||||
|
crond -L /dev/stdout
|
||||||
|
|
||||||
|
# -F: foreground, -E: log to stderr, -w: no root login, -s: no password auth
|
||||||
|
exec dropbear -F -E -w -s -p 22
|
||||||
|
EOF
|
||||||
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||||
|
|
||||||
|
EXPOSE 22
|
||||||
|
ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/entrypoint.sh"]
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
services:
|
||||||
|
dev:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
args:
|
||||||
|
USERNAME: dafu
|
||||||
|
GITHUB_USER: dafu
|
||||||
|
REPO_URL: https://git.dafu.dev/dafu/dot.config.git
|
||||||
|
DOCKER_GID: "104"
|
||||||
|
container_name: dev-container
|
||||||
|
hostname: dev-container
|
||||||
|
ports:
|
||||||
|
- "2222:22"
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- home-data:/home/dafu
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
home-data:
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
NF="#707880"
|
|
||||||
NB="#1d1f21"
|
|
||||||
SF="#1d1f21"
|
|
||||||
SB="#f0c674"
|
|
||||||
DMENU="dmenu -fn monospace:size=8 -nb #1d1f21 -nf #707880 -sb #f0c674 -sf #1d1f21"
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
[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"
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
[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
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/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
@@ -1,174 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,148 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
# ! 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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
# Auto-generated by DMS - do not edit manually
|
|
||||||
border_radius=4
|
|
||||||
gappih=4
|
|
||||||
gappiv=4
|
|
||||||
gappoh=4
|
|
||||||
gappov=4
|
|
||||||
borderpx=2
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# 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
|
|
||||||
@@ -1,285 +0,0 @@
|
|||||||
# -*- 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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# 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
@@ -1,122 +0,0 @@
|
|||||||
# 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
|
|
||||||
##
|
|
||||||
##
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
#!/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"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
ps aux | grep -v grep |grep dimland | grep -v idle | awk '{print $2}' | xargs kill
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/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'
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
#!/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 &
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
+18
-2
@@ -56,6 +56,12 @@ und="$(tput smul 2>/dev/null || echo '\e[4m')"
|
|||||||
# Reset
|
# Reset
|
||||||
rst="$(tput sgr 0 2>/dev/null || echo '\e[0m')" # Text Reset
|
rst="$(tput sgr 0 2>/dev/null || echo '\e[0m')" # Text Reset
|
||||||
|
|
||||||
|
# host-specific accent color (default stays as-is; override per host below)
|
||||||
|
case $HOSTNAME in
|
||||||
|
prosrvdemadev01) hostcol="$txtblu"; hostlblcol="$txtblu" ;;
|
||||||
|
*) hostcol="$txtylw"; hostlblcol="$txtgry" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# rust
|
# rust
|
||||||
export PATH=$PATH:$HOME/.cargo/bin
|
export PATH=$PATH:$HOME/.cargo/bin
|
||||||
# go
|
# go
|
||||||
@@ -191,7 +197,7 @@ PS4='[$EPOCHREALTIME] '; PS1='#'; (( USER_ID )) && PS1='→'; PS1=$'\001\r''${|
|
|||||||
\\builtin typeset e=$?
|
\\builtin typeset e=$?
|
||||||
|
|
||||||
(( e )) && REPLY+="${txtred}$e${txtgry} "
|
(( e )) && REPLY+="${txtred}$e${txtgry} "
|
||||||
{ ( [[ -n $SSH_CLIENT ]] || [[ -n $SSH_TTY ]] ) && [[ -z $TMUX ]] } && REPLY+="${ita}${txtgry}${HOSTNAME} ${rst}"
|
{ ( [[ -n $SSH_CLIENT ]] || [[ -n $SSH_TTY ]] ) && [[ -z $TMUX ]] } && REPLY+="${ita}${hostlblcol}${HOSTNAME} ${rst}"
|
||||||
# REPLY+=${USER}@${HOSTNAME%%.*}:
|
# REPLY+=${USER}@${HOSTNAME%%.*}:
|
||||||
|
|
||||||
\\builtin typeset d=${PWD:-?}/ p=~; [[ $p = ?(*/) ]] || d=${d/#$p\//\~/}
|
\\builtin typeset d=${PWD:-?}/ p=~; [[ $p = ?(*/) ]] || d=${d/#$p\//\~/}
|
||||||
@@ -208,4 +214,14 @@ PS4='[$EPOCHREALTIME] '; PS1='#'; (( USER_ID )) && PS1='→'; PS1=$'\001\r''${|
|
|||||||
print -n "\e]133;A\e\\" # foot sequence for ctrl+shift+x/z
|
print -n "\e]133;A\e\\" # foot sequence for ctrl+shift+x/z
|
||||||
|
|
||||||
\\builtin return $e
|
\\builtin return $e
|
||||||
} '"${txtylw}${bld}$PS1 ${rst}"
|
} '"${hostcol}${bld}$PS1 ${rst}"
|
||||||
|
|
||||||
|
# tmux auto-attach: bare invocation so tmux.conf's default-client-command
|
||||||
|
# grants each connection its own session grouped with "main" (shared panes,
|
||||||
|
# independent window navigation). No -exec, so if tmux is missing or
|
||||||
|
# exits/crashes for any reason, this shell just continues normally.
|
||||||
|
tmuxbin=$(\\builtin whence -p tmux 2>/dev/null)
|
||||||
|
if [[ $- = *i* ]] && [[ -t 0 ]] && [[ -z $TMUX ]] && [[ -n $tmuxbin ]]; then
|
||||||
|
"$tmuxbin"
|
||||||
|
fi
|
||||||
|
unset tmuxbin
|
||||||
|
|||||||
-282
@@ -1,282 +0,0 @@
|
|||||||
# 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
|
|
||||||
}
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
# 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>"
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
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
|
|
||||||
+8
-2
@@ -4,6 +4,12 @@ set-option -g focus-events on
|
|||||||
set -s escape-time 0
|
set -s escape-time 0
|
||||||
set -g detach-on-destroy off
|
set -g detach-on-destroy off
|
||||||
set -g destroy-unattached off
|
set -g destroy-unattached off
|
||||||
|
|
||||||
|
# bare `tmux` (no subcommand, e.g. from mkshrc's auto-attach) gets its own
|
||||||
|
# session grouped with "main" - shared panes/windows, independent per-client
|
||||||
|
# current-window navigation. Self-cleans on detach via destroy-unattached.
|
||||||
|
new-session -d -s main
|
||||||
|
set -g default-client-command "new-session -t main ; set-option destroy-unattached on"
|
||||||
# set -g default-terminal "screen-256color"
|
# set -g default-terminal "screen-256color"
|
||||||
set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
set -g history-limit 50000
|
set -g history-limit 50000
|
||||||
@@ -163,12 +169,12 @@ set-window-option -g window-status-activity-style none
|
|||||||
set-window-option -g window-status-separator ''
|
set-window-option -g window-status-separator ''
|
||||||
|
|
||||||
set -g status-left "#[fg=$COL_FG,bg=$COL_BG_DARK] #S #[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK] "
|
set -g status-left "#[fg=$COL_FG,bg=$COL_BG_DARK] #S #[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK] "
|
||||||
set -g status-right "#[fg=color230] #h "
|
set -g status-right "#{?#{==:#{host_short},prosrvdemadev01},#[fg=colour4],#[fg=color230]} #h "
|
||||||
|
|
||||||
activity_color="#{?window_activity_flag,colour1,$COL_FG}"
|
activity_color="#{?window_activity_flag,colour1,$COL_FG}"
|
||||||
status_color="#{?window_silence_flag,colour3,${activity_color}}"
|
status_color="#{?window_silence_flag,colour3,${activity_color}}"
|
||||||
|
|
||||||
set-window-option -g window-status-current-format "#[fg=$COL_BG_DARK] #{window_index} #[fg=color230]#{window_name} #[fg=$COL_BG_MEDIUM]"
|
set-window-option -g window-status-current-format "#[fg=$COL_BG_DARK] #{window_index} #{?#{==:#{host_short},prosrvdemadev01},#[fg=colour4],#[fg=color230]}#{window_name} #[fg=$COL_BG_MEDIUM]"
|
||||||
set-window-option -g window-status-format "#[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK]#[fg=${status_color},bg=$COL_BG_DARK] #{window_index} #{window_name} #[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK]"
|
set-window-option -g window-status-format "#[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK]#[fg=${status_color},bg=$COL_BG_DARK] #{window_index} #{window_name} #[fg=$COL_BG_DARK,bg=$COL_BG_VERY_DARK]"
|
||||||
|
|
||||||
set -g pane-active-border-style bg=default,fg=color240
|
set -g pane-active-border-style bg=default,fg=color240
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
<?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>
|
|
||||||
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
// -*- 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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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;
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/* 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;
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
@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);
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/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