{"record":{"id":"53d2d9600c73f9c7","repo":"kovidgoyal/kitty","slug":"this-should-be-run-as-kitten-resize-window","errorCode":null,"errorMessage":"This should be run as kitten resize-window","messagePattern":"This should be run as kitten resize-window","errorType":"console","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"kittens/resize_window/main.py","lineNumber":23,"sourceCode":"\nOPTIONS = r\"\"\"\n--horizontal-increment\ndefault=2\ntype=int\nThe base horizontal increment.\n\n\n--vertical-increment\ndefault=2\ntype=int\nThe base vertical increment.\n\"\"\".format\nhelp_text = 'Resize the current window'\nusage = ''\n\n\ndef main(args: list[str]) -> None:\n    raise SystemExit('This should be run as kitten resize-window')\n\n\nif __name__ == '__main__':\n    main(sys.argv)\nelif __name__ == '__doc__':\n    cd = sys.cli_docs  # type: ignore\n    cd['usage'] = usage\n    cd['options'] = OPTIONS\n    cd['help_text'] = help_text\n    cd['short_desc'] = 'Resize the current window interactively'\n","sourceCodeStart":5,"sourceCodeEnd":34,"githubUrl":"https://github.com/kovidgoyal/kitty/blob/6d5d0c440603ad9bdf6dcd599f73f6dde21acb44/kittens/resize_window/main.py#L5-L34","documentation":"Same failure class as the subdirectory case but at the top-level per-URI staging directory: mkdirat for '<base_dir>/<uri_item_idx>' failed with a non-EEXIST errno, so the drag source setup aborts. Each dropped/promise URI gets its own numbered directory under the base dir.","triggerScenarios":"Creating the per-item staging directory (e.g. /tmp/kitty-drag-.../0) fails due to ENOSPC, EACCES, EMFILE, or a stale/removed base directory fd.","commonSituations":"Disk full or /tmp cleaned out (systemd-tmpfiles) mid-operation; kitty lacking write permission to XDG_RUNTIME_DIR/tmp; fd limits hit when dragging many items.","solutions":["Free space on the filesystem holding the staging base dir and confirm kitty can write there","Retry the drag — a base dir removed by tmp cleaners between operations is transient","Raise the process fd limit (ulimit -n) if dragging many simultaneous items"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"# Check base dir health before promising drag items\nimport os, shutil\nbase = drag_base_dir()\nif not os.path.isdir(base) or not os.access(base, os.W_OK):\n    raise IOError('drag staging base dir missing or read-only')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Ensure the staging base directory exists and is writable","Watch for tmp cleaners removing staging dirs mid-drag","Raise ulimit -n when dragging many items"],"tags":["drag-and-drop","mkdir","staging","kitty"],"backgroundTag":"mkdir-failed","analyzedSha":"6d5d0c440603ad9bdf6dcd599f73f6dde21acb44","analyzedAt":"2026-08-27T14:20:20.142Z","schemaVersion":2},"datasetVersion":"2026-08-27T19:17:21.184Z"}