{"id":18047368,"url":"https://github.com/cryogenicplanet/fenster","last_synced_at":"2025-10-10T22:49:12.945Z","repository":{"id":123571018,"uuid":"482483259","full_name":"CryogenicPlanet/fenster","owner":"CryogenicPlanet","description":"Sane Macos Spaces","archived":false,"fork":false,"pushed_at":"2022-12-28T02:41:06.000Z","size":13,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-27T04:56:11.810Z","etag":null,"topics":["desktops","macos","spaces"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CryogenicPlanet.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-04-17T09:43:21.000Z","updated_at":"2023-03-10T08:00:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6c8c508-09b1-4d52-b18d-50295b8d9fda","html_url":"https://github.com/CryogenicPlanet/fenster","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CryogenicPlanet/fenster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryogenicPlanet%2Ffenster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryogenicPlanet%2Ffenster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryogenicPlanet%2Ffenster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryogenicPlanet%2Ffenster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryogenicPlanet","download_url":"https://codeload.github.com/CryogenicPlanet/fenster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryogenicPlanet%2Ffenster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005460,"owners_count":26083902,"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-10T02:00:06.843Z","response_time":62,"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":["desktops","macos","spaces"],"created_at":"2024-10-30T19:11:11.849Z","updated_at":"2025-10-10T22:49:12.897Z","avatar_url":"https://github.com/CryogenicPlanet.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fenster - MacOS Space Manager\n\nThe main functionality fenster provides is to have good full screen spaces, in the future it might provide more.\n\n\nhttps://user-images.githubusercontent.com/10355479/163709379-b5c99dca-0123-41f3-ba43-e93c5b69e66e.mp4\n\n\n\n## Install\n\n\n[yabai](https://github.com/koekeishiya/yabai) - You need `yabai` to move spaces around which is critical for how Fenster works, in the future this might be something directly implemented\n    For `yabai` to work with this feature, you need to [Disable System Integrity Protection](https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection)\n\nAlso need to setup https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#configure-scripting-addition correctly\n\n\n```bash\n// ~/.yabairc\nyabai -m signal --add event=space_changed action=\"curl localhost:8090/prepare?oldSpace=\\${YABAI_RECENT_SPACE_ID}\u0026newSpace=\\${YABAI_SPACE_ID}\"\nyabai -m signal --add event=mission_control_enter action=\"curl localhost:8090/mission/enter\"\nyabai -m signal --add event=mission_control_exit action=\"curl localhost:8090/mission/exit\"\n\nsudo yabai --load-sa\n```\n\n### Installing fenster itself\n\nGo to https://github.com/CryogenicPlanet/fenster/releases and download the `fenster` binary for your platform\n\nMake sure it is in `/usr/local/bin` or somewhere in your path\n\n\n## Usage\n\nSetup callback\n```bash\nyabai -m signal --add event=space_changed action=\"curl localhost:8090/prepare?oldSpace=\\${YABAI_RECENT_SPACE_ID}\u0026newSpace=\\${YABAI_SPACE_ID}\"\nyabai -m signal --add event=mission_control_enter action=\"curl localhost:8090/mission/enter\"\nyabai -m signal --add event=mission_control_exit action=\"curl localhost:8090/mission/exit\"\n\n# In the future will be\n# fenster setup # not implement yet\n```\n\nRun the fenster server\n```\nfenster start\n```\n\n## Run server on startup\n\n```\ncrontab -e\n\n@reboot fenster start\n```\n\n## Disclaimer\n\nThis is really just written for me, so it may not make a lot of sense for you to use it. \n\nAlso the code here was written in like an hour and is really quite shit so don't judge me too much on it","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryogenicplanet%2Ffenster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryogenicplanet%2Ffenster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryogenicplanet%2Ffenster/lists"}