Skip to content

Instantly share code, notes, and snippets.

@jondkinney
Last active October 15, 2025 15:20
Show Gist options
  • Select an option

  • Save jondkinney/24c28043f54cdfa9891084c7e4e7b9a9 to your computer and use it in GitHub Desktop.

Select an option

Save jondkinney/24c28043f54cdfa9891084c7e4e7b9a9 to your computer and use it in GitHub Desktop.

Disable Trackpad While Typing - Installation

This feature adds intelligent trackpad disabling while typing to prevent accidental cursor movements on MacBooks and other laptops with large trackpads.

Quick Install (One-liner)

curl -fsSL https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/install-wrapper.sh | bash

Or using your short link:

curl hdwy.link/install-dwt | bash

Manual Installation

If you prefer to download and review first:

curl -fsSL https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/install-disable-trackpad-while-typing.sh -o install-dwt.sh
chmod +x install-dwt.sh
./install-dwt.sh
  1. Open Omarchy Menu and run the interactive setup:

    • Super+Alt+Space → Setup → Input → Disable on Typing
  2. Restart Hyprland when prompted

What Gets Installed

The installer will:

  • Download omarchy-disable-trackpad-while-typing (main runtime script)
  • Download omarchy-disable-trackpad-while-typing-tui (interactive setup tool)
  • Install both to ~/.local/share/omarchy/bin/
  • Update omarchy-menu to add the menu entry (Setup → Input → Disable on Typing)
  • Add configuration comments to ~/.config/hypr/input.conf

Note: The TUI setup tool will configure ~/.config/hypr/autostart.conf when you run it.

Features

  • Automatic trackpad disabling while typing with configurable timeout
  • Instant re-enable on modifier keys (Ctrl, Alt, Shift, Super, Esc)
  • Window focus integration - enables trackpad when switching windows
  • Smart detection of focus movement keybindings
  • Multi-device support - handles devices with multiple interfaces (e.g., Magic Trackpad)
  • Interactive TUI setup - guides you through device selection

Configuration

After installation, configure via Omarchy Menu:

  • Super+Alt+Space → Setup → Input → Disable on Typing

The interactive TUI will guide you through:

  1. Installing required dependencies (evtest, socat)
  2. Setting up passwordless sudo
  3. Selecting your keyboard device
  4. Selecting your trackpad/mouse device
  5. Choosing a timeout duration
  6. Writing the configuration automatically

Uninstallation

Quick uninstall:

curl -fsSL https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/uninstall-wrapper.sh | bash

Or using your short link:

curl hdwy.link/uninstall-dwt | bash

Manual uninstall:

curl -fsSL https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/uninstall-disable-trackpad-while-typing.sh -o uninstall-dwt.sh
chmod +x uninstall-dwt.sh
./uninstall-dwt.sh

The uninstall script will:

  • Stop any running instances
  • Remove the DWT scripts
  • Unpatch omarchy-menu (reverses the DWT integration)
  • Remove sudoers configuration
  • Clean up configuration files (with backups)
  • Offer to remove dependencies (evtest, socat) if not needed by other packages

Troubleshooting

Script doesn't start automatically:

  • Verify both keyboard and trackpad devices are configured in input.conf
  • Check that passwordless sudo is set up: sudo -n omarchy-disable-trackpad-while-typing --help
  • Run the setup again via Omarchy Menu: Super+Alt+Space → Setup → Input → Disable on Typing

Trackpad not disabling:

  • Verify you're using the internal keyboard (not external)
  • Check device paths with evtest
  • Ensure the script is running: ps aux | grep omarchy-disable-trackpad-while-typing

Permission errors:

  • The TUI setup configures passwordless sudo automatically when run via Omarchy Menu
  • Make sure you're running it through the menu, not directly from terminal

Source

Branch: https://github.com/jondkinney/armarchy/tree/disable-trackpad-while-typing-tui-config

