hlfw.ca

hwwm

ref: 571594cdd1432a11edfee7e42d952c889b95736a
dir: /stack/

View raw version
#!/usr/bin/env bash
# Handler to push window to top of stack

unset MAPPED

# If we call a tab by name
if [[ $1 ]]; then

  lsgrp 2 | xargs mapw -u
  
  while read -r id; do
    if watom "$id" WM_NAME | grep -i "$1"; then
      MAPPED="$id"
    fi
  done < <(lsw -a)
  
  if [[ $MAPPED ]]; then  
    chwso -r "$MAPPED"
    mapw  -m "$MAPPED"
  fi

# Toggle group visibilty
else
  
  while read -r id; do
    if wattr m "$id"; then
      MAPPED="$id"
    fi
    mapw -u "$id"
  done < <(lsgrp 2)

  # Toggle off
  if [[ $MAPPED ]]; then
    chwso -r "$MAPPED"
  else
    # Toggle on top window in stack
    mapw -m "$(lsgrp 2 | tail -n 1)"
  fi

fi