From 19120d4f9761c67d99ed1ce3da6084b83f5a49c9 Mon Sep 17 00:00:00 2001 From: srdusr Date: Sat, 30 Aug 2025 19:22:59 +0200 Subject: Linux-specific dotfiles --- .scripts/scratchpad | 64 ----------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100755 .scripts/scratchpad (limited to '.scripts/scratchpad') diff --git a/.scripts/scratchpad b/.scripts/scratchpad deleted file mode 100755 index 8a1aea0..0000000 --- a/.scripts/scratchpad +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -# Created By: srdusr -# Created On: Tue 07 Mar 2023 15:06:47 PM CAT -# Project: Agnostic scratchpad/dropdown terminal that works on most window managers - -# Dependencies: wmctrl, xprop, xdo, xdotool -# NOTE: Ensure script is included in system's path and can therefore be invoked with the command 'scratchpad'. -# Furthermore make sure the terminal is using x11 as a backend in wayland to allow this to work. -# Example: wezterm.lua: enable_wayland = false, -# kitty.conf: linux_display_server x11 - -# Set the environment variables to x11 to allow working in Wayland -export GDK_BACKEND=x11 -export QT_QPA_PLATFORM=xcb -export WAYLAND_DISPLAY="" -export WINIT_UNIX_BACKEND=x11 - -# Supported terminals and dropdown class -supported_terminals=("wezterm" "kitty" "alacritty") - -# Check if any supported terminal with scratchpad class is running -for term in "${supported_terminals[@]}"; do - if pgrep -f "$term.*--class scratchpad" >/dev/null; then - my_term="$term" - break - fi -done - -# If no supported terminal is running, start the first available one -if [ "$my_term" = "" ]; then - for term in "${supported_terminals[@]}"; do - if command -v "$term" >/dev/null 2>&1; then - my_term="$term" - break - fi - done - if [ "$my_term" = "" ]; then - echo "No supported terminal found." && exit 1 - fi - - # Start terminal with scratchpad class - case "$my_term" in - "wezterm") wezterm start --class scratchpad -e tmux new-session -A -s tmux -e bash & ;; - "kitty") kitty --class scratchpad tmux new-session -A -s tmux -e bash & ;; - "alacritty") alacritty --class scratchpad -e tmux new-session -A -s tmux -e bash & ;; - esac -fi - -# Get the window ID of the scratchpad terminal -id="$(xdo id -N scratchpad)" - -# Toggle scratchpad terminal visibility -if [ "$id" != "" ]; then - if xwininfo -id "$id" | grep "Map State: IsViewable" >/dev/null; then - # Scratchpad is visible, hide it - dimensions="$(xwininfo -id "$id" | awk '/Width:|Height:/ { printf("%s=%s;", tolower($1), $2) }')" - xdo hide "$id" 2>/dev/null - else - # Scratchpad is hidden, show it and restore dimensions - xdo show "$id" - xdotool windowsize "$id" "$(echo "$dimensions" | tr ';' ' ')" 2>/dev/null - fi -fi -- cgit v1.2.3