Skip to content

CoreBedtime/composer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Composer

OSX Extended Desktop

What is this?

The "Composer" serves as an augmentation to the OSX Desktop Environment. The primary objective is to grant users more control over the aesthetics and even functionality of their OSX desktop experience.

Tested on...

  • MacOS Ventura (Apple Silicon)

How to install? (requires XCode)

  • Turn off SIP
    • Restart your computer in Recovery mode.
    • Launch Terminal from the Utilities menu.
    • Run the command csrutil disable. (Warning can be ignored)
    • Restart your computer.
  • Turn on arm64e preview ABI (Apple Silicon only)
  • Install the Ammonia tweak loader
    • Run git clone https://github.com/CoreBedtime/ammonia.git
    • Run cd ammonia && ./setup_frida.sh && sudo ./install.sh
  • Run make clean && make -j8 && sudo pkill -9 WindowServer
  • Enjoy the magic.

How does it work?

Its actually pretty simple... We:

  • Resolve unexported symbols using the libSymRez library, allowing the interception of "secret" functions within the macOS WindowServer (among other places).
  • Initialize C and C++ function hooks using the Frida Gum DevKit and Objective-C runtime.
  • Profit!

Configuration...

Configuration file location is a bit peculiar due to the macOS sandboxing system and the way it determines which programs can access which files. The chosen directory for config is /Library/wsfun/. This way, all programs (and most importantly windowserver) can access config data.

Configs are written in the TOML format . An example of every configuration option can be found below.

Example Configuration:

[menubar]
height = 55
enable_png = true
apple_rgba = [255,255,255,255]
text_rgba = [255,255,255,255]

[window]
sharp_corner = true
hide_shadow = false
decor_width = 20
decor_width_in = 20
decor = true

Ideas (Todo??)

  • Dock hooks

    • Hide Dock
    • Position Dock
  • General hooks

    • A way to make ALL tasks respect window.sharp_corner

Where is this going?

Preferably, reaching a level of customization akin to the diversity offered by custom shells on Windows and the extensive desktop options available on Linux. Imagine a world where macOS users have the freedom to tailor most aspects of their desktop environment to suit their unique preferences, just like their counterparts on other operating systems.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages