SUBTLER(1)

πŸ’– SUBTLER πŸ’–

okay bestie, gather round, because this is subtler β€” a commandline interface for subtle. yes THE subtle. no cap. πŸŽ€


✨ SYNOPSIS ✨

subtler [GENERIC|MODIFIER] GROUP ACTION [ARG1] [ARG2]

🌸 DESCRIPTION 🌸

so subtler is a commandline tool that lets you interact with an EWMH/NetWM compatible window manager β€” and especially with subtle(1) β€” straight from your shell. it's giving terminal-to-window-manager bestie energy fr fr πŸ¦‹

the arguments of subtler are quite complex and allow a variety of spellings and different numbers of arguments. most of the commands require at least one argument and return output of following format:


🫢 FORMAT 🫢

πŸ“₯ INPUT

  • DISPLAY :<display number>
  • ID <number>
  • GEOMETRY <x>x<y>+<width>+<height>
  • NAME <string|number>
  • DATA <string|number>
  • PATTERN matching works either via plaintext, regex(7), id or window id if applicable. if a pattern matches more than once ALL matches are used. periodt πŸ’…

if the PATTERN is - subtler will read from stdin.

πŸ“€ OUTPUT

  • Client listing <window id> <visibility> <view id> <geometry> <gravity> <flags> <instance name> (<class name>)
  • Gravity listing <gravity id> <geometry>
  • Screen listing <screen id> <geometry>
  • Tag listing <tag name>
  • Tray listing <window id> <instance name> (<class name>)
  • View listing <window id> <visibility> <view id> <view name>

πŸ” FIELDS πŸ”

  • <window id> β€” Numeric (hex) id (e.g. 0xa00009)
  • <visibility> β€” - = not visible, * = visible
  • <view id> β€” Numeric id (e.g. 5)
  • <geometry> β€” x x y + width + height
  • <flags> β€” - = not set, + = fullscreen, ^ = float, * = stick, ~ = resize, = = zaphod, ! = fixed
  • <instance name> β€” Window instance/resource name
  • <class name> β€” Window class name
  • <gravity id> β€” Numeric id of gravity (e.g. 2)
  • <screen id> β€” Numeric id of a screen (e.g. 1)
  • <tag name> β€” Name of a tag (e.g. terms)

🌈 OPTIONS 🌈

🌟 GENERIC

  • -d, --display=DISPLAY β€” Connect to DISPLAY (default: :0)
  • -h, --help β€” Show this help and exit
  • -V, --version β€” Show version info and exit
  • -p, --proc β€” This creates a ruby proc from the given argument and yields the result of the group to it as parameter param.

Examples:

subtler -cl -p "puts param.name"
subtler -cC -p "param.gravity = { terms: :left }"

πŸ’« MODIFIER

  • -r, --reload β€” Reload subtle
  • -R, --restart β€” Restart subtle
  • -q, --quit β€” Quit subtle
  • -C, --current β€” Select current active window/view instead of passing it via argument.

Example: subtler -cCf

  • -X, --select β€” Select a window via pointer instead of passing it via argument.

Example: subtler -cXf

πŸŽ€ GROUPS

  • -c, --Client β€” Use client group
  • -g, --Gravity β€” Use gravity group
  • -e, --Screen β€” Use screen group
  • -s, --Sublet β€” Use sublet group
  • -t, --Tag β€” Use tag group
  • -y, --Tray β€” Use tray group
  • -v, --View β€” Use views group

πŸͺŸ ACTIONS FOR CLIENTS

  • -f, --find => PATTERN β€” Find client

Example: subtler -cf urxvt

  • -o, --focus => PATTERN β€” Set focus to client

Example: subtler -co urxvt

  • -F, --full => PATTERN β€” Toggle full

Example: subtler -cF urxvt

  • -O, --float => PATTERN β€” Toggle float

Example: subtler -cO urxvt

  • -S, --stick => PATTERN β€” Toggle stick

