Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/igorkulman/ChangeMenuBarColor

Simple utility to change macOS Big Sur and Monterey menu bar color by appending a solid color or gradient rectangle to a wallpaper image
https://github.com/igorkulman/ChangeMenuBarColor

bigsur macos monterey swift swiftpackage xcode

Last synced: 3 months ago
JSON representation

Simple utility to change macOS Big Sur and Monterey menu bar color by appending a solid color or gradient rectangle to a wallpaper image

Awesome Lists containing this project

README

        


Change menu bar color in macOS Big Sur and Monterey



License: MIT


Platforms


Swift Version


Twitter: @igorkulman

Buy Me A Coffee

Simple utility to change macOS Big Sur and Monterey menu bar color by appending a solid color or gradient rectangle to a wallpaper image.

## Motivation

Big Sur and Monterey changed the way the menu bar is displayed. It now adopts the color of the wallpaper, which may not always be what you would like. This utility allows you to specify the solid color or gradient of the menu bar you want to use.

### Example

Imagine you have a dark wallpaper ([here is mine](https://www.wallpaperflare.com/silhouette-of-mountain-simple-simple-background-minimalism-wallpaper-phxwd)). This dark wallpaper results in the menu bar being black even though you use the Light mode

![Default menu bar color in macOS Big Sur](Screenshots/Dark.png)

With this utility you can generate a new wallpaper that makes the menu bar being shown in any color you want, like a nice tone of gray from Catalina.

![Custom color menu bar in macOS Big Sur](Screenshots/Adjusted.png)

Or a custom gradient

![Gradient menu bar in macOS Big Sur](Screenshots/Gradient.png)

## Installation

### Mint

The easiest and preferred way to install and run the tools is with [Mint](ttps://github.com/yonaskolb/Mint).

Due to [Swift Package Manager limitations](https://forums.swift.org/t/only-command-line-tools-installed-xctest-executable-not-found/34088) you need to have [Xcode](https://apps.apple.com/us/app/xcode/id497799835?mt=12) installed and opened at least once for the installation from source code to work.

After you installed Xcode install [Mint](ttps://github.com/yonaskolb/Mint) with [Homebrew](https://brew.sh/)

```bash
brew install mint
```

Next run

```bash
mint run igorkulman/ChangeMenuBarColor
```

and if everything is OK you can use my utility be downloaded and run for the first time. You are ready to go!

### Binary release

If you do not want to install Xcode and Mint you can download [the latest binary release](https://github.com/igorkulman/ChangeMenuBarColor/releases/latest).

The binary release is not signed so it might not work on all systems.

## Usage

All the commands shown are for the utility being installed via Mint. If you downloaded the latest binary release replace `mint run igorkulman/ChangeMenuBarColorSolidColor` with `path/to/unzipped/ChangeMenuBarColorSolidColor`.

### Solid color

To set a new wallpaper file with a solid color rectangle that matches the menu bar, run

```bash
mint run igorkulman/ChangeMenuBarColorSolidColor "desired_hex_color" "optional_path_to_your_wallpaper"
```

So for example

```bash
mint run igorkulman/ChangeMenuBarColor SolidColor "#CCCCCC" "/Users/igorkulman/wallpaper.jpg"
```

If you do not provide the wallpaper path

```bash
mint run igorkulman/ChangeMenuBarColor SolidColor "#CCCCCC"
```

the currently set wallpaper will be used.

### Gradient

To set a new wallpaper file with a gradient rectangle at the top, run

```bash
mint run igorkulman/ChangeMenuBarColor Gradient "start_hex_color" "end_hex_color" "optional_path_to_your_wallpaper"
```

So for example

```bash
mint run igorkulman/ChangeMenuBarColor Gradient "#FF0000" "#00FF00" "/Users/igorkulman/wallpaper.jpg"
```

If you do not provide the wallpaper path

```bash
mint run igorkulman/ChangeMenuBarColor Gradient "#FF0000" "#00FF00"
```

the currently set wallpaper will be used.

#### Multiple displays

If you use multiple displays and want the wallpaper generated for all of them, add the `--all-displays` flag at the end of the command, so for example `./ChangeMenuBarColor Gradient "#FF0000" "#00FF00" --all-displays`.

## Uninstall

- manually set any new wallpaper
- run `mint uninstall igorkulman/ChangeMenuBarColor` if you installed the utility via `mint` or delete the folder with the utility if you downloaded it manually.

## Support the project

Buy Me A Coffee

## Known issues

Make sure **Automatically hide and show the menu bar** is **disabled**. This setting causes the utility to incorrectly detect the menu bar size.

Dynamic wallpapers are not supported at the moment. If you use a dynamic wallpaper the utility will convert it to a static .jpg image.

### Catalina support

The utility builds and runs on Catalina but the menu bar on Catalina works in a different way that on Big Sur and Monterey so the result will never be the same as on Big Sur and Monterey.

## Contributing

All contributions are welcomed!

## Author

- **Igor Kulman** - *Initial work* - [email protected]

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.