mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 14:12:41 +00:00
38 lines
999 B
Bash
Executable File
38 lines
999 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
SCRIPTS=${SCRIPTS:-$HOME/.local/scripts}
|
|
THIS_FILE=${BASH_SOURCE[0]}
|
|
LOG_LABEL=$(basename "$THIS_FILE")
|
|
THIS=${THIS:-$LOG_LABEL}
|
|
LOG_FILE=${LOG_FILE:-"/tmp/$LOG_LABEL.log"}
|
|
|
|
# Float's a window, setting it's height and width and centering.
|
|
|
|
# The percentage of the screen size for the floating window.
|
|
WIDTH_PERCENT=80
|
|
HEIGHT_PERCENT=40
|
|
|
|
floating=$(hyprctl activewindow -j | jq '.floating')
|
|
|
|
if [ "$floating" = "true" ]; then
|
|
hyprctl dispatch togglefloating
|
|
else
|
|
monitor=$(hyprctl monitors -j | jq '.[] | select(.focused == true)')
|
|
mw=$(echo "$monitor" | jq '.width')
|
|
mh=$(echo "$monitor" | jq '.height')
|
|
ms=$(echo "$monitor" | jq '.scale')
|
|
|
|
echo "scale: $ms"
|
|
|
|
neww=$(echo "scale=6; (($mw / $ms) * $WIDTH_PERCENT / 100)" | bc)
|
|
newh=$(echo "scale=6; (($mh / $ms) * $HEIGHT_PERCENT / 100)" | bc)
|
|
|
|
hyprctl dispatch togglefloating &&
|
|
hyprctl dispatch resizeactive exact $neww $newh &&
|
|
hyprctl dispatch centerwindow
|
|
fi
|