{"id":32651761,"url":"https://github.com/timball/stewfe","last_synced_at":"2026-07-08T07:31:04.864Z","repository":{"id":317632379,"uuid":"1065522938","full_name":"timball/stewfe","owner":"timball","description":"Split Terminal Emulator Window For Editing -- a way to start your editor in a split window","archived":false,"fork":false,"pushed_at":"2025-10-02T02:47:18.000Z","size":841,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-02T04:23:24.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timball.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T22:31:29.000Z","updated_at":"2025-09-27T23:11:18.000Z","dependencies_parsed_at":"2025-10-02T04:33:39.951Z","dependency_job_id":null,"html_url":"https://github.com/timball/stewfe","commit_stats":null,"previous_names":["timball/stewfe"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/timball/stewfe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timball%2Fstewfe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timball%2Fstewfe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timball%2Fstewfe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timball%2Fstewfe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timball","download_url":"https://codeload.github.com/timball/stewfe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timball%2Fstewfe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281953450,"owners_count":26589146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-31T08:00:24.774Z","updated_at":"2025-10-31T08:03:26.589Z","avatar_url":"https://github.com/timball.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STEWFE -- Split Terminal Emulator Window For Editing\n\n![screenshot of stewfe in action](img/a-split-terminal-and-editing-session.png)\n\nDo you use [iTerm](https://iterm2.com/) or\n[tmux](https://github.com/tmux/tmux/wiki) all day? Do you ever split iTerm or\ntmux windows to get more done? Ever want to directly edit a file in a split?\nHere's a little set of scripts to make that a little easier.\n\n## Installation\n\nPlace `stewfe_editor` somewhere in your path, like `~/bin/`. Source\n`stewfe.(nu|sh)` depending on what shell you use. Opitionally you can an alias\nfor your editor to `stewfe` or just use the `stewfe` function directly.\n\n### For Bash and Zsh\n```sh\n$ mv stewfe_editor ~/bin\n$ export PATH=${PATH}:~/bin\n$ source stewfe.sh\n$ # optionally set stewfe to your editor command\n$ alias ${EDITOR}=stewfe\n$ ${EDITOR} test-file.md\n$ stewfe test-file.md\n# this should split your iTerm or tmux window into the editor of your choice\n```\n\n### for nushell\n```nu\n$ mv stewfe_editor ~/bin\n$ $env.PATH = ($env.PATH | prepend \"~/bin\")\n$ source stewfe.nu\n$ # optionally you can now set an alias to your editor to stewfe\n$ alias YOUR-EDITOR-CMD = stewfe\n$ YOUR-EDITOR-CMD test-file.md\n$ stewfe test-file.md\n# this should split your iTerm or tmux window into the editor of your choice\n```\n\n### Setting for iTerm\nThere are several settings you must set in order for these script to fully work.\n\n    1. Set iTerm to open new sessions in the current working directory:\n       Preferences \u003e Advanced: \"Working directory for New Split\n       Panes\" -\u003e Reuse previous session's directory\n    2. To get the focus change to work right you must enable Accessibility for\n       iTerm to \"control your computer\" System Settings -\u003e Privacy \u0026\n       Security -\u003e Accessibility -\u003e + sign and navigate to list and add iTerm\n\n## Details\n\nThe sourced shell scripts define a shell function `stewfe` that tests for tmux,\niTerm, ssh connections and executes `${EDITOR}` in an appropriate context. For the \niTerm context it executes `stewfe_editor`. \n\nThe shell function depends on `${EDITOR}` being set so be sure to set `${EDITOR}`\nbefore you source the appropriate shell script. \n\nFurthermore I would NOT recommend setting `${EDITOR}=stewfe` as you'll create a\ncircular dependancy and you may inadvertently summon the devil.\n\n`stewfe_editor` is needed to call `osascript(1)` to execute `${EDITOR}` within\niTerm with the default profile inside a vertical split. For conviance\n`osascript` is called again to change window focus to the newly created\n`${EDITOR}` window. You must set iTerm to **Reuse previous session's directory**\n(see above).\n\n### Dependencies\n\n- [iTerm](https://iterm2.com/) or [tmux](https://github.com/tmux/tmux/wiki)\n- [bash](https://www.gnu.org/software/bash/) or [zsh](https://www.zsh.org/) or [nushell](https://www.nushell.sh/)\n\n## Future work\n\nHave a fix? [Send me a PR!](https://github.com/timball/stewfe/pulls) Have an problem that you can't fix? Send an\n[Issue Request](https://github.com/timball/stewfe/issues).\n\n- What about terminal emulators that aren't iTerm?\n    - There are lots of terminal emulators that aren't iTerm. There are lots of\n      folks that use splittable terminal emulators not on a Mac. I hear you,\n      please send a PR, or at least write an [Issue](https://github.com/timball/stewfe/issues)\n\n- What about some other editor?\n    - Sure you can do that, maybe I should make something support that.\n\n- Installing this is janky.\n    - Yup, sorry. It WFM but am HAPPY to take [PRs](https://github.com/timball/stewfe/pulls) to make this less\n      jank. For instance an install script would be nice, but I also hate when\n      things magically mess with my shell configs.\n\n- Can I do this with `screen(1)`?\n    - I spent 5m reading docs and couldn't figure it out. I don't thing screen\n      has this ability. \n\n## Credits\n\nAuthor: [@timball](https://github.com/timball/)\nDate: Fri Sep 19 15:44:18 EDT 2025\n\n## License\nGPLv3\nKeep this open source forever.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimball%2Fstewfe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimball%2Fstewfe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimball%2Fstewfe/lists"}