Skip to content

CryogenicPlanet/fenster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fenster - MacOS Space Manager

The main functionality fenster provides is to have good full screen spaces, in the future it might provide more.

Fenster.Demo.mp4

Install

yabai - You need yabai to move spaces around which is critical for how Fenster works, in the future this might be something directly implemented For yabai to work with this feature, you need to Disable System Integrity Protection

Also need to setup https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#configure-scripting-addition correctly

// ~/.yabairc
yabai -m signal --add event=space_changed action="curl localhost:8090/prepare?oldSpace=\${YABAI_RECENT_SPACE_ID}&newSpace=\${YABAI_SPACE_ID}"
yabai -m signal --add event=mission_control_enter action="curl localhost:8090/mission/enter"
yabai -m signal --add event=mission_control_exit action="curl localhost:8090/mission/exit"

sudo yabai --load-sa

Installing fenster itself

Go to https://github.com/CryogenicPlanet/fenster/releases and download the fenster binary for your platform

Make sure it is in /usr/local/bin or somewhere in your path

Usage

Setup callback

yabai -m signal --add event=space_changed action="curl localhost:8090/prepare?oldSpace=\${YABAI_RECENT_SPACE_ID}&newSpace=\${YABAI_SPACE_ID}"
yabai -m signal --add event=mission_control_enter action="curl localhost:8090/mission/enter"
yabai -m signal --add event=mission_control_exit action="curl localhost:8090/mission/exit"

# In the future will be
# fenster setup # not implement yet

Run the fenster server

fenster start

Run server on startup

crontab -e

@reboot fenster start

Disclaimer

This is really just written for me, so it may not make a lot of sense for you to use it.

Also the code here was written in like an hour and is really quite shit so don't judge me too much on it