kitten-@-create-marker(1)

πŸ’… kitten-@-create-marker β€” bestie edition ✨

okay so real quick: this is a page from the kitten manual, and it's all about kitten @ create-marker, the little command that ✨*decorates your text*✨. buckle up, we're getting into it πŸŽ€


🌸 Name 🌸

kitten-@-create-marker β€” literally just: create a marker that highlights specified text. that's the whole vibe, no cap πŸ’–


πŸ¦‹ Usage πŸ¦‹

kitten @ create-marker  MARKER SPECIFICATION

✨ Description ✨

okay so here's the tea: you're creating a marker, and that marker can highlight text in the window you specify. iconic behavior honestly πŸ‘‘

like, for example:

create_marker text 1 ERROR

and for the full deets β€” the complete lore, if you will β€” go see: marks πŸ“–


πŸŽ€ Options πŸŽ€

  • --match, -m β€” the window to match. match specs are shaped like field:query. the 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 with. expressions can be a number or a regular expression, and you can smoosh them together with Boolean operators πŸ”₯

the special value all matches all the windows. every single one. the whole squad πŸ’…

for the numeric fields β€” id, pid, num and recent β€” the expression gets interpreted as a number, not a regex. negative values for id match from the highest id number going down, and specifically, -1 is the most recently created window ⭐

the field num refers to the window position in the current tab, starting from zero and counting clockwise (this is the same order the windows get reported by the kitten @ ls command, iykyk) πŸŒ€

the window id of the current window is available as the KITTY_WINDOW_ID environment variable 🫢

the field recent refers to recently active windows in the currently active tab β€” 0 is the currently active window, 1 is the previously active window, and so on πŸ•

the field neighbor refers to a neighbor of the active window in the direction you specify, and that direction 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 🌈

when you're using the env field to match on environment variables, you can specify just the environment variable name, or a name and a value, like 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, same as with the env field πŸ’œ

the field state matches on the state of the window. the supported states are: active, focused, needs_attention, parent_active, parent_focused, focused_os_window, self, overlay_parent. active windows are the windows that are active in their parent tab. there is only one focused window and it's the window that keyboard events get delivered to. if no window is focused, the last focused window is the one that gets 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. the value overlay_parent matches the window that's under the self window, when the self window is an overlay πŸ‘€

ngl, a little reminder: you can use the kitten @ ls command to get a list of windows πŸ”
  • --self [=no] β€” apply the marker to the window this command is run in, instead of the active window πŸ™ˆ
  • --help, -h [=no] β€” show help for this command. a little help never hurt nobody 🫢

⭐ Global options ⭐

  • --to β€” an address for the kitty instance to control. it 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 gets checked. and if that's also not found, messages are sent to the controlling terminal for this process β€” meaning they'll only work if this process is run within a kitty window πŸͺŸ
  • --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 already been accepted before or is pre-configured in kitty.conf. to use a blank password, specify --use-password as always πŸ”
  • --password-file [=rc-pass] β€” a file to read the password from. trailing whitespace gets ignored. relative paths are resolved from the kitty configuration directory. use - to read from STDIN. use fd:num to read from the file descriptor num. 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 gets used 🫧

choices: if-available, always, never βœ…


lowkey important: those password options are literally kitty's whole "are you sure you're allowed to do this" vibe check. don't skip 'em πŸ’€

alright bestie, that's the whole page!! this edition was version 0.49.2, dated Oct 01, 2026, and it's part of the kitten Manual 🧚 mwah, go highlight something gorgeous πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from