kitten-@-set-window-title(1)

πŸ’… NAME πŸ’…

ok so this is kitten-@-set-window-title(1) β€” straight out of the kitten Manual, bestie β€” and it's literally just Set the window title. that's the whole job. iconic behavior honestly πŸŽ€


✨ USAGE ✨

kitten @ set-window-title [TITLE ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: you wanna set the title for the windows you pick. if you use the --match option, the title gets set for all the matched windows β€” yes, all of them, slay. but by default? only the window where you ran the command gets the glow-up. no cap.

and here's the lil detail people always miss πŸ‘€ β€” if you don't specify a title at all, then the last title that the child process running in the window set is the one that gets used. it's giving "recycling but make it fashion" β™»οΈβœ¨


πŸ’– OPTIONS πŸ’–

  • --temporary [=no] β€” so normally the title change is permanent, like forever-forever, and programs running in the window can't change it again afterward. but if you want other programs to be able to change it later? use this option and everyone gets a turn 🫢
  • --match, -m β€” the window(s) to match. match specs look like field:query. field can be one of: id, title, pid, cwd, cmdline, num, env, var, state, neighbor, session and recent. and query is the expression you're matching on. expressions can be either a number or a regular expression, and you can combine them with Boolean operators. chef's kiss 🧚

the special value all matches all windows. yes. all of them. go off.

for the numeric fields β€” id, pid, num and recent β€” the expression gets interpreted as a number, not a regular expression. and negative values for id match from the highest id number down, so in particular, -1 is the most recently created window. iykyk πŸ”₯

the field num refers to the window position in the current tab, starting from zero and counting clockwise (this is the same as the order in which the windows are reported by the kitten @ ls command). clock bestie πŸ•

the window id of the current window is available as the KITTY_WINDOW_ID environment variable. handy!

the field recent refers to recently active windows in the currently active tab, with zero being the currently active window, one being the previously active window, and so on. ancestry dot com πŸ’€

the field neighbor refers to a neighbor of the active window in the specified direction, which can be: left, right, top or bottom.

the field session matches windows that were created in the specified session. use the expression ^$ to match windows that were not created in a session, and . to match the currently active session, and ~ to match either the currently active session or the last active session when no session is active. multitasking queen πŸ‘‘

when you're using the env field to match on environment variables, you can specify only the environment variable name, or a name and value β€” for example, env:MY_ENV_VAR=2. πŸ“

similarly, the var field matches on user variables set on the window. you can specify name, or name and value, exactly like with the env field.

the field state matches on the state of the window. supported states are: active, focused, needs_attention, parent_active, parent_focused, focused_os_window, self, overlay_parent. let's break it down because this is the part where everyone gets lost 😭

  • active windows are the windows that are active in their parent tab.
  • there is only one focused window, and it's the window to which keyboard events are delivered. if no window is focused, the last focused window is matched.
  • the value focused_os_window matches all windows in the currently focused OS window.
  • the value self matches the window in which the remote control command is run. main character energy fr.
  • the value overlay_parent matches the window that is under the self window, when the self window is an overlay. peekaboo πŸ™ˆ
note that you can use the kitten @ ls command to get a list of windows. go look, bestie, it's free.
  • --help, -h [=no] β€” show help for this command. the classic. the icon. ✨

🌈 GLOBAL OPTIONS 🌈

these bad boys work everywhere, not just here β€” hence "global":

  • --to β€” an address for the kitty instance to control. corresponds to the address given to the kitty instance via the --listen-on option or the listen_on setting in kitty.conf. if it's not specified, the environment variable KITTY_LISTEN_ON is checked. and if that's also not found? messages are sent to the controlling terminal for this process β€” i.e. they will only work if this process is run within a kitty window. so like... stay in your lane, but make it terminal 🫢
  • --password β€” a password to use when contacting kitty. this will cause kitty to ask the user for permission to perform the specified action, unless the password has been accepted before or is pre-configured in kitty.conf. and to use a blank password, specify --use-password as always. security queen behavior πŸ”
  • --password-file [=rc-pass] β€” a file from which to read the password. trailing whitespace is ignored (we don't do that here πŸ’…). relative paths are resolved from the kitty configuration directory. use - to read from STDIN. use fd:num to read from the file descriptor num. this is used if no --password is supplied. defaults to checking for the rc-pass file in the kitty configuration directory.
  • --password-env [=KITTY_RC_PASSWORD] β€” the name of an environment variable to read the password from. used if no --password-file is supplied. defaults to checking the environment variable KITTY_RC_PASSWORD. 🌸
  • --use-password [=if-available] β€” if no password is available, kitty will usually just send the remote control command without a password. this option can be used to force it to always or never use the supplied password. if set to always and no password is provided, the blank password is used. bold move, love it.

choices: if-available, always, never ⭐


okay that's the whole page, you're so welcome πŸ’œ this was 0.49.2, dated Oct 01, 2026, and it's still kitten-@-set-window-title(1) β€” go set some titles, bestie, you're gonna slay πŸŽ€πŸ‘‘

πŸ“¦ where this page comes from