SpiraMira / HybridMode-Public

Public version of HybridMode repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hybrid Mode Patchers

Various Fixes for Mojave Light Mode on unsupported macs.

Please READ this entire page carefully before proceeding.

NEW PRE-RELEASE: 05/23/2019 - Version 1.5 for Mojave 10.14.5 Released here

04/09/2019 - Version 1.4.3 for Mojave 10.14.4 Released here

04/09/2019 - Version 1.4.2 for Mojave 10.14.3 Released here

Lovely Screen Shots

FullScreen "Hybrid" Light Mode with solid menubar

alt tag

alt tag

Running 32 bit app Steam...

alt tag

FullScreen "Hybrid" Dark Mode with solid menubar

alt tag

alt tag

FullScreen "Flat" Light Mode with solid menubar

alt tag

FullScreen "Flat" Dark with solid menubar

alt tag

Various UI Element Comparisons

TableView Sidebars

Light Mode Dark Mode
screen shot 2018-10-22 at 5 24 56 pm screen shot 2018-10-22 at 5 25 12 pm

SpotLight

Light Mode Dark Mode
screen shot 2018-10-22 at 9 08 16 am screen shot 2018-10-22 at 9 08 00 am

Creds to main collaborators:

History

  • April 09, 2019: v1.4.3
    • Compatible with Mojave 10.14.4
  • April 09, 2019: v1.4.4
    • Compatible with Mojave 10.14.3
  • December 14, 2018: v1.4.1
    • fixes v1.4 regressions. See release notes.
    • Compatible with Mojave 10.14.2
  • December 12, 2018: v1.4
    • Compatible with Mojave 10.14.2
  • November 09, 2018: v1.3
    • Compatible with Mojave 10.14.1
    • More UI fixes
  • November 2, 2018:
    • Mojave 10.14.1 compatibility (v1.2)
  • October 25, 2018:
    • Released Universal Binaries (32+64bit support)
  • October 24, 2018:
    • updated the hardware-compatibility-list with models tested in the private repo
    • updated the checksums for CoreUI
  • October 23, 2018:
    • repo goes public with solid menubar, flat mode and new hybrid mode with CoreUI patches

What This Is

Some key frameworks have been pacthed to provide the following effects:

Effect Framework Description
Solid menu bar HIToolbox a solid menu bar, white in Light and black in Dark. For a consistent menu bar presentation
Flat appearance with limited transparency AppKit To reduce transparency across the board (Light and Dark) without the Accessibility/Preferences shortcomings (Dock, Notification panels etc.)
Hybrid transparency CoreUI Fixes Light Mode Vibrancy for key UI elements by switching to other "materials" (in SystemAppearance.car) that seem to work on our old systems and GPUs.

Who This Is For

  • You managed to install Mojave on you unsuported mac
  • You have a non-metal GPU (like all the old macbook pros)
  • Light Mode "glitches" : ugly grey menu non-transparent menu bar, ugly grey app sidebars, ugly grey spotlight and tooltips etc.
  • System tweaks from the command line or Preferences>Accessibility don't totally satisfy or are cumbersome
  • You like to switch between modes while keeping a consistent look (without too many hassles)
  • You like Dark Mode also and especially transparency in the Dock, Notifications and other system panels

Notes

  • Now allowing Feature Requests via Issues or Pull Requesting (will require a github account - don't have one? Shame on you...)

Compatibility Information

TBD

How To Use

NOTE: These instructions are for experienced users. You must be comfortable with the Terminal and shell command lines. General purpose installers and wrappers are still in development. Stay Tuned for upcoming releases

  1. Disable [SIP] (If it isn't already)(https://developer.apple.com/library/content/documentation/Security/Conceptual/System_Integrity_Protection_Guide/ConfiguringSystemIntegrityProtection/ConfiguringSystemIntegrityProtection.html)[*](https://en.wikipedia.org/wiki/System_Integrity_Protection)
  2. Download the latest stable releases from here
  3. Navigate to the proper directory. Example:
  • For HIToolbox : cd /S*/L*/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Versions/Current
  • For AppKit : cd /S*/L*/Frameworks/AppKit.framework/Versions/Current
  • For CoreUI : cd /S*/L*/PrivateFrameworks/CoreUI.framework/Versions/Current
  1. Backup the original applications in a safe place (or rename to *.bak)
  • sudo cp [file] [file].bak
  1. Copy the downloaded patched application to its native location
  • For HIToolbox : /S*/L*/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Versions/Current/HIToolbox
  • For AppKit: /S*/L*/Frameworks/AppKit.framework/Versions/Current/AppKit
  • For CoreUI: /S*/L*/PrivateFrameworks/CoreUI.framework/Versions/Current/CoreUI
  1. Restart your device
  2. VoilĂ  - profit!

Troubleshootinhg

If the system no longer boots, DON'T PANIC nothing here will brick your system. Recover using one of the following techniques:

In Single User Mode (CMD-S) [NOTE-This is the preferred and quickest method!]

  • Wait for the console messages to end (note: there may be some spurious ones that pop up from time to time)
  • At the prompt mount your volume as read-write (it is read-only by default - for you protection)
    • mount -uw /
  • Navigate to to your framework's "Current" directory and locate the application binary you want to revert. Examples:
    • For AppKit cd /System/Library/Frameworks/AppKit.framework/Versions/Current
    • For HIToolbox cd /System/Library/Frameworks/Carbon.framework/Frameworks/HITToolbox.framework/Versions/Current
    • For CoreUI cd /System/Library/PrivateFrameworks/CoreUI.framework/Versions/Current
  • Locate your application backup (You DID back it up - right?)
  • Overwrite the current application with the backup. For example:
    • cp AppKit.bak AppKit or
    • cp HIToolbox.bak HIToolbox or
    • cp CoreUI.bak CoreUI
  • restart your computer -reboot -You should be good to go!

In Recovery Mode (CMD-R) or from a bootable external disk (can be a USB stick) (Press [Option] to select the volume)

  • Important: These instructions are basically the same as Single User Mode but YOU MUST navigate to your boot volume's root directory: something like /Volumes/[your Boot Volume Name here]
  • Navigate to to your framework's "Current" directory and locate the application binary you want to revert. Examples:
    • For AppKit cd /Volumes/[your Boot Volume Name here]/System/Library/Frameworks/AppKit.framework/Versions/Current
    • For HIToolbox cd /Volumes/[your Boot Volume Name here]/System/Library/Frameworks/Carbon.framework/Frameworks/HITToolbox.framework/Versions/Current
    • For CoreUI cd /Volumes/[your Boot Volume Name here]/System/Library/PrivateFrameworks/CoreUI.framework/Versions/Current
  • Locate your application backup (You DID back it up - right?)
  • Overwrite the current application with the backup. For example:
    • cp AppKit.bak AppKit or
    • cp HIToolbox.bak HIToolbox or
    • cp CoreUI.bak CoreUI
  • restart your computer -reboot -You should be good to go!

TODOs (in no particular order)

  • develop scripts and wrappers (in development)
  • add more documentation
  • keep track of tested machines and gpus (in development)
  • add more screenshots
  • publish repo

Additional Creds

  • Motivated by all the folks on dosdude1's Macrumors 10.14 Mojave Unsupported Forum
  • Motivated by Pike
  • Also inspired by the work of Isiah Johnson TMRJIJ and dosdude1
  • Floris497
  • Many others... This list will grow - stay tuned.

About

Public version of HybridMode repository

License:Apache License 2.0