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 likefield:query.fieldcan be one of:id,title,pid,cwd,cmdline,num,env,var,state,neighbor,sessionandrecent. andqueryis 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_windowmatches all windows in the currently focused OS window. - the value
selfmatches the window in which the remote control command is run. main character energy fr. - the value
overlay_parentmatches the window that is under theselfwindow, when theselfwindow 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-onoption or thelisten_onsetting inkitty.conf. if it's not specified, the environment variableKITTY_LISTEN_ONis 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 inkitty.conf. and to use a blank password, specify--use-passwordasalways. 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. usefd:numto read from the file descriptornum. this is used if no--passwordis supplied. defaults to checking for therc-passfile 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-fileis supplied. defaults to checking the environment variableKITTY_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 toalwaysorneveruse the supplied password. if set toalwaysand 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
- arch rolling: kitty 0.49.2-1 Β· GPL-3.0-only
- nixpkgs unstable: kitty-bin 0.49.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms