mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-06-29 12:10:42 +00:00
Major rewrite: switching back to Arch from NixOS
This commit is contained in:
parent
df585b737b
commit
254181c0fc
121 changed files with 5433 additions and 2371 deletions
36
home/.local/bin/scripts/gui/hyprland/hyprland-move-window
Normal file
36
home/.local/bin/scripts/gui/hyprland/hyprland-move-window
Normal file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
RESIZE_SIZE=${1:?Missing resize size}
|
||||
|
||||
RESIZE_PARAMS_X=0
|
||||
RESIZE_PARAMS_Y=0
|
||||
|
||||
DIRECTION=${2:?Missing move direction}
|
||||
case $DIRECTION in
|
||||
l)
|
||||
RESIZE_PARAMS_X=-$RESIZE_SIZE
|
||||
;;
|
||||
r)
|
||||
RESIZE_PARAMS_X=$RESIZE_SIZE
|
||||
;;
|
||||
u)
|
||||
RESIZE_PARAMS_Y=-$RESIZE_SIZE
|
||||
;;
|
||||
d)
|
||||
RESIZE_PARAMS_Y=$RESIZE_SIZE
|
||||
;;
|
||||
*)
|
||||
echo "kbye"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
ACTIVE_WINDOW=$(hyprctl activewindow -j)
|
||||
IS_FLOATING=$(echo "$ACTIVE_WINDOW" | jq .floating)
|
||||
|
||||
if [ "$IS_FLOATING" = "true" ]; then
|
||||
hyprctl dispatch moveactive "$RESIZE_PARAMS_X" "$RESIZE_PARAMS_Y"
|
||||
else
|
||||
hyprctl dispatch movewindow "$DIRECTION"
|
||||
fi
|
||||
|
216
home/.local/bin/scripts/gui/hyprland/hyprland-screenshot
Executable file
216
home/.local/bin/scripts/gui/hyprland/hyprland-screenshot
Executable file
|
@ -0,0 +1,216 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Inspired by grimblast (https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast)
|
||||
|
||||
# Helper functions
|
||||
|
||||
die() {
|
||||
MSG="${1}"
|
||||
ERR_CODE="${2:-1}"
|
||||
URGENCY="${3:-critical}"
|
||||
|
||||
>&2 echo "$MSG"
|
||||
if [ "$NOTIFY" = "yes" ]; then
|
||||
notify-send -a screenshot -u "$URGENCY" "Error ($ERR_CODE)" "$MSG"
|
||||
fi
|
||||
exit "$ERR_CODE"
|
||||
}
|
||||
|
||||
# Argument parsing
|
||||
|
||||
SAVE_METHOD=
|
||||
SAVE_FILE=
|
||||
TARGET=
|
||||
NOTIFY=no
|
||||
CURSOR=no
|
||||
EDIT=no
|
||||
DELAY=0
|
||||
|
||||
while [ "${1-}" ]; do
|
||||
case "$1" in
|
||||
-h | --help)
|
||||
>&2 cat <<EOF
|
||||
screenshot taking utility script, allowing for easy all-in-one solution for
|
||||
controlling how a screenshot should be taken.
|
||||
|
||||
Methods (one is required):
|
||||
--copy: Copy the screenshot data into the clipboard
|
||||
--save [FILE]: Save the screenshot data into a file
|
||||
--copysave [FILE]: Both save to clipboard and to file
|
||||
General options:
|
||||
--notify: Send a notification that the screenshot was saved
|
||||
--cursor: Capture cursor in the screenshot
|
||||
--edit: Once the screenshot is taken, edit it first with swappy
|
||||
--delay [MILISECONDS]: Wait for given time until the screenshot is taken
|
||||
--target [TARGET]: (REQUIRED) What should be captured
|
||||
Variables:
|
||||
FILE: A path to a .png image file for output, or '-' to pipe to STDOUT
|
||||
MILISECONDS: Number of miliseconds; Must be a whole, non-negative number!
|
||||
TARGET: Area on screen; can be one of:
|
||||
- activewin: Currently active window
|
||||
- window: Manually select a window
|
||||
- activemon: Currently active monitor (output)
|
||||
- monitor: Manually select a monitor
|
||||
- all: Everything (all visible monitors/outputs)
|
||||
- area: Manually select a region
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
--notify)
|
||||
NOTIFY=yes
|
||||
shift
|
||||
;;
|
||||
--cursor)
|
||||
CURSOR=yes
|
||||
shift
|
||||
;;
|
||||
--edit)
|
||||
EDIT=yes
|
||||
shift
|
||||
;;
|
||||
--target)
|
||||
if [ -z "$TARGET" ]; then
|
||||
case "$2" in
|
||||
activewin | window | activemon | monitor | all | area)
|
||||
TARGET="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
die "Invalid target (see TARGET variable in --help)"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
die "Only one target can be passed."
|
||||
fi
|
||||
;;
|
||||
--delay)
|
||||
case "$2" in
|
||||
'' | *[!0-9]*)
|
||||
die "Argument after --delay must be an amount of MILISECONDS"
|
||||
;;
|
||||
*)
|
||||
DELAY="$2"
|
||||
shift 2
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
--copy)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="copy"
|
||||
shift
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
--save)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="save"
|
||||
SAVE_FILE="$2"
|
||||
shift 2
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
--copysave)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="copysave"
|
||||
SAVE_FILE="$2"
|
||||
shift 2
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized argument: $1"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Screenshot functions
|
||||
|
||||
takeScreenshot() {
|
||||
FILE="$1"
|
||||
GEOM="$2"
|
||||
|
||||
ARGS=()
|
||||
[ "$CURSOR" = "yes" ] && ARGS+=("-c")
|
||||
[ -n "$GEOM" ] && ARGS+=("-g" "$GEOM")
|
||||
ARGS+=("$FILE")
|
||||
|
||||
sleep "$DELAY"e-3
|
||||
grim "${ARGS[@]}" || die "Unable to invoke grim"
|
||||
}
|
||||
|
||||
takeEditedScreenshot() {
|
||||
FILE="$1"
|
||||
GEOM="$2"
|
||||
|
||||
if [ "$EDIT" = "yes" ]; then
|
||||
takeScreenshot - "$GEOM" | swappy -f - -o "$FILE" || die "Unable to invoke swappy"
|
||||
else
|
||||
takeScreenshot "$FILE" "$GEOM"
|
||||
fi
|
||||
}
|
||||
|
||||
# Obtain the geometry for screenshot to be taken at
|
||||
|
||||
if [ "$TARGET" = "area" ]; then
|
||||
GEOM="$(slurp -d)"
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No area selected" 2 normal
|
||||
fi
|
||||
WHAT="Area"
|
||||
elif [ "$TARGET" = "all" ]; then
|
||||
GEOM=""
|
||||
WHAT="Screen"
|
||||
elif [ "$TARGET" = "activewin" ]; then
|
||||
FOCUSED="$(hyprctl activewindow -j)"
|
||||
GEOM="$(echo "$FOCUSED" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')"
|
||||
APP_ID="$(echo "$FOCUSED" | jq -r '.class')"
|
||||
WHAT="$APP_ID window"
|
||||
elif [ "$TARGET" = "window" ]; then
|
||||
WORKSPACES="$(hyprctl monitors -j | jq -r 'map(.activeWorkspace.id)')"
|
||||
WINDOWS="$(hyprctl clients -j | jq -r --argjson workspaces "$WORKSPACES" 'map(select([.workspace.id] | inside($workspaces)))')"
|
||||
GEOM=$(echo "$WINDOWS" | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp -r)
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No window selected" 2 normal
|
||||
fi
|
||||
WHAT="Window"
|
||||
elif [ "$TARGET" = "activemon" ]; then
|
||||
ACTIVEMON="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)')"
|
||||
GEOM="$(echo "$ACTIVEMON" | jq -r '"\(.x),\(.y) \(.width)x\(.height)"')"
|
||||
WHAT="$(echo "$ACTIVEMON" | jq -r '.name')"
|
||||
elif [ "$TARGET" = "monitor" ]; then
|
||||
GEOM="$(slurp -o)"
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No monitor selected" 2 normal
|
||||
fi
|
||||
WHAT="Monitor"
|
||||
else
|
||||
if [ -z "$TARGET" ]; then
|
||||
die "No target specified!"
|
||||
else
|
||||
die "Unknown target: $SAVE_METHOD"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Invoke grim and capture the screenshot
|
||||
|
||||
if [ "$SAVE_METHOD" = "save" ]; then
|
||||
takeEditedScreenshot "$SAVE_FILE" "$GEOM"
|
||||
[ "$NOTIFY" = "yes" ] && notify-send -a screenshot "Success" "$WHAT screenshot saved" -i "$(realpath "$SAVE_FILE")"
|
||||
elif [ "$SAVE_METHOD" = "copy" ]; then
|
||||
TEMP_FILE="$(mktemp --suffix=.png)"
|
||||
takeEditedScreenshot "-" "$GEOM" | tee "$TEMP_FILE" | wl-copy --type image/png || die "Clipboard error"
|
||||
[ "$NOTIFY" = "yes" ] && notify-send -a screenshot "Success" "$WHAT screenshot copied" -i "$(realpath "$TEMP_FILE")" && rm "$TEMP_FILE"
|
||||
elif [ "$SAVE_METHOD" = "copysave" ]; then
|
||||
takeEditedScreenshot "-" "$GEOM" | tee "$SAVE_FILE" | wl-copy --type image/png || die "Clipboard error"
|
||||
[ "$NOTIFY" = "yes" ] && notify-send -a screenshot "Success" "$WHAT screenshot copied and saved" -i "$(realpath "$SAVE_FILE")"
|
||||
else
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
die "No save method specified!"
|
||||
else
|
||||
die "Unknown save method: $SAVE_METHOD"
|
||||
fi
|
||||
fi
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# export LIBVA_DRIVER_NAME=nvidia
|
||||
# export XDG_SESSION_TYPE=wayland
|
||||
# export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
# export WLR_NO_HARDWARE_CURSORS=1
|
||||
# export GBM_BACKEND=nvidia-drm # can cause issues
|
||||
|
||||
HYPRLAND_LOG="${XDG_CACHE_HOME:-$HOME/.cache}/hyprlog.txt"
|
||||
|
||||
echo "---------- NEW RUN $(date) ----------" >> "$HYPRLAND_LOG"
|
||||
Hyprland 2>&1 | awk '{ print strftime("%s: "), $0, fflush(); }' | tee -a "$HYPRLAND_LOG"
|
||||
echo "---------- ENDED $(date) ----------" >> "$HYPRLAND_LOG"
|
||||
|
||||
if systemctl --user is-active wayland-session.target &>/dev/null; then
|
||||
systemctl --user stop wayland-session.target
|
||||
fi
|
|
@ -1,226 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Inspired by grimblast (https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast)
|
||||
|
||||
# Requirements:
|
||||
# - `grim`: screenshot utility for wayland
|
||||
# - `slurp`: to select an area
|
||||
# - `hyprctl`: to read properties of current window
|
||||
# - `wl-copy`: clipboard utility
|
||||
# - `jq`: json utility to parse hyprctl output
|
||||
# - `notify-send`: to show notifications
|
||||
# - `swappy`: for editing the screenshots (only required for --edit)
|
||||
|
||||
# Helper functions
|
||||
|
||||
die() {
|
||||
MSG="${1}"
|
||||
ERR_CODE="${2:-1}"
|
||||
URGENCY="${3:-critical}"
|
||||
|
||||
>&2 echo "$MSG"
|
||||
if [ "$NOTIFY" = "yes" ]; then
|
||||
notify-send -a screenshot -u "$URGENCY" "Error ($ERR_CODE)" "$MSG"
|
||||
fi
|
||||
exit "$ERR_CODE"
|
||||
}
|
||||
|
||||
# Argument parsing
|
||||
|
||||
SAVE_METHOD=
|
||||
SAVE_FILE=
|
||||
TARGET=
|
||||
NOTIFY=no
|
||||
CURSOR=no
|
||||
EDIT=no
|
||||
DELAY=0
|
||||
|
||||
while [ "$1" ]; do
|
||||
case "$1" in
|
||||
-h | --help)
|
||||
>&2 cat << EOF
|
||||
screenshot taking utility script, allowing for easy all-in-one solution for
|
||||
controlling how a screenshot should be taken.
|
||||
|
||||
Methods (one is required):
|
||||
--copy: Copy the screenshot data into the clipboard
|
||||
--save [FILE]: Save the screenshot data into a file
|
||||
--copysave [FILE]: Both save to clipboard and to file
|
||||
General options:
|
||||
--notify: Send a notification that the screenshot was saved
|
||||
--cursor: Capture cursor in the screenshot
|
||||
--edit: Once the screenshot is taken, edit it first with swappy
|
||||
--delay [MILISECONDS]: Wait for given time until the screenshot is taken
|
||||
--target [TARGET]: (REQUIRED) What should be captured
|
||||
Variables:
|
||||
FILE: A path to a .png image file for output, or '-' to pipe to STDOUT
|
||||
MILISECONDS: Number of miliseconds; Must be a whole, non-negative number!
|
||||
TARGET: Area on screen; can be one of:
|
||||
- activewin: Currently active window
|
||||
- window: Manually select a window
|
||||
- activemon: Currently active monitor (output)
|
||||
- monitor: Manually select a monitor
|
||||
- all: Everything (all visible monitors/outputs)
|
||||
- area: Manually select a region
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
--notify)
|
||||
NOTIFY=yes
|
||||
shift
|
||||
;;
|
||||
--cursor)
|
||||
CURSOR=yes
|
||||
shift
|
||||
;;
|
||||
--edit)
|
||||
EDIT=yes
|
||||
shift
|
||||
;;
|
||||
--target)
|
||||
if [ -z "$TARGET" ]; then
|
||||
case "$2" in
|
||||
activewin|window|activemon|monitor|all|area)
|
||||
TARGET="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
die "Invalid target (see TARGET variable in --help)"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
die "Only one target can be passed."
|
||||
fi
|
||||
;;
|
||||
--delay)
|
||||
case "$2" in
|
||||
''|*[!0-9]*)
|
||||
die "Argument after --delay must be an amount of MILISECONDS"
|
||||
;;
|
||||
*)
|
||||
DELAY="$2"
|
||||
shift 2
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
--copy)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="copy"
|
||||
shift
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
--save)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="save"
|
||||
SAVE_FILE="$2"
|
||||
shift 2
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
--copysave)
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
SAVE_METHOD="copysave"
|
||||
SAVE_FILE="$2"
|
||||
shift 2
|
||||
else
|
||||
die "Only one method can be passed."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized argument: $1"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Screenshot functions
|
||||
|
||||
takeScreenshot() {
|
||||
FILE="$1"
|
||||
GEOM="$2"
|
||||
|
||||
ARGS=()
|
||||
[ "$CURSOR" = "yes" ] && ARGS+=("-c")
|
||||
[ -n "$GEOM" ] && ARGS+=("-g" "$GEOM")
|
||||
ARGS+=("$FILE")
|
||||
|
||||
sleep "$DELAY"e-3
|
||||
grim "${ARGS[@]}" || die "Unable to invoke grim"
|
||||
}
|
||||
|
||||
takeEditedScreenshot() {
|
||||
FILE="$1"
|
||||
GEOM="$2"
|
||||
|
||||
if [ "$EDIT" = "yes" ]; then
|
||||
takeScreenshot - "$GEOM" | swappy -f - -o "$FILE" || die "Unable to invoke swappy"
|
||||
else
|
||||
takeScreenshot "$FILE" "$GEOM"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Obtain the geometry for screenshot to be taken at
|
||||
|
||||
if [ "$TARGET" = "area" ]; then
|
||||
GEOM="$(slurp -d)"
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No area selected" 2 normal
|
||||
fi
|
||||
WHAT="Area"
|
||||
elif [ "$TARGET" = "all" ]; then
|
||||
GEOM=""
|
||||
WHAT="Screen"
|
||||
elif [ "$TARGET" = "activewin" ]; then
|
||||
FOCUSED="$(hyprctl activewindow -j)"
|
||||
GEOM="$(echo "$FOCUSED" | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')"
|
||||
APP_ID="$(echo "$FOCUSED" | jq -r '.class')"
|
||||
WHAT="$APP_ID window"
|
||||
elif [ "$TARGET" = "window" ]; then
|
||||
WORKSPACES="$(hyprctl monitors -j | jq -r 'map(.activeWorkspace.id)')"
|
||||
WINDOWS="$(hyprctl clients -j | jq -r --argjson workspaces "$WORKSPACES" 'map(select([.workspace.id] | inside($workspaces)))' )"
|
||||
GEOM=$(echo "$WINDOWS" | jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp -r)
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No window selected" 2 normal
|
||||
fi
|
||||
WHAT="Window"
|
||||
elif [ "$TARGET" = "activemon" ]; then
|
||||
ACTIVEMON="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)')"
|
||||
GEOM="$(echo "$ACTIVEMON" | jq -r '"\(.x),\(.y) \(.width)x\(.height)"')"
|
||||
WHAT="$(echo "$ACTIVEMON" | jq -r '.name')"
|
||||
elif [ "$TARGET" = "monitor" ]; then
|
||||
GEOM="$(slurp -o)"
|
||||
if [ -z "$GEOM" ]; then
|
||||
die "No monitor selected" 2 normal
|
||||
fi
|
||||
WHAT="Monitor"
|
||||
else
|
||||
if [ -z "$TARGET" ]; then
|
||||
die "No target specified!"
|
||||
else
|
||||
die "Unknown target: $SAVE_METHOD"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Invoke grim and capture the screenshot
|
||||
|
||||
if [ "$SAVE_METHOD" = "save" ]; then
|
||||
takeEditedScreenshot "$SAVE_FILE" "$GEOM"
|
||||
notify-send -a screenshot "Success" "$WHAT screenshot saved" -i "$(realpath "$SAVE_FILE")"
|
||||
elif [ "$SAVE_METHOD" = "copy" ]; then
|
||||
TEMP_FILE="$(mktemp --suffix=.png)"
|
||||
takeEditedScreenshot "-" "$GEOM" | tee "$TEMP_FILE" | wl-copy --type image/png || die "Clipboard error"
|
||||
notify-send -a screenshot "Success" "$WHAT screenshot copied" -i "$(realpath "$TEMP_FILE")" && rm "$TEMP_FILE"
|
||||
elif [ "$SAVE_METHOD" = "copysave" ]; then
|
||||
takeEditedScreenshot "-" "$GEOM" | tee "$SAVE_FILE" | wl-copy --type image/png || die "Clipboard error"
|
||||
notify-send -a screenshot "Success" "$WHAT screenshot copied and saved" -i "$(realpath "$SAVE_FILE")"
|
||||
else
|
||||
if [ -z "$SAVE_METHOD" ]; then
|
||||
die "No save method specified!"
|
||||
else
|
||||
die "Unknown save method: $SAVE_METHOD"
|
||||
fi
|
||||
fi
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
WORKSPACE="$1"
|
||||
|
||||
monitors_out="$(hyprctl monitors -j)"
|
||||
focused_mon="$(echo "$monitors_out" | jq '.[] | select(.focused==true) | .id')"
|
||||
focused_wks="$(echo "$monitors_out" | jq '.[].activeWorkspace.id')"
|
||||
|
||||
# Workspace is already focused, check on which monitor
|
||||
if echo "$focused_wks" | grep "$WORKSPACE" >/dev/null; then
|
||||
mon_id="$(echo "$monitors_out" | jq ".[] | select(.activeWorkspace.id==$WORKSPACE) | .id")"
|
||||
|
||||
# If the workspace is focused on the active monitor, don't do anything (we're here).
|
||||
# Otherwise, swap the workspaces.
|
||||
if [ "$mon_id" -ne "$focused_mon" ]; then
|
||||
hyprctl dispatch swapactiveworkspaces "$focused_mon" "$mon_id"
|
||||
fi
|
||||
# Switching to an unfocused workspace, always move it to focused monitor
|
||||
else
|
||||
hyprctl dispatch moveworkspacetomonitor "$WORKSPACE" "$focused_mon"
|
||||
hyprctl dispatch workspace "$WORKSPACE"
|
||||
fi
|
22
home/.local/bin/scripts/gui/hyprland/toggle-fake-fullscreen
Executable file
22
home/.local/bin/scripts/gui/hyprland/toggle-fake-fullscreen
Executable file
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
#ACTIVE_BORDER_COLOR="0xFF327BD1"
|
||||
ACTIVE_BORDER_COLOR="0xFFFF6600"
|
||||
DEFAULT_BORDER_COLOR="0xFFFFA500"
|
||||
|
||||
hyprctl dispatch fullscreenstate -1 2
|
||||
|
||||
fullscreen_status="$(hyprctl activewindow -j | jq '.fullscreenClient')"
|
||||
if [ "$fullscreen_status" = "null" ]; then
|
||||
echo "Update your hyprland, 'fakeFullscreen' window property not found."
|
||||
exit 1
|
||||
elif [ "$fullscreen_status" = "2" ]; then
|
||||
window_address="$(hyprctl activewindow -j | jq -r '.address')"
|
||||
hyprctl setprop "address:$window_address" activebordercolor "$ACTIVE_BORDER_COLOR" lock
|
||||
elif [ "$fullscreen_status" = "0" ]; then
|
||||
window_address="$(hyprctl activewindow -j | jq -r '.address')"
|
||||
hyprctl setprop "address:$window_address" activebordercolor "$DEFAULT_BORDER_COLOR"
|
||||
else
|
||||
echo "Unexpected output from 'fullscreenClient' window property: $fullscreen_status"
|
||||
exit 1
|
||||
fi
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#ACTIVE_BORDER_COLOR="0xFF327BD1"
|
||||
ACTIVE_BORDER_COLOR="0xFFFF6600"
|
||||
DEFAULT_BORDER_COLOR="0xFFFFA500"
|
||||
|
||||
hyprctl dispatch fakefullscreen ""
|
||||
|
||||
fullscreen_status="$(hyprctl activewindow -j | jq '.fakeFullscreen')"
|
||||
if [ "$fullscreen_status" = "null" ]; then
|
||||
echo "Update your hyprland, 'fakeFullscreen' window property not found."
|
||||
exit 1
|
||||
elif [ "$fullscreen_status" = "true" ]; then
|
||||
window_address="$(hyprctl activewindow -j | jq -r '.address')"
|
||||
hyprctl setprop "address:$window_address" activebordercolor "$ACTIVE_BORDER_COLOR" lock
|
||||
elif [ "$fullscreen_status" = "false" ]; then
|
||||
window_address="$(hyprctl activewindow -j | jq -r '.address')"
|
||||
hyprctl setprop "address:$window_address" activebordercolor "$DEFAULT_BORDER_COLOR"
|
||||
else
|
||||
echo "Unexpected output from 'fakeFullscreen' window property: $fullscreen_status"
|
||||
exit 1
|
||||
fi
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
idleprog="hypridle" # or swayidle
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$(dunstctl is-paused)" = "false" ]; then
|
||||
notify-send "Notifications" "Pausing notifications..." -h string:x-canonical-private-synchronous:notif-pause
|
||||
sleep 2
|
||||
dunstctl set-paused true
|
||||
notify-send "Notifications" "Pausing notifications..." -h string:x-canonical-private-synchronous:notif-pause
|
||||
sleep 2
|
||||
dunstctl set-paused true
|
||||
else
|
||||
dunstctl set-paused false
|
||||
notify-send "Notifications" "Notifications enabled" -h string:x-canonical-private-synchronous:notif-pause
|
||||
dunstctl set-paused false
|
||||
notify-send "Notifications" "Notifications enabled" -h string:x-canonical-private-synchronous:notif-pause
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue