Compare commits
6 Commits
1b3113f379
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 78b63dca58 | |||
| 3e402bbfe3 | |||
| 2ae4e39809 | |||
| 761b4e2bac | |||
| 66079e3a59 | |||
| 02d51bdb88 |
@@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
[ "$#" -eq 3 ] || { echo "Needs exactly three arguments."; exit 1; }
|
||||
|
||||
motion="$1"
|
||||
direction="$2"
|
||||
size="$3"
|
||||
|
||||
if [ "$motion" = 'expand' ]; then
|
||||
# These expand the window's given side
|
||||
case "$direction" in
|
||||
north) bspc node -z top 0 -"$size" ;;
|
||||
east) bspc node -z right "$size" 0 ;;
|
||||
south) bspc node -z bottom 0 "$size" ;;
|
||||
west) bspc node -z left -"$size" 0 ;;
|
||||
esac
|
||||
else
|
||||
# These contract the window's given side
|
||||
case "$direction" in
|
||||
north) bspc node -z top 0 "$size" ;;
|
||||
east) bspc node -z right -"$size" 0 ;;
|
||||
south) bspc node -z bottom 0 -"$size" ;;
|
||||
west) bspc node -z left "$size" 0 ;;
|
||||
esac
|
||||
fi
|
||||
@@ -1,78 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
killall picom
|
||||
killall uim-xim
|
||||
killall uim-toolbar-gtk-systray
|
||||
killall eww
|
||||
exec ~/.screenlayout/dual.sh &
|
||||
pgrep -x sxhkd > /dev/null || sxhkd -m -1 &
|
||||
setxkbmap -layout "us,ru" -option "grp:caps_toggle" &
|
||||
|
||||
bspc monitor eDP-1 -d Browsing I II III IV Coding Zettlr Messengers Admin
|
||||
bspc monitor HDMI-1 -d V VI VII
|
||||
bspc config border_width 3
|
||||
bspc config window_gap 28
|
||||
if [[ -e /tmp/grayscale ]] then
|
||||
picom --window-shader-fg=/home/greg/.config/picom/picom.conf.glsl &
|
||||
nitrogen --set-auto "/home/greg/Pictures/Wallpapers/desert_grayscale.jpg"
|
||||
bspc config focused_border_color \#747474
|
||||
bspc config presel_feedback_color \#747474
|
||||
bspc config marked_border_color \#747474
|
||||
else
|
||||
picom &
|
||||
nitrogen --restore &
|
||||
bspc config focused_border_color \#027C9B
|
||||
bspc config presel_feedback_color \#027C9B
|
||||
bspc config marked_border_color \#027C9B
|
||||
bspc config automatic_scheme alternate
|
||||
fi
|
||||
|
||||
uim-xim &
|
||||
uim-toolbar-gtk-systray &
|
||||
xmousepasteblock &
|
||||
xsel -fin </dev/null &
|
||||
killall xbindkeys
|
||||
xbindkeys &
|
||||
bspc config split_ratio 0.5
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
#bspc config focus_follows_pointer true
|
||||
|
||||
# Discord is an ass
|
||||
bspc config ignore_ewmh_focus true
|
||||
|
||||
exec ~/.config/polybar/hack/launch.sh &
|
||||
exec ~/.config/bspwm/polyhide.sh &
|
||||
|
||||
bspc rule -a zenity state=floating
|
||||
bspc rule -a Gimp desktop='^8' state=floating follow=on
|
||||
bspc rule -a Kupfer.py focus=on
|
||||
bspc rule -a Screenkey manage=off
|
||||
bspc rule -a nitrogen state=floating sticky=on
|
||||
|
||||
bspc rule -a TelegramDesktop desktop='^8' follow=off
|
||||
bspc rule -a Element desktop='^8' follow=off
|
||||
bspc rule -a WebCord desktop='^8' follow=off
|
||||
bspc rule -a superProductivity desktop='^7' follow=off
|
||||
bspc rule -a steam desktop='^9' follow=off
|
||||
|
||||
bspc rule -a matplotlib state=floating
|
||||
bspc rule -a "kitty" rectangle=800x500+560+290
|
||||
bspc rule -a "Extract" state=floating
|
||||
|
||||
bspc config pointer_modifier mod4
|
||||
|
||||
# exec ~/.config/bspwm/marked.sh &
|
||||
|
||||
if [ ! -e /tmp/startup_completed ]; then
|
||||
|
||||
pactl set-sink-volume 0 0%
|
||||
telegram-desktop &
|
||||
# element-desktop &
|
||||
# webcord &
|
||||
nextcloud &
|
||||
superproductivity &
|
||||
sleep 0.25
|
||||
touch /tmp/startup_completed
|
||||
fi
|
||||
@@ -1,41 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
pgrep -x sxhkd > /dev/null || sxhkd &
|
||||
$HOME/.config/polybar/launch.sh --hack
|
||||
setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle,grp:caps_toggle" &
|
||||
bspc monitor -d Browsing II III IV V VI Coding Zettlr Messengers Admin Gaming
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 12
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
# Discord is an ass
|
||||
bspc config ignore_ewmh_focus true
|
||||
|
||||
bspc rule -a Gimp desktop='^8' state=floating follow=on
|
||||
bspc rule -a Firefox desktop='^2'
|
||||
bspc rule -a mplayer2 state=floating
|
||||
bspc rule -a Kupfer.py focus=on
|
||||
bspc rule -a Screenkey manage=off
|
||||
|
||||
bspc rule -a TelegramDesktop desktop='^9' follow=off
|
||||
bspc rule -a Element desktop='^9' follow=off
|
||||
bspc rule -a WebCord desktop='^9' follow=off
|
||||
|
||||
bspc rule -a steam desktop='^11' state=floating
|
||||
~/.config/bspwm/games.sh
|
||||
bspc config pointer_modifier mod4
|
||||
|
||||
if [ ! -e /tmp/startup_completed ]; then
|
||||
bspc rule ...
|
||||
telegram-desktop &
|
||||
element-desktop &
|
||||
webcord &
|
||||
nextcloud &
|
||||
sleep 0.25
|
||||
bspc rule ...
|
||||
touch /tmp/startup_completed
|
||||
fi
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get the current layout
|
||||
layout=$(setxkbmap -query | grep layout | awk '{print $2}')
|
||||
|
||||
# Check if the layout is Russian
|
||||
if [ "$layout" = "ru" ]; then
|
||||
# Turn on the Caps Lock indicator (you may need to adjust this command based on your system)
|
||||
xset led named "Caps Lock"
|
||||
else
|
||||
# Turn off the Caps Lock indicator
|
||||
xset -led named "Caps Lock"
|
||||
fi
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
upd() {
|
||||
checkupdates | wc -l > /tmp/checkupdates
|
||||
}
|
||||
|
||||
if [[ ! -f /tmp/checkupdates ]]; then
|
||||
upd
|
||||
fi
|
||||
|
||||
count=$(cat /tmp/checkupdates)
|
||||
status="$count updates"
|
||||
if [[ $count -eq 0 ]]; then
|
||||
status="Up to date"
|
||||
elif [[ $count == "1" ]]; then
|
||||
status="$count update"
|
||||
fi
|
||||
echo "$status"
|
||||
|
||||
upd & disown
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
steamlib=/games/SteamLibrary # path to your steamlibrary
|
||||
mygames=$(ls $steamlib/steamapps/appmanifest_*.acf | sed 's/[^0-9]*//g') # this sed command removes everything but the digits
|
||||
|
||||
for game in $mygames; do
|
||||
bspc rule -a steam_app_$game desktop=^11 state=fullscreen floating=on
|
||||
done
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -e "/tmp/grayscale" ]]; then
|
||||
rm /tmp/grayscale
|
||||
# nitrogen --save --set-auto "/home/greg/Pictures/Wallpapers/blue_rainy_leaves.jpg"
|
||||
else
|
||||
touch /tmp/grayscale
|
||||
# nitrogen --save --set-auto "/home/greg/Pictures/Wallpapers/berlin-tower-grayscale1.jpg"
|
||||
fi
|
||||
bspc wm -r
|
||||
@@ -1 +0,0 @@
|
||||
betterlockscreen --lock
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $( bspc config window_gap ) == 28 ]; then
|
||||
bspc config window_gap 4
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $( bspc config window_gap ) == 4 ]; then
|
||||
bspc config window_gap 28
|
||||
exit
|
||||
fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
while read -r line; do
|
||||
case "$line" in
|
||||
*'marked on')
|
||||
# Get all marked windows and set their border width
|
||||
for win in $(bspc query -N -n .marked); do
|
||||
bspc config -n "$win" border_width 10
|
||||
done
|
||||
;;
|
||||
*'marked off')
|
||||
# Set border width for all windows to 2
|
||||
for win in $(bspc query -N -n .marked); do
|
||||
bspc config -n "$win" border_width 2
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done < <(bspc subscribe report node_flag)
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
for node_i in $(bspc query -N -n '.!focused.window' -d focused); do
|
||||
bspc node $node_i -g hidden;
|
||||
done
|
||||
|
||||
bspc desktop -l next
|
||||
@@ -1,14 +0,0 @@
|
||||
bspc wm -h off
|
||||
kitty --single-instance btop &
|
||||
sleep 0.1
|
||||
kitty --single-instance cava &
|
||||
sleep 0.1
|
||||
|
||||
bspwm_resize contract north 250
|
||||
sleep 0.5
|
||||
bspwm_resize expand west 100
|
||||
|
||||
bspc node older -f
|
||||
bspc wm -h on
|
||||
|
||||
ncmpcpp
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $( bspc config top_padding ) == 36 ]; then
|
||||
polybar-msg cmd hide
|
||||
sleep .0
|
||||
bspc config top_padding 0
|
||||
bspc config bottom_padding 0
|
||||
bspc config left_padding 0
|
||||
bspc config right_padding 0
|
||||
else
|
||||
bspc config top_padding 36
|
||||
bspc config bottom_padding 9
|
||||
bspc config left_padding 11
|
||||
bspc config right_padding 11
|
||||
sleep .0
|
||||
polybar-msg cmd show
|
||||
fi
|
||||
@@ -1,9 +0,0 @@
|
||||
# Check if xset q has "timeout" equal to 0 and if so, return 1
|
||||
if xset q | grep "timeout: 0" >/dev/null; then
|
||||
xset s 580 10
|
||||
echo "Suspend lock disabled"
|
||||
else
|
||||
xset s off
|
||||
echo "Suspend lock enabled"
|
||||
fi
|
||||
|
||||
22
bspwm/ptt.sh
22
bspwm/ptt.sh
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Replace 'F12' with your configured push-to-talk key
|
||||
PUSH_TO_TALK_KEY="F7"
|
||||
|
||||
# Get the window ID of the Discord application
|
||||
DISCORD_WINDOW=$(xdotool search --onlyvisible --class "discord")
|
||||
|
||||
# Loop to keep the script running
|
||||
while true; do
|
||||
# Check if the Discord window is active
|
||||
if xdotool getactivewindow getwindowname | grep -q "Discord"; then
|
||||
# Check if the push-to-talk key is pressed
|
||||
if xinput --query-state "AT Translated Set 2 keyboard" | grep -q "key$$68$$=down"; then
|
||||
# Simulate key press
|
||||
xdotool keydown $PUSH_TO_TALK_KEY
|
||||
sleep 0.1 # Hold the key down for a short duration
|
||||
xdotool keyup $PUSH_TO_TALK_KEY
|
||||
fi
|
||||
fi
|
||||
sleep 0.1 # Check every 100ms
|
||||
done
|
||||
@@ -1,34 +0,0 @@
|
||||
# Get current window size
|
||||
current_size=$(bspc query -T -n focused | jq -r '.rectangle.width, .rectangle.height')
|
||||
|
||||
#current_width=$(echo $current_size | head -n 1)
|
||||
#current_height=$(echo $current_size | tail -n 1)
|
||||
current_width=$(echo "$current_size" | sed -n '1p')
|
||||
current_height=$(echo "$current_size" | sed -n '2p')
|
||||
|
||||
# Define target size
|
||||
target_width=$1
|
||||
target_height=$2
|
||||
|
||||
echo "Current size: $current_width x $current_height"
|
||||
|
||||
# Calculate dx and dy
|
||||
dx=$((target_width - current_width))
|
||||
dy=$((target_height - current_height))
|
||||
|
||||
# Resize the window horizontally
|
||||
if [ $dx -gt 0 ]; then
|
||||
handle="right"
|
||||
else
|
||||
handle="left"
|
||||
fi
|
||||
bspc node --resize $handle ${dx#-} 0 # Use absolute value for dx
|
||||
|
||||
# Resize the window vertically
|
||||
if [ $dy -gt 0 ]; then
|
||||
handle="bottom"
|
||||
else
|
||||
handle="top"
|
||||
fi
|
||||
bspc node --resize $handle 0 ${dy#-} # Use absolute value for dy
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $( bspc config left_padding ) == 11 ]; then
|
||||
bspc config left_padding 100
|
||||
bspc config right_padding 100
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $( bspc config left_padding ) == 100 ]; then
|
||||
bspc config left_padding 200
|
||||
bspc config right_padding 200
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $( bspc config left_padding ) == 200 ]; then
|
||||
bspc config left_padding 300
|
||||
bspc config right_padding 300
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $( bspc config left_padding ) == 300 ]; then
|
||||
bspc config left_padding 11
|
||||
bspc config right_padding 11
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -1,224 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# should also work with compositor=compton, untested
|
||||
compositor=picom
|
||||
|
||||
function usage {
|
||||
|
||||
bin=$(basename $0)
|
||||
|
||||
echo
|
||||
echo "Toggle monitors between color and grayscale mode."
|
||||
echo
|
||||
echo "$bin [$compositor|nvidia|ddc|auto]"
|
||||
echo "$bin $compositor [$compositor args]"
|
||||
echo "$bin nvidia [nv mon]"
|
||||
echo "$bin ddc [ddc mon]"
|
||||
echo
|
||||
echo "$compositor: use a GLX shader to set grayscale"
|
||||
echo "nvidia: use NVIDIA proprietary driver Digital Vibrance setting to set grayscale"
|
||||
echo "ddc: use DDC/CI monitor protocol to set the monitor saturation to 0 (grayscale) if supported by monitor"
|
||||
echo "auto: use $compositor if running, otherwise nvidia if available, otherwise ddc if available"
|
||||
echo
|
||||
echo "$compositor args: in $compositor mode, optional $compositor parameters"
|
||||
echo
|
||||
echo "nv mon: in nvidia mode, an optional monitor name as enumerated by xrandr."
|
||||
echo " if unspecified, apply to all monitors managed by the NVIDIA driver"
|
||||
echo "ddc mon: in ddc mode, optional ddcutil options to identify the monitor. See 'man ddcutil'"
|
||||
echo " if unspecified, apply to the first monitor detected by ddcutil"
|
||||
echo "if invoked with no argument, auto is used."
|
||||
echo
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
function toggle_nvidia {
|
||||
|
||||
dpy=$1
|
||||
|
||||
value=$(nvidia-settings -t -q DigitalVibrance)
|
||||
|
||||
# set a value in ]-1024..0[ range to desaturate colors instead of full grayscale
|
||||
# -1024 => full grayscale
|
||||
desaturate_value=-1024
|
||||
|
||||
if (( value == $desaturate_value )); then
|
||||
value=0
|
||||
toggle_mode="color"
|
||||
else
|
||||
value=$desaturate_value
|
||||
toggle_mode="grayscale"
|
||||
fi
|
||||
|
||||
if [ -n "$dpy" ]; then
|
||||
param="[DPY:$dpy]/DigitalVibrance"
|
||||
else
|
||||
param="DigitalVibrance"
|
||||
fi
|
||||
|
||||
nvidia-settings -a ${param}=${value} > /dev/null
|
||||
}
|
||||
|
||||
function toggle_compositor {
|
||||
|
||||
|
||||
if $compositor --help | grep legacy-backends > /dev/null; then
|
||||
use_experimental_backends=1;
|
||||
grep_string="window-shader-fg"
|
||||
else
|
||||
use_experimental_backends=0;
|
||||
grep_string="glx-fshader-win"
|
||||
fi
|
||||
|
||||
if pgrep -a -x $compositor | grep $grep_string > /dev/null; then
|
||||
pkill -x $compositor
|
||||
sleep 1
|
||||
$compositor $* -b
|
||||
toggle_mode="color"
|
||||
else
|
||||
pkill -x $compositor
|
||||
sleep 1
|
||||
|
||||
if (( $use_experimental_backends == 1 )); then
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
trap 'rm -f "${tmpfile}"' EXIT
|
||||
|
||||
cat > ${tmpfile} <<EOF
|
||||
#version 330
|
||||
in vec2 texcoord;
|
||||
|
||||
uniform sampler2D tex;
|
||||
uniform float opacity;
|
||||
|
||||
vec4 default_post_processing(vec4 c);
|
||||
|
||||
vec4 window_shader() {
|
||||
vec4 c = default_post_processing(texelFetch(tex, ivec2(texcoord), 0));
|
||||
float y = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
|
||||
c = opacity*vec4(y, y, y, c.a);
|
||||
return c;
|
||||
}
|
||||
EOF
|
||||
|
||||
$compositor $* -b --backend glx --window-shader-fg ${tmpfile} 2> /dev/null
|
||||
|
||||
else
|
||||
|
||||
shader='uniform sampler2D tex; uniform float opacity; void main() { vec4 c = texture2D(tex, gl_TexCoord[0].xy); float y = dot(c.rgb, vec3(0.2126, 0.7152, 0.0722)); gl_FragColor = opacity*vec4(y, y, y, c.a); }'
|
||||
$compositor $* -b --backend glx --glx-fshader-win "${shader}" 2> /dev/null
|
||||
|
||||
fi
|
||||
|
||||
|
||||
toggle_mode="grayscale"
|
||||
fi
|
||||
}
|
||||
|
||||
function toggle_ddc {
|
||||
|
||||
out=($(ddcutil $* getvcp 8a -t))
|
||||
|
||||
if (( $? != 0 )); then
|
||||
echo "ddc: this monitor does not support saturation control"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# out array:
|
||||
#
|
||||
# VCP 8A C 100 200
|
||||
# | |
|
||||
# cur max
|
||||
|
||||
if (( ${#out[@]} != 5 )); then
|
||||
echo "ddc: unexpected output getting current saturation state"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cur_saturation=${out[3]}
|
||||
max_saturation=${out[4]}
|
||||
|
||||
# set a value in ]0..max/2[ range to desaturate colors instead of full grayscale
|
||||
# 0 => full grayscale
|
||||
desaturate_value=0
|
||||
|
||||
if (( cur_saturation == desaturate_value )); then
|
||||
new_saturation=$(( max_saturation / 2 )) # nominal saturation
|
||||
toggle_mode="color"
|
||||
else
|
||||
new_saturation=$desaturate_value
|
||||
toggle_mode="grayscale"
|
||||
fi
|
||||
|
||||
ddcutil $* setvcp 8a $new_saturation
|
||||
}
|
||||
|
||||
mode=$1
|
||||
|
||||
case $mode in
|
||||
|
||||
--help|-h)
|
||||
usage
|
||||
;;
|
||||
|
||||
$compositor)
|
||||
if ! pgrep -x $compositor > /dev/null; then
|
||||
echo "$compositor is not running"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
nvidia)
|
||||
if ! which nvidia-settings &> /dev/null; then
|
||||
echo "nvidia-settings is not installed"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
ddc)
|
||||
if ! which ddcutil &> /dev/null; then
|
||||
echo "ddcutil is not installed"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
[ -z "$mode" ] && mode=auto
|
||||
|
||||
if [ "$mode" = "auto" ]; then
|
||||
|
||||
if pgrep -x $compositor > /dev/null; then
|
||||
mode=$compositor
|
||||
elif which nvidia-settings &> /dev/null; then
|
||||
mode=nvidia
|
||||
elif which ddcutil &> /dev/null; then
|
||||
mode=ddc
|
||||
else
|
||||
echo "neither $compositor is running, nor nvidia-settings installed, nor ddcutil installed"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
usage
|
||||
fi
|
||||
|
||||
esac
|
||||
|
||||
# pass eventual remaining arguments to toggle_* function
|
||||
if (( $# > 0 )); then
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$mode" = "nvidia" ]; then
|
||||
toggle_nvidia $*
|
||||
elif [ "$mode" = "$compositor" ]; then
|
||||
toggle_compositor $*
|
||||
else
|
||||
toggle_ddc $*
|
||||
fi
|
||||
|
||||
if (( $? == 0 )); then
|
||||
echo "$mode: set to $toggle_mode"
|
||||
else
|
||||
echo "$mode: toggle failed"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
pid=$(pgrep -x picom)
|
||||
if [ -z "$pid" ]; then
|
||||
picom -b
|
||||
else
|
||||
kill $pid
|
||||
fi
|
||||
@@ -1,7 +0,0 @@
|
||||
i#!/bin/bash
|
||||
|
||||
if [ "$(xinput list-props 13 | grep "Device Enabled" | awk '{print $NF}')" -eq 0 ]; then
|
||||
xinput enable 13
|
||||
else
|
||||
xinput disable 13
|
||||
fi
|
||||
@@ -32,7 +32,7 @@
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"text": "~/.config/bspwm/checkupdates.sh",
|
||||
"text": "~/.config/fastfetch/scripts/updates.sh",
|
||||
"keyIcon": "",
|
||||
"key": ""
|
||||
},
|
||||
|
||||
2
fastfetch/scripts/fetch_update_count.sh
Executable file
2
fastfetch/scripts/fetch_update_count.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
exec checkupdates | wc -l > /tmp/checkupdates & disown
|
||||
24
fastfetch/scripts/updates.sh
Executable file
24
fastfetch/scripts/updates.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Always read from cache and return immediately
|
||||
count=$(cat /tmp/checkupdates 2>/dev/null)
|
||||
# nohup checkupdates > /tmp/checkupdates & disown
|
||||
# $(checkupdates | wc -l > /tmp/checkupdates) & disown
|
||||
|
||||
if [[ $? -ne 0 ]] || [[ -z "$count" ]]; then
|
||||
status="Unknown"
|
||||
else
|
||||
if [[ $count == "Unknown" ]]; then
|
||||
status="Unknown"
|
||||
elif [[ $count -eq 0 ]]; then
|
||||
status="Up to date"
|
||||
elif [[ $count -eq 1 ]]; then
|
||||
status="$count update"
|
||||
else
|
||||
status="$count updates"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$status"
|
||||
|
||||
exec "$HOME/.config/fastfetch/scripts/fetch_update_count.sh" & disown
|
||||
@@ -18,6 +18,8 @@ $fastTerminal = kitty --single-instance
|
||||
$fileManager = thunar
|
||||
$menu = $HOME/.config/rofi/launchers/type-1/launcher.sh & swaync-client -cp
|
||||
$recorder = $HOME/.config/rofi/scripts/dmenu_recorder.sh
|
||||
$powermenu = $HOME/.config/rofi/scripts/dmenu_powermenu.sh
|
||||
$powermodemenu = $HOME/.config/rofi/scripts/dmenu_powermodemenu.sh
|
||||
$browser = env GTK_THEME=Adwaita:light zen-browser
|
||||
$privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window
|
||||
$notificationCenter = pkill rofi & swaync-client -t -sw || notify-send --hint int:transient:1 "Error SwayNC is down"
|
||||
@@ -37,17 +39,17 @@ exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
|
||||
exec-once = swww-daemon
|
||||
exec-once = ~/.config/hypr/scripts/autofreeze_swww.sh
|
||||
exec-once = waybar & hypridle & hyprsunset &
|
||||
exec-once = eww daemon
|
||||
exec-once = mullvad-vpn
|
||||
exec-once = swaync
|
||||
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
|
||||
exec-once = ~/.config/hypr/scripts/autofreezer.sh
|
||||
exec-once = ~/.config/bspwm/checkupdates.sh
|
||||
exec-once = ~/.config/fastfetch/scripts/fetch_update_count.sh
|
||||
exec-once = copyq --start-server
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
exec-once = thunar --daemon
|
||||
exec-once = touch /tmp/toggle_ssocks
|
||||
exec-once = ~/.config/bspwm/proxy.sh &
|
||||
exec-once = ~/.config/bspwm/checkupdates.sh
|
||||
exec-once = ~/.config/hypr/scripts/toggle_proxy.sh
|
||||
exec-once = nextcloud --background &
|
||||
exec-once = [workspace 8 silent] Telegram
|
||||
# exec-once = [workspace 7 silent] superproductivity
|
||||
@@ -521,7 +523,7 @@ bind = $mainMod, B, exec, ~/.config/hypr/scripts/reserved_space.sh
|
||||
bind = $mainMod CTRL, C, exec, ~/.config/hypr/scripts/cpufreq.sh
|
||||
|
||||
# Cycle power mode
|
||||
bind = $mainMod CTRL, V, exec, ~/.config/hypr/scripts/power_profile.sh
|
||||
bind = $mainMod CTRL, V, exec, pkill rofi || $powermodemenu &
|
||||
|
||||
# Pin window
|
||||
bind = $mainMod CTRL, Y, pin, active
|
||||
@@ -569,8 +571,7 @@ bindr = $mainMod CTRL, bracketleft, pass, class:^(com.obsproject.Studio)$
|
||||
bindr = $mainMod CTRL, bracketright, pass, class:^(com.obsproject.Studio)$
|
||||
bindr = $mainMod CTRL, apostrophe, pass, class:^(com.obsproject.Studio)$
|
||||
|
||||
bind = , XF86PowerOff, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 35% & ristretto -f ~/Templates/Images/theorist.jpg & play ~/Templates/Sounds/scream.mp3
|
||||
|
||||
bind = , XF86PowerOff, exec, $powermenu
|
||||
bind = $mainMod SHIFT, p, exec, .config/hypr/scripts/random_wallpaper.sh random
|
||||
|
||||
# Disable binds temporarily
|
||||
|
||||
409
picom/picom.conf
409
picom/picom.conf
@@ -1,409 +0,0 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# Can be set per-window using rules.
|
||||
#
|
||||
# Default: false
|
||||
shadow = false;
|
||||
|
||||
# The blur radius for shadows, in pixels.
|
||||
#
|
||||
# Default: 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows.
|
||||
#
|
||||
# Range: 0.0 - 1.0
|
||||
# Default: 0.75
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels.
|
||||
#
|
||||
# Default: -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels.
|
||||
#
|
||||
# Default: -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
|
||||
#
|
||||
# Default: #000000
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Crop shadow of a window fully on a particular monitor to that monitor. This is
|
||||
# currently implemented using the X RandR extension.
|
||||
#
|
||||
# Default: false
|
||||
# crop-shadow-to-monitor = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used. Can be set per-window using rules.
|
||||
#
|
||||
# Default: false
|
||||
fading = true;
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
fade-in-step = 0.07;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
fade-out-step = 0.07;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
# Opacity of window titlebars and borders.
|
||||
#
|
||||
# Range: 0.1 - 1.0
|
||||
# Default: 1.0 (disabled)
|
||||
#frame-opacity = 0.5;
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
#
|
||||
# Default: false
|
||||
# inactive-dim-fixed = true
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
#
|
||||
# Default: 0 (disabled)
|
||||
corner-radius = 15
|
||||
|
||||
#################################
|
||||
# Blur #
|
||||
#################################
|
||||
|
||||
blur:
|
||||
{
|
||||
method = "dual_kawase";
|
||||
strength = 3;
|
||||
};
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Enable remote control via D-Bus. See the man page for more details.
|
||||
#
|
||||
# Default: false
|
||||
# dbus = true
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `egl`.
|
||||
#
|
||||
# Default: "xrender"
|
||||
backend = "glx"
|
||||
|
||||
#deprecated
|
||||
#glx-no-stencil = true;
|
||||
#deprecated
|
||||
#glx-no-rebind-pixmap = true;
|
||||
glx-copy-from-front = true;
|
||||
unredir-if-possible = false; # true for game performance, breaks overlays
|
||||
|
||||
|
||||
# Use higher precision during rendering, and apply dither when presenting the
|
||||
# rendered screen. Reduces banding artifacts, but may cause performance
|
||||
# degradation. Only works with OpenGL.
|
||||
dithered-present = false;
|
||||
|
||||
# Enable/disable VSync.
|
||||
#
|
||||
# Default: false
|
||||
vsync = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# Has nothing to do with `corner-radius`.
|
||||
#
|
||||
# Default: false
|
||||
detect-rounded-corners = false;
|
||||
|
||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# Default: false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# Default: false
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# Default: false
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds.
|
||||
#
|
||||
# Default: 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# Default: false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# Default: false
|
||||
# detect-client-leader = false
|
||||
|
||||
# Use of damage information for rendering. This cause the only the part of the
|
||||
# screen that has actually changed to be redrawn, instead of the whole screen
|
||||
# every time. Should improve performance.
|
||||
#
|
||||
# Default: false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to wait for the completion of rendering of other windows,
|
||||
# before using their content to render the current screen.
|
||||
#
|
||||
# Required for explicit sync drivers, such as nvidia.
|
||||
#
|
||||
# Default: false
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window
|
||||
# contents. Read the man page for a detailed explanation of the interface.
|
||||
#
|
||||
# Can be set per-window using rules.
|
||||
#
|
||||
# window-shader-fg = "default"
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a `window-shader-fg` that could turn opaque pixels transparent.
|
||||
#
|
||||
# Default: false
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# Default: false
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled.
|
||||
#
|
||||
# Default: 1.0 (disabled)
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them. e.g. placing a transparent window on top
|
||||
# of another window will cut a "hole" in that window, and show the desktop background
|
||||
# underneath.
|
||||
#
|
||||
# Default: false
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case insensitive.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# Default: "warn"
|
||||
# log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Rule-based per-window options.
|
||||
#
|
||||
# See WINDOW RULES section in the man page for how these work.
|
||||
rules: ({
|
||||
match = "!focused";
|
||||
},
|
||||
{
|
||||
match = "window_type = 'tooltip'";
|
||||
fade = false;
|
||||
shadow = true;
|
||||
opacity = 0.75;
|
||||
full-shadow = false;
|
||||
}, {
|
||||
match = "window_type = 'docko' || "
|
||||
"window_type = 'desktop' || "
|
||||
"_GTK_FRAME_EXTENTS@";
|
||||
blur-background = false;
|
||||
}, {
|
||||
match = "window_type != 'dock'";
|
||||
# shader = "my_shader.frag";
|
||||
}, {
|
||||
match = "window_type = 'dock' || "
|
||||
"window_type = 'desktop' || "
|
||||
"name = 'rofi - ' || "
|
||||
"name = 'rofi - ' || "
|
||||
"fullscreen";
|
||||
corner-radius = 0;
|
||||
}, {
|
||||
match = "name = 'Notification' || "
|
||||
"class_g = 'Conky' || "
|
||||
"class_g ?= 'Notify-osd' || "
|
||||
"class_g = 'Cairo-clock' || "
|
||||
"_GTK_FRAME_EXTENTS@";
|
||||
shadow = false;
|
||||
}, {
|
||||
match = "window_type = 'dock'";
|
||||
blur-background = true;
|
||||
shadow = false;
|
||||
}, {
|
||||
match = "window_type = 'dock'";
|
||||
blur-background = true;
|
||||
}, {
|
||||
match = "name = 'Eww - activate-linux'";
|
||||
blur-background = false;
|
||||
}, {
|
||||
match = "focused";
|
||||
shadow = true;
|
||||
}, {
|
||||
match = "window_type = 'ATOM'";
|
||||
frame = false;
|
||||
blur = false;
|
||||
}, {
|
||||
match = "!focusedd";
|
||||
}, {
|
||||
match = "class_i = 'thunar'";
|
||||
|
||||
}, {
|
||||
match = "name = 'rofi - アプリ'";
|
||||
animations = (
|
||||
#{
|
||||
# triggers = [ "open" ],
|
||||
# offset-x = {
|
||||
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
|
||||
# end = 0;
|
||||
# duration = "duration";
|
||||
# start = "- offsetx";
|
||||
# };
|
||||
# offset-y = {
|
||||
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
|
||||
# end = 0;
|
||||
# duration = "duration";
|
||||
# start = "- offsety";
|
||||
# };
|
||||
# shadow-offset-x = "offset-x";
|
||||
# shadow-offset-y = "offset-y * 1.1";
|
||||
# # Same as `transition-offset`
|
||||
# offsetx = "window-x - 456";
|
||||
# offsety = "window-y - 0";
|
||||
# # Duration of animation in seconds
|
||||
# duration = 0.35;
|
||||
#},
|
||||
{
|
||||
triggers = [ "open" ],
|
||||
preset = "slide-in";
|
||||
direction = "left";
|
||||
duration = 0.35;
|
||||
},
|
||||
{
|
||||
triggers = [ "close" ],
|
||||
preset = "slide-out";
|
||||
direction = "right";
|
||||
duration = 0.35;
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
# `@include` directive can be used to include additional configuration files.
|
||||
# Relative paths are search either in the parent of this configuration file
|
||||
# (when the configuration is loaded through a symlink, the symlink will be
|
||||
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
|
||||
#
|
||||
# @include "extra.conf"
|
||||
|
||||
#
|
||||
# animations
|
||||
#
|
||||
animations = (
|
||||
{
|
||||
triggers = [ "open" ];
|
||||
preset = "appear";
|
||||
duration = 0.225;
|
||||
},
|
||||
{
|
||||
triggers = [ "close" ];
|
||||
preset = "disappear";
|
||||
duration = 0.225;
|
||||
},
|
||||
{
|
||||
triggers = [ "show" ];
|
||||
preset = "appear";
|
||||
},
|
||||
{
|
||||
triggers = [ "hide" ];
|
||||
preset = "disappear";
|
||||
},
|
||||
{
|
||||
triggers = [ "geometry" ];
|
||||
offset-x = {
|
||||
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
|
||||
end = 0;
|
||||
duration = "duration";
|
||||
start = "- offsetx";
|
||||
};
|
||||
offset-y = {
|
||||
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
|
||||
end = 0;
|
||||
duration = "duration";
|
||||
start = "- offsety";
|
||||
};
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y * 1.1";
|
||||
# Same as `transition-offset`
|
||||
offsetx = "window-x - window-x-before";
|
||||
offsety = "window-y - window-y-before";
|
||||
# Duration of animation in seconds
|
||||
duration = 0.35;
|
||||
}
|
||||
)
|
||||
@@ -1,18 +0,0 @@
|
||||
#version 330
|
||||
|
||||
in vec2 texcoord;
|
||||
uniform sampler2D tex;
|
||||
uniform float opacity;
|
||||
|
||||
vec4 default_post_processing(vec4 c);
|
||||
|
||||
vec4 window_shader() {
|
||||
vec2 texsize = textureSize(tex, 0);
|
||||
vec4 color = texture2D(tex, texcoord / texsize, 0);
|
||||
|
||||
color = vec4(vec3(0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b) * opacity, color.a * opacity);
|
||||
// color = vec4(0.0, color.g * opacity, 0.0, color.a * opacity);
|
||||
// color = vec4(color.r * opacity, 0.0, 0.0, color.a * opacity);
|
||||
|
||||
return default_post_processing(color);
|
||||
}
|
||||
@@ -1,350 +0,0 @@
|
||||
#################################
|
||||
#
|
||||
# Backend
|
||||
#
|
||||
#################################
|
||||
|
||||
# Backend to use: "xrender" or "glx".
|
||||
# GLX backend is typically much faster but depends on a sane driver.
|
||||
|
||||
# backend = "xrender";
|
||||
# backend = "xr_glx_hybrid";
|
||||
backend = "glx";
|
||||
vsync = true;
|
||||
|
||||
#################################
|
||||
#
|
||||
# GLX backend
|
||||
#
|
||||
#################################
|
||||
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
|
||||
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
|
||||
# but a 20% increase when only 1/4 is.
|
||||
# My tests on nouveau show terrible slowdown.
|
||||
# Useful with --glx-swap-method, as well.
|
||||
glx-copy-from-front = false;
|
||||
|
||||
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
|
||||
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
|
||||
# May break VSync and is not available on some drivers.
|
||||
# Overrides --glx-copy-from-front.
|
||||
# glx-use-copysubbuffermesa = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
|
||||
# Recommended if it works.
|
||||
|
||||
glx-no-rebind-pixmap = true;
|
||||
|
||||
|
||||
use-damage = false;
|
||||
|
||||
# Disabled to avoid artifacts painting under blur transparent windows.
|
||||
|
||||
#################################
|
||||
#
|
||||
# Shadows
|
||||
#
|
||||
#################################
|
||||
|
||||
# Enabled client-side shadows on windows.
|
||||
shadow = true;
|
||||
|
||||
|
||||
# The blur radius for shadows. (default 12)
|
||||
shadow-radius = 15;
|
||||
# The left offset for shadows. (default -15)
|
||||
shadow-offset-x = -15;
|
||||
# The top offset for shadows. (default -15)
|
||||
shadow-offset-y = -15;
|
||||
# The translucency for shadows. (default .75)
|
||||
shadow-opacity = 1;
|
||||
|
||||
# Set if you want different colour shadows
|
||||
shadow-red = 0.1;
|
||||
shadow-green = 0.1;
|
||||
shadow-blue = 0.1;
|
||||
|
||||
|
||||
|
||||
# shadow-exclude-reg = "x10+0+0";
|
||||
crop-shadow-to-monitor = false;
|
||||
|
||||
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
|
||||
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
|
||||
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes
|
||||
# shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
|
||||
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
|
||||
shadow-exclude = [
|
||||
"_GTK_FRAME_EXTENTS@:c",
|
||||
# Removed to avoid no-shadow in modal dialog windows.
|
||||
# "! name~=''",
|
||||
"name = 'Notification'",
|
||||
"name = 'Plank'",
|
||||
"name = 'Docky'",
|
||||
"name = 'Kupfer'",
|
||||
"name = 'Pensela'",
|
||||
"name = 'Drawing Board'",
|
||||
#
|
||||
# Workaround for VirtualBox empty window at launching
|
||||
"name = 'VirtualBox'",
|
||||
"name = 'VirtualBoxVM'",
|
||||
#
|
||||
# Avoid shadow in Negatron popups
|
||||
"name = 'Negatron v0.100.1' && argb",
|
||||
#
|
||||
# Avoid shadow for the XFCE alt tab TaskSwitcher
|
||||
"name ?= 'xfwm4' && argb",
|
||||
#
|
||||
# "name *= 'compton'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g = 'Kupfer'",
|
||||
"class_g = 'Synapse'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g ?= 'Cairo-dock'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"class_g ?= 'Xfce4-notifyd'",
|
||||
#
|
||||
# Exclude special Firefox/Firefox-esr/Thunderbird dropdowns.
|
||||
# Ref: https://github.com/chjj/compton/issues/247
|
||||
"class_g = 'Thunderbird' && argb",
|
||||
"class_g = 'Telegram' && argb",
|
||||
"name ?= 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu')",
|
||||
#
|
||||
# Exclude some special popup menu shadows, but Modal Windows.
|
||||
# These are more finetuning thant previous ones:
|
||||
"class_g ?= 'Thunderbird' && class_i = 'Popup' && argb",
|
||||
"class_g = 'firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Tor Browser' && (window_type = 'utility') && argb",
|
||||
"class_g = 'Navegador Tor' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g = 'Mozilla Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
|
||||
"class_g ?= 'Xfce4-power-manager'",
|
||||
#
|
||||
# Exclude Vokoscreen and VokoscreenNG area selector
|
||||
#
|
||||
"class_g ?= 'vokoscreen' && argb",
|
||||
"name = 'Área'",
|
||||
"name *= 'Cuenta regresiva'",
|
||||
"_NET_WM_WINDOW_TYPE:a *= '_KDE_NET_WM_WINDOW_TYPE_OVERRIDE'"
|
||||
# "override_redirect = true"
|
||||
];
|
||||
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
|
||||
# Deprecated, use --shadow-exclude 'bounding_shaped' or --shadow-exclude 'bounding_shaped && !rounded_corners' instead.
|
||||
shadow-ignore-shaped = false;
|
||||
|
||||
|
||||
|
||||
|
||||
#################################
|
||||
#
|
||||
# Opacity
|
||||
#
|
||||
#################################
|
||||
|
||||
|
||||
inactive-opacity = 1;
|
||||
active-opacity = 1;
|
||||
frame-opacity = 1;
|
||||
inactive-opacity-override = true;
|
||||
|
||||
|
||||
# Desaturate and darken the inactive windows
|
||||
# Dim inactive windows. (0.0 - 1.0)
|
||||
|
||||
inactive-dim = 0.5;
|
||||
inactive-dim-fixed = true;
|
||||
|
||||
|
||||
|
||||
|
||||
# Do not let dimness adjust based on window opacity.
|
||||
inactive-dim-fixed = false;
|
||||
|
||||
|
||||
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
|
||||
|
||||
#blur-background = true;
|
||||
|
||||
|
||||
# Blur background of opaque windows with transparent frames as well.
|
||||
#blur-background-frame = true;
|
||||
# Do not let blur radius adjust based on window opacity.
|
||||
#blur-background-fixed = true;
|
||||
|
||||
#blur-kern = "3x3box";
|
||||
blur-kern = "5x5box";
|
||||
#blur-kern = "5x5gaussian";
|
||||
#blur-kern = "9x9gaussian";
|
||||
|
||||
|
||||
|
||||
blur-background-exclude = [
|
||||
"class_g = 'Peek'",
|
||||
"class_g = 'Pensela'",
|
||||
"name = 'Drawing Board'",
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'dropdown_menu'",
|
||||
"window_type = 'combo'",
|
||||
"window_type = 'popup_menu'",
|
||||
"window_type = 'utility'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
opacity-exclude = [
|
||||
"name = 'Stratagus'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
#
|
||||
# Fading
|
||||
#
|
||||
#################################
|
||||
|
||||
#fading = true;
|
||||
# fade-delta = 30;
|
||||
#fade-in-step = 0.03;
|
||||
#fade-out-step = 0.03;
|
||||
fade-in-step = 0.07;
|
||||
fade-out-step = 0.07;
|
||||
# no-fading-openclose = true;
|
||||
# no-fading-destroyed-argb = true;
|
||||
fade-exclude = [ ];
|
||||
|
||||
|
||||
|
||||
#################################
|
||||
#
|
||||
# OTHER CONFIG
|
||||
#
|
||||
#################################
|
||||
|
||||
log-level = "warn";
|
||||
# log-file = "/path/to/your/log/file";
|
||||
|
||||
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
# use-ewmh-active-win = true;
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
# refresh-rate = 0;
|
||||
|
||||
corner-radius = 8;
|
||||
rounded-corners-exclude = [ "window_type = 'dock'" ];
|
||||
|
||||
vsync = true;
|
||||
|
||||
|
||||
# sw-opti = true;
|
||||
# unredir-if-possible = true;
|
||||
# unredir-if-possible-delay = 5000;
|
||||
# unredir-if-possible-exclude = [ ];
|
||||
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
invert-color-include = [ ];
|
||||
|
||||
resize-damage = 2;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#################################
|
||||
#
|
||||
# Window type settings
|
||||
#
|
||||
#################################
|
||||
wintypes:
|
||||
{
|
||||
dock = { shadow = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 1; }
|
||||
dropdown_menu = { opacity = 1; }
|
||||
|
||||
# This avoid problems with transparent windows while use-damage = true;.
|
||||
#normal = { full-shadow = true;};
|
||||
|
||||
# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#################################
|
||||
#
|
||||
# Mine
|
||||
#
|
||||
#################################
|
||||
|
||||
unredir-if-possible = true;
|
||||
use-damage = true;
|
||||
# no-ewmh-fullscreen = true;
|
||||
xinerama-shadow-crop = true;
|
||||
rules: (
|
||||
{ match = "fullscreen"; shadow = false; }
|
||||
)
|
||||
|
||||
################################
|
||||
#
|
||||
# Animations
|
||||
#
|
||||
################################
|
||||
|
||||
#animations = ({
|
||||
# triggers = [ "close", "hide" ];
|
||||
# preset = "slide-out";
|
||||
# direction = "down";
|
||||
#})
|
||||
|
||||
#################################
|
||||
#
|
||||
# Deprecated
|
||||
#
|
||||
#################################
|
||||
|
||||
|
||||
# Avoid drawing shadows on dock/panel windows.
|
||||
# This option is deprecated, you should use the wintypes option in your config file instead.
|
||||
# no-dock-shadow = false;
|
||||
|
||||
|
||||
# Don't draw shadows on DND windows.
|
||||
# This option is deprecated, you should use the wintypes option in your config file instead.
|
||||
# no-dnd-shadow = false;
|
||||
|
||||
# Option `menu-opacity` is deprecated, and will be removed.Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.
|
||||
# menu-opacity = 1;
|
||||
|
||||
# GLX backend: GLX buffer swap method we assume.
|
||||
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
|
||||
# undefined is the slowest and the safest, and the default value.
|
||||
# copy is fastest, but may fail on some drivers,
|
||||
# 2-6 are gradually slower but safer (6 is still faster than 0).
|
||||
# Usually, double buffer means 2, triple buffer means 3.
|
||||
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
|
||||
# Useless with --glx-use-copysubbuffermesa.
|
||||
# Partially breaks --resize-damage.
|
||||
# Defaults to undefined.
|
||||
# glx-swap-method has been deprecated since v6, your setting "undefined" should be replaced by `use-damage = true`
|
||||
# glx-swap-method = "undefined";
|
||||
|
||||
|
||||
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
|
||||
# "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file
|
||||
# clear-shadow = true;
|
||||
|
||||
# "alpha-step" has been removed, compton now tries to make use of all alpha values
|
||||
# alpha-step = 0.06;
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 284 KiB After Width: | Height: | Size: 282 KiB |
@@ -16,5 +16,4 @@ ln -s $image /tmp/rofi-img.png
|
||||
rofi \
|
||||
-modes drun,run,calc \
|
||||
-show drun \
|
||||
-theme /tmp/rofi-theme.rasi \
|
||||
-drun-use-desktop-cache
|
||||
-theme /tmp/rofi-theme.rasi
|
||||
|
||||
@@ -158,8 +158,7 @@ element {
|
||||
spacing: 15px;
|
||||
padding: 8px;
|
||||
border-radius: 10px;
|
||||
background-color: @background-button;
|
||||
border-color: @button-shape-top;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
24
rofi/scripts/dmenu_powermenu.sh
Executable file
24
rofi/scripts/dmenu_powermenu.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
mode=$(echo -e "\n⏻\n" | rofi \
|
||||
-modes drun,run,calc \
|
||||
-dmenu -p "Power menu" \
|
||||
-theme "$HOME/.config/rofi/styles/style-powermenu.rasi" \
|
||||
-markup-rows \
|
||||
-drun-use-desktop-cache \
|
||||
)
|
||||
|
||||
case "$mode" in
|
||||
"")
|
||||
systemctl suspend
|
||||
;;
|
||||
"⏻")
|
||||
systemctl poweroff
|
||||
;;
|
||||
"")
|
||||
systemctl reboot
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
24
rofi/scripts/dmenu_powermodemenu.sh
Executable file
24
rofi/scripts/dmenu_powermodemenu.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
mode=$(echo -e "\n\n" | rofi \
|
||||
-modes drun,run,calc \
|
||||
-dmenu -p "Power menu" \
|
||||
-theme "$HOME/.config/rofi/styles/style-powermodemenu.rasi" \
|
||||
-markup-rows \
|
||||
-drun-use-desktop-cache \
|
||||
)
|
||||
|
||||
case "$mode" in
|
||||
"")
|
||||
powerprofilesctl set power-saver
|
||||
;;
|
||||
"")
|
||||
powerprofilesctl set balanced
|
||||
;;
|
||||
"")
|
||||
powerprofilesctl set performance
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
@@ -1,9 +1,96 @@
|
||||
#!/bin/sh
|
||||
|
||||
mic_device="alsa_input.pci-0000_00_1f.3.analog-stereo"
|
||||
system_device="alsa_output.pci-0000_00_1f.3.analog-stereo.monitor"
|
||||
save_path="$HOME/Videos/rofi-recorder"
|
||||
datetime=$(date +"%d.%m.%Y %H:%M:%S")
|
||||
lockfile="/tmp/.rofi-recorder"
|
||||
|
||||
if [[ -z $lockfile ]]; then
|
||||
notify-send --hint int:transient:1 -t 1000 "Recorder" "Lockfile is present!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_total_time() {
|
||||
target_prefix=$1
|
||||
mkdir -p $save_path
|
||||
|
||||
( cd $save_path &&
|
||||
for f in $target_prefix*.mkv; do
|
||||
ffmpeg -i "$f" 2>&1 | grep "Duration" | awk '{print $2}' | tr -d ,;
|
||||
done | awk -F: '{ total += $1 * 3600 + $2 * 60 + $3 } END { print int(total/3600)":"int((total%3600)/60)":"int(total%60) }'
|
||||
)
|
||||
}
|
||||
|
||||
merge_videos() {
|
||||
target_prefix=$1
|
||||
result_prefix=$2
|
||||
touch $lockfile
|
||||
mkdir -p $save_path
|
||||
|
||||
local files=("$save_path"/$target_prefix*.mkv)
|
||||
if [[ ${#files[@]} -eq 0 ]] || [[ ! -f "${files[0]}" ]]; then
|
||||
notify-send "Error" "No MKV files found in $save_path"
|
||||
rm $lockfile
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Create output filename with timestamp
|
||||
local output_file="$save_path/$result_prefix-$datetime.mkv"
|
||||
local file_list="$save_path/$target_prefix_list.txt"
|
||||
|
||||
# Create file list in creation order (oldest first)
|
||||
find "$save_path" -maxdepth 1 -name "*$target_prefix*.mkv" -not -name "$result_prefix*.mkv" -type f -printf "%T@ %p\n" | \
|
||||
sort -n | \
|
||||
cut -d' ' -f2- > "$file_list"
|
||||
|
||||
# Convert file paths to ffmpeg concat format
|
||||
sed -i 's/^/file /' "$file_list"
|
||||
# Escape single quotes and wrap paths in single quotes for ffmpeg
|
||||
sed -i "s|file \(.*\)|file '\1'|" "$file_list"
|
||||
|
||||
# Show ongoing notification
|
||||
notify-send -u low -i video-x-generic "Merging Videos" "Merging $(wc -l < "$file_list") video files..." &
|
||||
local notify_pid=$!
|
||||
|
||||
# Merge videos using ffmpeg concat demuxer
|
||||
if ffmpeg -f concat -safe 0 -i "$file_list" -c copy "$output_file" -y 2>/dev/null; then
|
||||
# Kill the ongoing notification
|
||||
kill $notify_pid 2>/dev/null
|
||||
|
||||
# Clean up temporary file
|
||||
rm -f "$file_list"
|
||||
|
||||
# Remove lockfile
|
||||
rm $lockfile
|
||||
|
||||
action=$(notify-send -A "Nice" -A "Delete clips" "Merge Complete" \
|
||||
"Videos merged successfully into $(basename "$output_file")")
|
||||
|
||||
if [[ "$action" == "1" ]]; then
|
||||
# Delete all original MKV files except the merged one
|
||||
find "$save_path" -maxdepth 1 -name "$target_prefix*.mkv" -not -name "$result_prefix*.mkv" -type f -exec gio trash {} +
|
||||
notify-send --hint int:transient:1 -t 1000 "Recorder" "Stopping"
|
||||
fi
|
||||
|
||||
else
|
||||
# Kill the ongoing notification
|
||||
kill $notify_pid 2>/dev/null
|
||||
|
||||
# Clean up on failure
|
||||
rm -f "$file_list"
|
||||
rm -f "$output_file"
|
||||
|
||||
notify-send -u critical "Merge Failed" "Failed to merge video files"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check if wf-recorder is already running
|
||||
if pgrep -x "wf-recorder" > /dev/null; then
|
||||
current_file=$(ps -o args= -C wf-recorder | head -n1 | grep -oE '[^ ]+\.mp4' | tail -n1)
|
||||
|
||||
notify-send --hint int:transient:1 -t 1000 "Recorder" "Stopping"
|
||||
pkill -2 wf-recorder
|
||||
sleep 1
|
||||
# Force kill if still running
|
||||
@@ -11,11 +98,13 @@ if pgrep -x "wf-recorder" > /dev/null; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
datetime=$(date +"%d.%m.%Y %H:%M:%S")
|
||||
clips_total_duration=$(check_total_time clip)
|
||||
merges_total_duration=$(check_total_time merged)
|
||||
|
||||
mode=$(echo -e "動画のみ\nマイク\nシステムの音\n全面的" | rofi \
|
||||
# The modes are video only, +mic, +system audio, full.
|
||||
mode=$(echo -e "Video only\nMicrophone\nMerge clips" | rofi \
|
||||
-modes drun,run,calc \
|
||||
-dmenu -p "ビデオ録画モードを選択 " \
|
||||
-dmenu -p "Clips duration: $clips_total_duration / Merges duration: $merges_total_duration" \
|
||||
-theme "$HOME/.config/rofi/styles/style-recorder.rasi" \
|
||||
-markup-rows \
|
||||
-drun-use-desktop-cache \
|
||||
@@ -26,5 +115,38 @@ if [[ -z "$mode" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wf-recorder -c libx264rgb -r 30 -a --audio-backend=pipewire -f "$HOME/Videos/$datetime.mkv"
|
||||
notify-send --hint int:transient:1 -t 1000 "Recorder" "Video saved as $datetime.mkv"
|
||||
case "$mode" in
|
||||
"Video only")
|
||||
# Video only - no audio
|
||||
wf-recorder -c libx264rgb -r 30 -f "$save_path/clip_$datetime.mkv" &
|
||||
;;
|
||||
"Microphone")
|
||||
# With mic only
|
||||
wf-recorder -c libx264rgb -r 30 -a "$mic_device" --audio-backend=pulse -f "$save_path/clip_$datetime.mkv" &
|
||||
;;
|
||||
"Merge clips")
|
||||
merge_videos clip merged
|
||||
;;
|
||||
*)
|
||||
notify-send --hint int:transient:1 -t 1000 "Recorder" "Invalid mode selected"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
recorder_pid=$!
|
||||
|
||||
sleep 1
|
||||
if ps -p $recorder_pid > /dev/null; then
|
||||
else
|
||||
notify-send --hint int:transient:1 -t 3000 "Recorder" "Failed to start recording"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Wait for the recording process to finish
|
||||
wait $recorder_pid
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
notify-send --hint int:transient:1 -t 3000 "Recorder" "Video saved $save_path/clip_$datetime.mkv"
|
||||
else
|
||||
notify-send --hint int:transient:1 -t 3000 "Recorder" "Recording failed or was interrupted"
|
||||
fi
|
||||
|
||||
100
rofi/styles/style-powermenu.rasi
Normal file
100
rofi/styles/style-powermenu.rasi
Normal file
@@ -0,0 +1,100 @@
|
||||
* {
|
||||
background: #1c1c1cc0;
|
||||
background-alt: #303030ff;
|
||||
button-shape-top: #505050ff;
|
||||
button-shape-bottom: #303030ff;
|
||||
background-button: #2e2d31ff;
|
||||
background-input: #1c1c1cc0;
|
||||
border: #48535Ccf;
|
||||
foreground: #FFe8EE;
|
||||
selected: #9E2238dd;
|
||||
selected-shine: #CE5268dd;
|
||||
active: #9E2238;
|
||||
urgent: #D14781;
|
||||
background-color: @background;
|
||||
border-color: White;
|
||||
text-color: @foreground;
|
||||
font: "JetBrains Mono Nerd Font 32";
|
||||
}
|
||||
window {
|
||||
anchor: center;
|
||||
location: center;
|
||||
width: 1000px;
|
||||
height: 250px;
|
||||
padding: 6px;
|
||||
children: [ mainbox ];
|
||||
border: 1px;
|
||||
border-radius: 15px;
|
||||
border-color: @border;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
orientation: vertical;
|
||||
spacing: 10px;
|
||||
children: [ listview ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: horizontal;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
height: 100px;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
font: "JetBrains Mono Nerd Font 10";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
width: calc(100% / 3 - 12);
|
||||
padding: 8px;
|
||||
border-radius: 10px;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
background-color: @background-button;
|
||||
border-color: @button-shape-top;
|
||||
border: 1px 0 0 0;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @active;
|
||||
text-color: @foreground;
|
||||
border-color: @selected-shine;
|
||||
border: 1px 0 0 0;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
padding: 80;
|
||||
}
|
||||
|
||||
prompt {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
entry {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
101
rofi/styles/style-powermodemenu.rasi
Normal file
101
rofi/styles/style-powermodemenu.rasi
Normal file
@@ -0,0 +1,101 @@
|
||||
* {
|
||||
background: #1c1c1cc0;
|
||||
background-alt: #303030ff;
|
||||
button-shape-top: #505050ff;
|
||||
button-shape-bottom: #303030ff;
|
||||
background-button: #2e2d31ff;
|
||||
background-input: #1c1c1cc0;
|
||||
border: #48535Ccf;
|
||||
foreground: #FFe8EE;
|
||||
selected: #9E2238dd;
|
||||
selected-shine: #CE5268dd;
|
||||
active: #9E2238;
|
||||
urgent: #D14781;
|
||||
background-color: @background;
|
||||
border-color: White;
|
||||
text-color: @foreground;
|
||||
font: "JetBrains Mono Nerd Font 32";
|
||||
}
|
||||
|
||||
window {
|
||||
anchor: center;
|
||||
location: center;
|
||||
width: 1000px;
|
||||
height: 250px;
|
||||
padding: 6px;
|
||||
children: [ mainbox ];
|
||||
border: 1px;
|
||||
border-radius: 15px;
|
||||
border-color: @border;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
orientation: vertical;
|
||||
spacing: 10px;
|
||||
children: [ listview ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: horizontal;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
height: 100px;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
font: "JetBrains Mono Nerd Font 10";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
width: calc(100% / 3 - 12);
|
||||
padding: 8px;
|
||||
border-radius: 10px;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
background-color: @background-button;
|
||||
border-color: @button-shape-top;
|
||||
border: 1px 0 0 0;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @active;
|
||||
text-color: @foreground;
|
||||
border-color: @selected-shine;
|
||||
border: 1px 0 0 0;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
padding: 80;
|
||||
}
|
||||
|
||||
prompt {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
entry {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @selected;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
@@ -48,13 +48,14 @@ imagebox {
|
||||
border-radius: 100px;
|
||||
margin: 5px;
|
||||
background-color: @active;
|
||||
|
||||
border-color: @selected-shine;
|
||||
border: 1px 0 0 0;
|
||||
}
|
||||
|
||||
contentbox {
|
||||
orientation: horizontal;
|
||||
expand: true;
|
||||
children: [prompt, entry];
|
||||
children: [prompt];
|
||||
}
|
||||
|
||||
mode-switcher{
|
||||
@@ -67,7 +68,7 @@ mode-switcher{
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 4;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
@@ -87,7 +88,7 @@ listview {
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
width: 22.5%;
|
||||
width: 31%;
|
||||
padding: 8px;
|
||||
border-radius: 10px;
|
||||
text-color: @foreground;
|
||||
|
||||
@@ -1,227 +1,205 @@
|
||||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"ignore-gtk-theme": true,
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "top",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"layer-shell-cover-screen": false,
|
||||
"cssPriority": "highest",
|
||||
"control-center-margin-top": 10,
|
||||
"control-center-margin-bottom": 5,
|
||||
"control-center-margin-right": -10,
|
||||
"control-center-margin-left": 0,
|
||||
"notification-2fa-action": false,
|
||||
"notification-inline-replies": false,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 10,
|
||||
"timeout-low": 5,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": true,
|
||||
"relative-timestamps": true,
|
||||
"control-center-width": 470,
|
||||
"control-center-height": 800,
|
||||
"notification-window-width": 400,
|
||||
"keyboard-shortcuts": true,
|
||||
"notification-grouping": false,
|
||||
"image-visibility": "when-available",
|
||||
"transition-time": 100,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"text-empty": "No nothing",
|
||||
"script-fail-notify": true,
|
||||
"scripts": {
|
||||
"example-script": {
|
||||
"exec": "echo 'Do something...'",
|
||||
"urgency": "Normal"
|
||||
},
|
||||
"example-action-script": {
|
||||
"exec": "echo 'Do something actionable!'",
|
||||
"urgency": "Normal",
|
||||
"run-on": "action"
|
||||
}
|
||||
},
|
||||
"notification-visibility": {
|
||||
"example-name": {
|
||||
"state": "muted",
|
||||
"urgency": "Low",
|
||||
"app-name": "Spotify"
|
||||
}
|
||||
},
|
||||
"widgets": [
|
||||
"menubar",
|
||||
"buttons-grid",
|
||||
"volume",
|
||||
"slider#brightness",
|
||||
"slider#cpu",
|
||||
"inhibitors",
|
||||
"title",
|
||||
"notifications",
|
||||
"dnd"
|
||||
],
|
||||
"widget-config": {
|
||||
"inhibitors": {
|
||||
"text": "Inhibitors",
|
||||
"button-text": "Purge",
|
||||
"clear-all-button": true
|
||||
},
|
||||
"title": {
|
||||
"text": "Notifications",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Purge"
|
||||
},
|
||||
"volume": {
|
||||
"label": " ",
|
||||
"show-per-app": true,
|
||||
"show-per-app-icon": true,
|
||||
"show-per-app-label": true
|
||||
},
|
||||
"slider#brightness": {
|
||||
"label": " ",
|
||||
"cmd_setter": "brightnessctl s $value",
|
||||
"cmd_getter": "brightnessctl g",
|
||||
"min": 5000,
|
||||
"min_limit": 5000,
|
||||
"max": 120000,
|
||||
"max_limit": 120000
|
||||
},
|
||||
"slider#cpu": {
|
||||
"label": " ",
|
||||
"cmd_setter": "exec ~/.config/hypr/scripts/cpufreq.sh $value",
|
||||
"cmd_getter": "exec ~/.config/hypr/scripts/cpufreq.sh g",
|
||||
"min": 1,
|
||||
"min_limit": 1,
|
||||
"max": 6,
|
||||
"max_limit": 6
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Don't bother"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 1,
|
||||
"text": "Kolinux 1.0"
|
||||
},
|
||||
"mpris": {
|
||||
"blacklist": [],
|
||||
"autohide": false,
|
||||
"show-album-art": "always",
|
||||
"loop-carousel": false
|
||||
},
|
||||
"buttons-grid": {
|
||||
"buttons-per-row": 4,
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"active": true,
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
|
||||
"update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"ignore-gtk-theme": true,
|
||||
"positionX": "right",
|
||||
"positionY": "top",
|
||||
"layer": "top",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"layer-shell-cover-screen": false,
|
||||
"cssPriority": "highest",
|
||||
"control-center-margin-top": 10,
|
||||
"control-center-margin-bottom": 5,
|
||||
"control-center-margin-right": -10,
|
||||
"control-center-margin-left": 0,
|
||||
"notification-2fa-action": false,
|
||||
"notification-inline-replies": false,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 200,
|
||||
"timeout": 10,
|
||||
"timeout-low": 5,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": true,
|
||||
"relative-timestamps": true,
|
||||
"control-center-width": 470,
|
||||
"control-center-height": 800,
|
||||
"notification-window-width": 400,
|
||||
"keyboard-shortcuts": true,
|
||||
"notification-grouping": false,
|
||||
"image-visibility": "when-available",
|
||||
"transition-time": 100,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"text-empty": "No nothing",
|
||||
"script-fail-notify": true,
|
||||
"scripts": {
|
||||
"example-script": {
|
||||
"exec": "echo 'Do something...'",
|
||||
"urgency": "Normal"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && bluetoothctl power on || bluetoothctl power off'",
|
||||
"update-command": "sh -c \'bluetoothctl show | awk \\\"/Powered/ {print \\$2}\\\" | grep -q yes && echo true || echo false\'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && mullvad connect || mullvad disconnect'",
|
||||
"update-command": "sh -c '[[ $(mullvad status | grep -e Connected ) == \"Connected\" ]] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 & disown'",
|
||||
"update-command": "sh -c 'pgrep sslocal > /dev/null && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle'",
|
||||
"update-command": "sh -c '[[ $(pactl get-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo) == \\\"Mute: no\\\" ]] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "[[ $SWAYNC_TOGGLE_STATE == true ]] && ( systemd-inhibit --why='User request via swaync' --what=sleep:handle-lid-switch:idle sh -c 'echo \"$$\" > \"$XDG_RUNTIME_DIR/swaync-idle.pid\"; while true; do sleep 3600; done' ) || kill $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\")",
|
||||
"update-command": "kill -0 $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\") && echo true || echo false"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_mirror_display.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_mirror_display.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && (echo 1 > $HOME/.config/hypr/conditions/autofreeze_swww) || (echo 0 > $HOME/.config/hypr/conditions/autofreeze_swww)'",
|
||||
"update-command": "sh -c '[ \$(cat $HOME/.config/hypr/conditions/autofreeze_swww) -eq 1 ] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_privacy.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_privacy.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/grayscale-toggle.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/grayscale-toggle.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_distractions.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_distractions.sh g'"
|
||||
"example-action-script": {
|
||||
"exec": "echo 'Do something actionable!'",
|
||||
"urgency": "Normal",
|
||||
"run-on": "action"
|
||||
}
|
||||
]
|
||||
},
|
||||
"menubar": {
|
||||
"menu#power-buttons": {
|
||||
"label": "",
|
||||
"position": "left",
|
||||
"actions": [
|
||||
{
|
||||
"label": " Reboot",
|
||||
"command": "systemctl reboot"
|
||||
},
|
||||
{
|
||||
"label": " Lock",
|
||||
"command": "swaylock.sh"
|
||||
},
|
||||
{
|
||||
"label": " Logout",
|
||||
"command": "loginctl terminate-session ${XDG_SESSION_ID-}"
|
||||
},
|
||||
{
|
||||
"label": " Shut down",
|
||||
"command": "systemctl poweroff"
|
||||
}
|
||||
]
|
||||
},
|
||||
"menu#powermode-buttons": {
|
||||
"label": "",
|
||||
"position": "right",
|
||||
"actions": [
|
||||
{
|
||||
"label": "Razgonnnn",
|
||||
"command": "sh -c 'notify-send --hint int:transient:1 Power-Profile Performance && powerprofilesctl set performance'"
|
||||
},
|
||||
{
|
||||
"label": "Balanced",
|
||||
"command": "sh -c 'notify-send --hint int:transient:1 Power-Profile Balanced && powerprofilesctl set balanced'"
|
||||
},
|
||||
{
|
||||
"label": "Survival",
|
||||
"command": "sh -c 'notify-send --hint int:transient:1 Power-Profile Power-saver && powerprofilesctl set power-saver'"
|
||||
}
|
||||
]
|
||||
}
|
||||
"notification-visibility": {
|
||||
"example-name": {
|
||||
"state": "muted",
|
||||
"urgency": "Low",
|
||||
"app-name": "Spotify"
|
||||
}
|
||||
},
|
||||
"widgets": [
|
||||
"menubar",
|
||||
"buttons-grid",
|
||||
"volume",
|
||||
"slider#brightness",
|
||||
"slider#cpu",
|
||||
"inhibitors",
|
||||
"title",
|
||||
"notifications",
|
||||
"dnd"
|
||||
],
|
||||
"widget-config": {
|
||||
"inhibitors": {
|
||||
"text": "Inhibitors",
|
||||
"button-text": "Purge",
|
||||
"clear-all-button": true
|
||||
},
|
||||
"title": {
|
||||
"text": "Notifications",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Purge"
|
||||
},
|
||||
"volume": {
|
||||
"label": " ",
|
||||
"show-per-app": true,
|
||||
"show-per-app-icon": true,
|
||||
"show-per-app-label": true
|
||||
},
|
||||
"slider#brightness": {
|
||||
"label": " ",
|
||||
"cmd_setter": "brightnessctl s $value",
|
||||
"cmd_getter": "brightnessctl g",
|
||||
"min": 5000,
|
||||
"min_limit": 5000,
|
||||
"max": 120000,
|
||||
"max_limit": 120000
|
||||
},
|
||||
"slider#cpu": {
|
||||
"label": " ",
|
||||
"cmd_setter": "exec ~/.config/hypr/scripts/cpufreq.sh $value",
|
||||
"cmd_getter": "exec ~/.config/hypr/scripts/cpufreq.sh g",
|
||||
"min": 1,
|
||||
"min_limit": 1,
|
||||
"max": 6,
|
||||
"max_limit": 6
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Don't bother"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 1,
|
||||
"text": "Kolinux 1.0"
|
||||
},
|
||||
"mpris": {
|
||||
"blacklist": [],
|
||||
"autohide": false,
|
||||
"show-album-art": "always",
|
||||
"loop-carousel": false
|
||||
},
|
||||
"buttons-grid": {
|
||||
"buttons-per-row": 4,
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"active": true,
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && nmcli radio wifi on || nmcli radio wifi off'",
|
||||
"update-command": "sh -c '[[ $(nmcli radio wifi) == \"enabled\" ]] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && bluetoothctl power on || bluetoothctl power off'",
|
||||
"update-command": "sh -c \'bluetoothctl show | awk \\\"/Powered/ {print \\$2}\\\" | grep -q yes && echo true || echo false\'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && mullvad connect || mullvad disconnect'",
|
||||
"update-command": "sh -c '[[ $(mullvad status | grep -e Connected ) == \"Connected\" ]] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'nohup ~/.config/hypr/scripts/toggle_proxy.sh > /dev/null 2>&1 & disown'",
|
||||
"update-command": "sh -c 'pgrep sslocal > /dev/null && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'pactl set-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo toggle'",
|
||||
"update-command": "sh -c '[[ $(pactl get-source-mute alsa_input.pci-0000_00_1f.3.analog-stereo) == \\\"Mute: no\\\" ]] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "[[ $SWAYNC_TOGGLE_STATE == true ]] && ( systemd-inhibit --why='User request via swaync' --what=sleep:handle-lid-switch:idle sh -c 'echo \"$$\" > \"$XDG_RUNTIME_DIR/swaync-idle.pid\"; while true; do sleep 3600; done' ) || kill $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\")",
|
||||
"update-command": "kill -0 $(<\"$XDG_RUNTIME_DIR/swaync-idle.pid\") && echo true || echo false"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_mirror_display.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_mirror_display.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c '[[ $SWAYNC_TOGGLE_STATE == true ]] && (echo 1 > $HOME/.config/hypr/conditions/autofreeze_swww) || (echo 0 > $HOME/.config/hypr/conditions/autofreeze_swww)'",
|
||||
"update-command": "sh -c '[ \$(cat $HOME/.config/hypr/conditions/autofreeze_swww) -eq 1 ] && echo true || echo false'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_privacy.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_privacy.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/grayscale-toggle.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/grayscale-toggle.sh g'"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"type": "toggle",
|
||||
"command": "sh -c 'exec ~/.config/hypr/scripts/toggle_distractions.sh'",
|
||||
"update-command": "sh -c 'exec ~/.config/hypr/scripts/toggle_distractions.sh g'"
|
||||
}
|
||||
]
|
||||
},
|
||||
"menubar": {
|
||||
"buttons#powermenu": {
|
||||
"position": "left",
|
||||
"actions": [
|
||||
{
|
||||
"label": "⏻",
|
||||
"command": "sh -c 'swaync-client -cp & ~/.config/rofi/scripts/dmenu_powermenu.sh'"
|
||||
}
|
||||
]
|
||||
},
|
||||
"buttons#powermodemenu": {
|
||||
"position": "right",
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"command": "sh -c 'swaync-client -cp & ~/.config/rofi/scripts/dmenu_powermodemenu.sh'"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
--notification-icon-size: 64px;
|
||||
--notification-app-icon-size: calc(var(--notification-icon-size) / 3);
|
||||
--notification-group-icon-size: 32px;
|
||||
--button: #303030;
|
||||
--button-top: #505050;
|
||||
--button-on-top: #CE5268dd;
|
||||
--button-off: #2e2d31;
|
||||
}
|
||||
|
||||
@@ -26,7 +29,7 @@
|
||||
|
||||
button {
|
||||
background-color: var(--button-off);
|
||||
border: 1px solid #303030;
|
||||
border-top: 1px solid var(--button-top);
|
||||
}
|
||||
|
||||
button:hover {
|
||||
@@ -475,6 +478,7 @@ button:hover {
|
||||
.widget-buttons-grid flowboxchild > button.toggle:checked {
|
||||
/* style given to the active toggle button */
|
||||
background-color: var(--noti-bg-selection);
|
||||
border-top: 1px solid var(--button-on-top);
|
||||
}
|
||||
|
||||
.widget-buttons-grid flowboxchild > button.toggle:hover {
|
||||
@@ -520,6 +524,7 @@ button:hover {
|
||||
border-radius: 12px;
|
||||
margin: 0 4px;
|
||||
background-color: var(--noti-bg-selection);
|
||||
border-top: 1px solid var(--button-on-top);
|
||||
}
|
||||
|
||||
.widget-menubar > .menu-button-bar > .widget-menubar-container button:hover {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
alias cringeprox="nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 &"
|
||||
alias cringeprox="nohup ~/.config/hypr/scripts/toggle_proxy.sh > /dev/null 2>&1 &"
|
||||
alias recringe="nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 && nohup ~/.config/bspwm/proxy.sh > /dev/null 2>&1 &"
|
||||
alias dak="(source /home/greg/.venv312/bin/activate && python -m duck_chat)"
|
||||
alias dlpmuzanon="yt-dlp -x -f bestaudio --ignore-errors --continue --no-overwrites"
|
||||
@@ -64,11 +64,4 @@ alias vim="nvim"
|
||||
alias pentagon="~/Dev/Appimages/edexui.AppImage"
|
||||
alias lockswww='echo 1 > $HOME/.config/hypr/conditions/lock_wallpaper'
|
||||
alias unlockswww='echo 0 > $HOME/.config/hypr/conditions/lock_wallpaper'
|
||||
alias brainless_commit='
|
||||
echo "" > /tmp/brainless_commit;
|
||||
echo "$(cat $HOME/Dev/Prompts/commit.txt) $(git status -v)" > /tmp/brainless_commit;
|
||||
commit_message=$(cat /tmp/brainless_commit | tgpt -q -w);
|
||||
echo "$commit_message" > /tmp/brainless_commit;
|
||||
nvim /tmp/brainless_commit;
|
||||
git commit -m "$(cat /tmp/brainless_commit)"
|
||||
'
|
||||
alias golint="crlfmt -w -ignore '\.(pb(\.gw)?)|(\.[eo]g)\.go|/testdata/|^sql/parser/sql\.go$|_generated(_test)?\.go$' ."
|
||||
|
||||
Reference in New Issue
Block a user