#!/bin/sh # Open a file descriptor for writing to create the lock if it doesn’t exist. We # need a lock because of race-conditions that could occur if you spam a toggle # over and over. exec 3>"${XDG_RUNTIME_DIR:-/run/user/`id -u`}/eww-toggle.lock" flock 3 for arg in "$@"; do { eww windows | grep -q "^\\*$arg$" && f=close || f=open eww $f "$arg" } & done wait