Example: subtler -cS urxvt

  • -N, --urgent => PATTERN β€” Toggle urgent

Example: subtler -cN urxvt

  • -l, --list β€” List all clients
  • -T, --tag => PATTERN β€” Add tag to client

Example: subtler -cT urxvt tag

  • -U, --untag => PATTERN NAME β€” Remove tag from client

Example: subtler -cU urxvt tag

  • -G, --tags => PATTERN β€” Show client tags

Example: subtler -cG urxvt

  • -Y, --gravity => PATTERN PATTERN β€” Set client gravity

Example: subtler -cY urxvt gravity

  • -E, --raise => PATTERN β€” Raise client window

Example: subtler -cE urxvt

  • -L, --lower => PATTERN β€” Lower client window

Example: subtler -cL urxvt

  • -k, --kill => PATTERN β€” Kill client

Example: subtler -ck urxvt

🧲 ACTIONS FOR GRAVITIES

  • -a, --add => NAME GEOMETRY β€” Create new gravity

Example: subtler -ga test 0x0+100+100

  • -l, --list β€” List all gravities

Example: subtler -gl

  • -f, --find => PATTERN β€” Find a gravity

Example: subtler -gf center

  • -k, --kill => PATTERN β€” Kill gravity

Example: subtler -gk center

πŸ–₯️ ACTIONS FOR SCREENS

  • -l, --list β€” List all screens

Example: subtler -el

  • -f, --find => ID β€” Find a screen

Example: subtler -ef 0

🧩 ACTIONS FOR SUBLETS

  • -l, --list β€” List all sublets

Example: subtler -sl

  • -f, --find => PATTERN β€” Find sublet

Example: subtler -sf sublet

  • -u, --update β€” Updates value of sublet

Example: subtler -su

  • -D, --data => PATTERN DATA β€” Send data to sublet

Example: subtler -sD sublet something

  • -k, --kill => PATTERN β€” Kill sublet

Example: subtler -sk PATTERN

🏷️ ACTIONS FOR TAGS

  • -a, --add => NAME β€” Create new tag

Example: subtler -ta tag

  • -f, --find => PATTERN β€” Find all clients/views by tag

Example: subtler -ta tag

  • -l, --list β€” List all tags

Example: subtler -tl

  • -I, --clients β€” Show clients with tag

Example: subtler -tI

  • -k, --kill => PATTERN β€” Kill tag

Example: subtler -tk PATTERN

πŸ“ ACTIONS FOR TRAYS

  • -f, --find => PATTERN β€” Find a tray

Example: subtler -yf PATTERN

  • -l, --list β€” List all trays

Example: subtler -yl

  • -k, --kill => PATTERN β€” Kill tray

Example: subtler -yk PATTERN

πŸ‘‘ ACTIONS FOR VIEWS

  • -a, --add => NAME β€” Create new view

Example: subtler -va NAME

  • -f, --find => PATTERN β€” Find a view

Example: subtler -vf PATTERN

  • -l, --list β€” List all views

Example: subtler -vl

  • -T, --tag => PATTERN NAME β€” Add tag to view

Example: subtler -vT terms tag

  • -U, --untag => PATTERN NAME β€” Remove tag from view

Example: subtler -vT terms tag

  • -G, --tags β€” Show view tags

Example: subtler -vG terms

  • -I, --clients β€” Show clients on view

Example: subtler -vI terms

  • -k, --kill => PATTERN β€” Kill view

Example: subtler -vk terms


πŸ’€ BUGS πŸ’€

Report bugs at http://subforge.org/projects/subtle/issues Homepage: http://subtle.subforge.org


Copyright (c) Christoph Kappel <unexist@subforge.org>


πŸ”— SEE ALSO πŸ”—

subtle(1), subtlext(1), sur(1), surserver(1)


and that's the whole page bestie, mwah πŸ’‹ this lil gem is from November 2011 β€” SUBTLER(1) β€” go forth and wrangle some windows, you absolute icon 🫢✨