#!/usr/bin/env bash
# Install script for Omarchy Disable Trackpad While Typing feature
# This script downloads and installs the feature from the GitHub PR branch
set -euo pipefail
# Define logging functions
info() { echo -e "\033[34m[INFO]\033[0m $*"; }
success() { echo -e "\033[32m[SUCCESS]\033[0m $*"; }
warn() { echo -e "\033[33m[WARN]\033[0m $*"; }
error() { echo -e "\033[31m[ERROR]\033[0m $*"; }
# GitHub configuration
GITHUB_USER="jondkinney"
GITHUB_REPO="armarchy"
GITHUB_BRANCH="disable-trackpad-while-typing-tui-config"
BASE_URL="https://raw.githubusercontent.com/${GITHUB_USER}/${GITHUB_REPO}/${GITHUB_BRANCH}"
# Installation paths
INSTALL_DIR="$HOME/.local/share/omarchy/bin"
INPUT_CONF="$HOME/.config/hypr/input.conf"
# Files to download
SCRIPT_MAIN="omarchy-disable-trackpad-while-typing"
SCRIPT_TUI="omarchy-disable-trackpad-while-typing-tui"
MENU_SCRIPT="omarchy-menu"
main() {
local header="Omarchy: Disable Trackpad While Typing Installer"
local separator=$(printf '=%.0s' $(seq 1 ${#header}))
echo "$separator"
echo "$header"
echo "$separator"
echo ""
# Check if we're on an Omarchy system
if [ ! -d "$HOME/.local/share/omarchy" ]; then
error "Omarchy installation not found at $HOME/.local/share/omarchy"
error "This installer is designed for Omarchy systems only"
exit 1
fi
# Check for required dependencies
if ! command -v curl &>/dev/null; then
error "curl is required but not installed"
echo ""
exit 1
fi
# Create install directory if it doesn't exist
info "Ensuring installation directory exists..."
mkdir -p "$INSTALL_DIR"
success "Installation directory ready: $INSTALL_DIR"
echo ""
# Download and install scripts
info "Downloading scripts from GitHub branch..."
download_and_install_script "$SCRIPT_MAIN"
download_and_install_script "$SCRIPT_TUI"
echo ""
# Update omarchy-menu
info "Updating Omarchy menu..."
update_omarchy_menu
echo ""
# Configure Hyprland
info "Configuring Hyprland..."
configure_input_conf
echo ""
# Final instructions
local message="Installation complete!"
local separator=$(printf '=%.0s' $(seq 1 $((${#message} + 10))))
echo "$separator"
success "$message"
echo "$separator"
echo ""
info "Next steps:"
echo " 1. Open Omarchy Menu: Super+Alt+Space → Setup → Input → Disable on Typing"
echo ""
echo " 2. Follow the interactive setup to configure your devices"
echo ""
echo " 3. Restart Hyprland when prompted"
echo ""
info "The script will start automatically on next login after configuration"
}
download_and_install_script() {
echo
local script_name="$1"
local download_url="${BASE_URL}/bin/${script_name}"
local install_path="${INSTALL_DIR}/${script_name}"
# Check if file already exists
if [ -f "$install_path" ]; then
warn "File already exists: $install_path"
read -p "Overwrite? [y/N]: " -n 1 -r </dev/tty
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
info "Skipping $script_name"
return
else
echo
fi
fi
# Download the file
info "Downloading $script_name..."
if curl -fsSL "$download_url" -o "$install_path"; then
chmod +x "$install_path"
success "Installed: $script_name"
else
error "Failed to download $script_name from $download_url"
error "Please check your internet connection and that the branch exists"
exit 1
fi
}
configure_input_conf() {
echo
# Check if configuration already exists (not commented out)
if grep -q '^\s*env = OMARCHY_TRACKPAD_DWT' "$INPUT_CONF" 2>/dev/null; then
warn "Disable-while-typing configuration already exists in $INPUT_CONF"
info "Skipping input.conf configuration"
return
fi
# Append configuration
info "Adding configuration to $INPUT_CONF..."
{
echo ""
echo "# Trackpad: Disable While Typing (DWT) setup script"
echo "# This enables automatic trackpad disabling while typing to prevent accidental"
echo "# cursor movement which is a particuarly annoying issue on MacBooks and other"
echo "# laptops with large trackpads running Linux."
echo "#"
echo "# To use this feature:"
echo "# 1. Open Omarchy Menu (Super+Alt+Space) → Setup → Input → Disable on Typing"
echo "# (or run directly: omarchy-disable-trackpad-while-typing-tui)"
echo "# 2. Follow the interactive setup to configure your devices"
echo "# 3. You have to restart hyprland before the changes take effect. The TUI"
echo "# prompts you to offer this."
echo "#"
echo "# The script ONLY runs if both keyboard and trackpad devices are configured"
echo "# env = OMARCHY_TRACKPAD_DWT_KEYBOARD,/dev/input/event1 # REQUIRED - your keyboard device"
echo "# env = OMARCHY_TRACKPAD_DWT_TRACKPAD,/dev/input/event2 # REQUIRED - your trackpad device"
echo "# env = OMARCHY_TRACKPAD_DWT_TIMEOUT,1.5 # Optional - timeout in seconds (default: 1.5)"
} >> "$INPUT_CONF"
success "Configuration added to input.conf"
}
update_omarchy_menu() {
local menu_path="${INSTALL_DIR}/${MENU_SCRIPT}"
# Check if file exists
if [ ! -f "$menu_path" ]; then
error "Omarchy menu not found at $menu_path"
return 1
fi
# Check if menu already has the DWT integration
if grep -q "show_setup_input_menu" "$menu_path" 2>/dev/null; then
success "Omarchy menu already has DWT integration"
return
fi
# Backup existing menu
local backup_path="${menu_path}.backup-$(date +%Y%m%d-%H%M%S)"
cp "$menu_path" "$backup_path"
info "Backed up existing menu to $backup_path"
echo
# Patch 1: Add the show_setup_input_menu function after show_setup_menu
info "Adding show_setup_input_menu function..."
# Find the line number where we should insert the function (after show_setup_menu closes)
local insert_line=$(grep -n "^show_setup_power_menu()" "$menu_path" | head -1 | cut -d: -f1)
if [ -z "$insert_line" ]; then
error "Could not find insertion point for show_setup_input_menu function"
error "Restoring backup..."
cp "$backup_path" "$menu_path"
return 1
fi
# Insert the new function before show_setup_power_menu
sed -i "${insert_line}i\\
show_setup_input_menu() {\\
case \$(menu \"Input Setup\" \" Disable on Typing\\\\n Config Input Opts\") in\\
*Disable*) present_terminal omarchy-disable-trackpad-while-typing-tui ;;\\
*Config*) open_in_editor ~/.config/hypr/input.conf ;;\\
*) show_setup_menu ;;\\
esac\\
}\\
\\
" "$menu_path"
if [ $? -ne 0 ]; then
error "Failed to add show_setup_input_menu function"
error "Restoring backup..."
cp "$backup_path" "$menu_path"
return 1
fi
success "Added show_setup_input_menu function"
echo
# Patch 2: Change the Input handler to call show_setup_input_menu
info "Updating Input menu handler..."
if grep -q "\*Input\*) open_in_editor ~/.config/hypr/input.conf ;;" "$menu_path"; then
sed -i 's|\*Input\*) open_in_editor ~/.config/hypr/input.conf ;;|\*Input\*) show_setup_input_menu ;;|' "$menu_path"
if [ $? -ne 0 ]; then
error "Failed to update Input menu handler"
error "Restoring backup..."
cp "$backup_path" "$menu_path"
return 1
fi
success "Updated Input menu handler"
else
warn "Input menu handler not found in expected format"
warn "You may need to manually update the menu"
fi
echo
success "Omarchy menu patched successfully"
info "Backup available at: $backup_path"
}
# Show usage
if [ "${1:-}" = "--help" ] || [ "${1:-}" = "-h" ]; then
cat <<EOF
Usage: $(basename "$0")
Install the Omarchy Disable Trackpad While Typing feature from the GitHub PR branch.
This script will:
1. Download the scripts from GitHub
2. Install them to ~/.local/share/omarchy/bin/
3. Patch omarchy-menu to add the new menu entry (creates backup)
4. Add configuration to ~/.config/hypr/input.conf
After installation, configure via Omarchy Menu:
Super+Alt+Space → Setup → Input → Disable on Typing
Source: https://github.com/${GITHUB_USER}/${GITHUB_REPO}/tree/${GITHUB_BRANCH}
EOF
exit 0
fi
main "$@"
#!/bin/bash
# Wrapper for install-disable-trackpad-while-typing.sh
# This wrapper preserves TTY/stdin so interactive prompts work when piped from curl
# Usage: curl https://gist.github.com/.../wrapper.sh | bash
# Save stdin to file descriptor 3 to preserve TTY for interactive prompts
exec 3<&1
# Gist raw URL
GIST_URL="https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/install-disable-trackpad-while-typing.sh"
# Download and execute with preserved stdin
if command -v curl &> /dev/null; then
bash <&3 <(curl -fsSL "$GIST_URL" 2> /dev/null)
elif command -v wget &> /dev/null; then
bash <&3 <(wget -qO- "$GIST_URL" 2> /dev/null)
else
echo "Error: neither curl nor wget is available" >&2
exit 1
fi
#!/usr/bin/env bash
# Uninstall script for Omarchy Disable Trackpad While Typing feature
set -euo pipefail
# Define logging functions
info() { echo -e "\033[34m[INFO]\033[0m $*"; }
success() { echo -e "\033[32m[SUCCESS]\033[0m $*"; }
warn() { echo -e "\033[33m[WARN]\033[0m $*"; }
error() { echo -e "\033[31m[ERROR]\033[0m $*"; }
# Installation paths
INSTALL_DIR="$HOME/.local/share/omarchy/bin"
INPUT_CONF="$HOME/.config/hypr/input.conf"
AUTOSTART_CONF="$HOME/.config/hypr/autostart.conf"
SUDOERS_FILE="/etc/sudoers.d/omarchy-trackpad-dwt"
# Scripts to remove
SCRIPT_MAIN="omarchy-disable-trackpad-while-typing"
SCRIPT_TUI="omarchy-disable-trackpad-while-typing-tui"
MENU_SCRIPT="omarchy-menu"
main() {
local header="Omarchy: Disable Trackpad While Typing Uninstaller"
local separator=$(printf '=%.0s' $(seq 1 ${#header}))
echo "$separator"
echo "$header"
echo "$separator"
echo ""
# Confirm uninstall
warn "This will remove the Disable Trackpad While Typing feature"
read -p "Continue with uninstall? [y/N]: " -n 1 -r </dev/tty
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
info "Uninstall cancelled"
exit 0
fi
echo ""
# Stop any running instances
info "Stopping any running instances..."
pkill -f "$SCRIPT_MAIN" 2>/dev/null || true
success "Stopped running instances"
echo ""
# Remove scripts
info "Removing scripts..."
remove_scripts
echo ""
# Restore menu
info "Restoring omarchy-menu..."
restore_menu
echo ""
# Remove sudoers rule
info "Removing sudoers configuration..."
remove_sudoers
echo ""
# Clean up config files
info "Cleaning up configuration files..."
cleanup_config_files
echo ""
# Remove dependencies
info "Checking dependencies..."
remove_dependencies
echo ""
# Final message
local message="Uninstall complete!"
local separator=$(printf '=%.0s' $(seq 1 $((${#message} + 10))))
echo "$separator"
success "$message"
echo "$separator"
echo ""
info "The Disable Trackpad While Typing feature has been removed"
echo ""
warn "Note: You may want to restart Hyprland to fully clear the feature"
echo " (Super+Esc → Relaunch)"
}
remove_scripts() {
local removed=false
if [ -f "${INSTALL_DIR}/${SCRIPT_MAIN}" ]; then
rm -f "${INSTALL_DIR}/${SCRIPT_MAIN}"
success "Removed ${SCRIPT_MAIN}"
removed=true
fi
if [ -f "${INSTALL_DIR}/${SCRIPT_TUI}" ]; then
rm -f "${INSTALL_DIR}/${SCRIPT_TUI}"
success "Removed ${SCRIPT_TUI}"
removed=true
fi
if ! $removed; then
info "Scripts were not found (already removed?)"
fi
}
restore_menu() {
local menu_path="${INSTALL_DIR}/${MENU_SCRIPT}"
# Check if menu has DWT integration
if ! grep -q "show_setup_input_menu" "$menu_path" 2>/dev/null; then
info "Menu doesn't have DWT integration (already removed?)"
return
fi
# Create a backup before uninstalling
local backup_path="${menu_path}.backup-$(date +%Y%m%d-%H%M%S)"
cp "$menu_path" "$backup_path"
info "Created backup at $backup_path"
echo
# Patch 1: Revert the Input handler to open editor directly
info "Reverting Input menu handler..."
if grep -q "\*Input\*) show_setup_input_menu ;;" "$menu_path"; then
sed -i 's|\*Input\*) show_setup_input_menu ;;|\*Input\*) open_in_editor ~/.config/hypr/input.conf ;;|' "$menu_path"
if [ $? -eq 0 ]; then
success "Reverted Input menu handler"
else
error "Failed to revert Input menu handler"
warn "You may need to manually edit $menu_path"
fi
else
warn "Input menu handler not found in expected format"
fi
echo
# Patch 2: Remove the show_setup_input_menu function
info "Removing show_setup_input_menu function..."
# Use sed to delete the function (from the function declaration to the closing brace)
sed -i '/^show_setup_input_menu() {$/,/^}$/d' "$menu_path"
if [ $? -eq 0 ]; then
success "Removed show_setup_input_menu function"
else
error "Failed to remove show_setup_input_menu function"
warn "You may need to manually edit $menu_path"
fi
echo
# Clean up old backup files
local old_backups=$(ls -t "${menu_path}.backup-"* 2>/dev/null | tail -n +2)
if [ -n "$old_backups" ]; then
echo
read -p "Remove old backup files? [Y/n]: " -n 1 -r </dev/tty
echo ""
if [[ ! $REPLY =~ ^[Nn]$ ]]; then
echo "$old_backups" | xargs rm -f
success "Removed old backup files"
info "Keeping most recent backup at $backup_path"
else
info "Keeping all backup files at ${INSTALL_DIR}"
fi
fi
}
remove_sudoers() {
# Check if file exists (need sudo to see files in /etc/sudoers.d/)
# Redirect stdin to prevent sudo from consuming it
if sudo </dev/null test -f "$SUDOERS_FILE"; then
if sudo </dev/null rm "$SUDOERS_FILE"; then
success "Removed sudoers configuration"
else
error "Failed to remove sudoers file"
warn "You may need to manually run: sudo rm $SUDOERS_FILE"
fi
else
info "Sudoers configuration not found (already removed?)"
fi
}
cleanup_config_files() {
local cleaned=false
# Remove from input.conf (check for active config, not comments)
if [ -f "$INPUT_CONF" ] && grep -q '^\s*env = OMARCHY_TRACKPAD_DWT' "$INPUT_CONF" 2>/dev/null; then
# Create backup
cp "$INPUT_CONF" "${INPUT_CONF}.backup-$(date +%Y%m%d-%H%M%S)"
# Remove default comment blocks if they haven't been customized
# Installer's multi-line comment block
if grep -q '^# Trackpad: Disable While Typing (DWT) setup script$' "$INPUT_CONF" 2>/dev/null; then
# Check if line before the comment is blank, and delete it if so
sed -i '/^$/{N;/\n# Trackpad: Disable While Typing (DWT) setup script$/s/^.*\n//;}' "$INPUT_CONF"
# Delete the comment block itself (from start through last example line)
sed -i '/^# Trackpad: Disable While Typing (DWT) setup script$/,/^# env = OMARCHY_TRACKPAD_DWT_TIMEOUT.*# Optional - timeout in seconds (default: 1\.5)$/d' "$INPUT_CONF"
fi
# TUI's single-line comment
if grep -q '^# Trackpad disable-while-typing (configured by omarchy-disable-trackpad-while-typing-tui)$' "$INPUT_CONF" 2>/dev/null; then
# Check if line before the comment is blank, and delete it if so
sed -i '/^$/{N;/\n# Trackpad disable-while-typing (configured by omarchy-disable-trackpad-while-typing-tui)$/s/^.*\n//;}' "$INPUT_CONF"
# Delete the comment line
sed -i '/^# Trackpad disable-while-typing (configured by omarchy-disable-trackpad-while-typing-tui)$/d' "$INPUT_CONF"
fi
# Remove the actual env lines
sed -i '/^\s*env = OMARCHY_TRACKPAD_DWT/d' "$INPUT_CONF"
echo
success "Removed configuration from input.conf"
info "Backup saved to ${INPUT_CONF}.backup-$(date +%Y%m%d-%H%M%S)"
cleaned=true
fi
# Remove from autostart.conf (check for active config, not comments)
if [ -f "$AUTOSTART_CONF" ] && grep -q '^\s*exec-once.*omarchy-disable-trackpad-while-typing' "$AUTOSTART_CONF" 2>/dev/null; then
# Create backup
cp "$AUTOSTART_CONF" "${AUTOSTART_CONF}.backup-$(date +%Y%m%d-%H%M%S)"
# Remove TUI's comment (including preceding blank line) if it hasn't been customized
if grep -q '^# Trackpad disable-while-typing$' "$AUTOSTART_CONF" 2>/dev/null; then
# Remove blank line before the comment
sed -i '/^$/{N;/\n# Trackpad disable-while-typing$/d;}' "$AUTOSTART_CONF"
sed -i '/^# Trackpad disable-while-typing$/d' "$AUTOSTART_CONF"
fi
# Remove the actual exec-once line
sed -i '/^\s*exec-once.*omarchy-disable-trackpad-while-typing/d' "$AUTOSTART_CONF"
echo
success "Removed configuration from autostart.conf"
info "Backup saved to ${AUTOSTART_CONF}.backup-$(date +%Y%m%d-%H%M%S)"
cleaned=true
fi
if ! $cleaned; then
info "Configuration files were clean (already removed?)"
fi
}
remove_dependencies() {
local packages_to_remove=()
# Check evtest
if command -v evtest &>/dev/null; then
local evtest_required=$(pacman -Qi evtest 2>/dev/null | grep "Required By" | cut -d: -f2 | xargs)
if [ "$evtest_required" = "None" ]; then
packages_to_remove+=("evtest")
fi
fi
# Check socat
if command -v socat &>/dev/null; then
local socat_required=$(pacman -Qi socat 2>/dev/null | grep "Required By" | cut -d: -f2 | xargs)
if [ "$socat_required" = "None" ]; then
packages_to_remove+=("socat")
fi
fi
# If no packages to remove, inform and return
if [ ${#packages_to_remove[@]} -eq 0 ]; then
info "No unused dependencies to remove"
return
fi
# Ask user if they want to remove
echo
warn "The following dependencies are not required by other packages:"
for pkg in "${packages_to_remove[@]}"; do
echo " - $pkg"
done
echo
read -p "Remove these packages? [y/N]: " -n 1 -r </dev/tty
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
for pkg in "${packages_to_remove[@]}"; do
echo
info "Removing $pkg..."
# Redirect stdin to prevent sudo from consuming it
if sudo </dev/null pacman -Rns --noconfirm "$pkg" &>/dev/null; then
success "Removed $pkg"
else
warn "Failed to remove $pkg"
fi
done
else
info "Keeping dependencies installed"
fi
}
# Show usage
if [ "${1:-}" = "--help" ] || [ "${1:-}" = "-h" ]; then
cat <<EOF
Usage: $(basename "$0")
Uninstall the Omarchy Disable Trackpad While Typing feature.
This script will:
1. Stop any running instances
2. Remove the DWT scripts
3. Unpatch omarchy-menu (reverses the DWT integration)
4. Remove sudoers configuration
5. Clean up configuration files (with backups)
6. Offer to remove dependencies (evtest, socat) if not needed by other packages
Note: Restart Hyprland after uninstalling for changes to take full effect.
EOF
exit 0
fi
main "$@"
#!/bin/bash
# Wrapper for uninstall-disable-trackpad-while-typing.sh
# This wrapper preserves TTY/stdin so interactive prompts work when piped from curl
# Usage: curl https://gist.github.com/.../uninstall-wrapper.sh | bash
# Save stdin to file descriptor 3 to preserve TTY for interactive prompts
exec 3<&1
# Gist raw URL
GIST_URL="https://gist.github.com/jondkinney/24c28043f54cdfa9891084c7e4e7b9a9/raw/uninstall-disable-trackpad-while-typing.sh"
# Download and execute with preserved stdin
if command -v curl &> /dev/null; then
bash <&3 <(curl -fsSL "$GIST_URL" 2> /dev/null)
elif command -v wget &> /dev/null; then
bash <&3 <(wget -qO- "$GIST_URL" 2> /dev/null)
else
echo "Error: neither curl nor wget is available" >&2
exit 1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment