• Stars
    star
    911
  • Rank 50,145 (Top 1.0 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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). 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

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

Or a custom gradient

Gradient menu bar in macOS Big Sur

Installation

Mint

The easiest and preferred way to install and run the tools is with Mint.

Due to Swift Package Manager limitations you need to have Xcode installed and opened at least once for the installation from source code to work.

After you installed Xcode install Mint with Homebrew

brew install mint

Next run

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.

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

mint run igorkulman/ChangeMenuBarColorSolidColor "desired_hex_color" "optional_path_to_your_wallpaper" 

So for example

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

If you do not provide the wallpaper path

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

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

So for example

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

If you do not provide the wallpaper path

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

More Repositories

1

iOSLocalizationEditor

Simple macOS editor app to help you manage iOS and macOS app localizations by allowing you to edit all the translations side by side
Swift
1,374
star
2

iOSSampleApp

Sample iOS app demonstrating Coordinators, Dependency Injection, MVVM, Binding
Swift
715
star
3

SwiftPascalInterpreter

Simple Swift interpreter for the Pascal language inspired by the Let’s Build A Simple Interpreter article series.
Swift
281
star
4

rpi-thermometer

WebUI for a Raspberry Pi thermometer
JavaScript
49
star
5

AppStoreCrawler

AppStore and Google Play crawler written in F#
XML
18
star
6

Kulman.WPA81.BaseRestService

Base class for a Windows Phone 8.1 XAML, Windows 8.1 and Windows 10 Universal REST service implementation
C#
18
star
7

ExcelPackageF

ExcelPackageF is a simple F# wrapper over the EPPlus library.
F#
15
star
8

FOAASClient

Call Fuck Off As A Service in .NET
C#
14
star
9

QRReader.WPA81

Sample QR code reader app for Windows Phone 8.1
C#
11
star
10

dotfiles

Basic configuration I use on my macOS machines.
Shell
10
star
11

coding-journal

Source code for my programming blog located at https://blog.kulman.sk
CSS
8
star
12

CaliburnDemoWinRT

Sample code for my Developing Windows Store apps with Caliburn Micro, Unity and Fody series of articles.
C#
8
star
13

WebConsole

C# scripting console for a ASP.NET MVC project base on Roslyn
JavaScript
8
star
14

SimpleObservable

Very simple Observable and Publisher implementation for iOS apps.
Swift
7
star
15

xcode-templates

Xcode file templates sample for https://blog.kulman.sk/creating-your-own-xcode-templates/
7
star
16

thinkserver

Configuration for my home server running on an old Thinkpad T440s
Shell
6
star
17

AutoCompleteBox

AutoCompleteBox for WinRT (C# and XAML)
C#
6
star
18

Kulman.UWP

Collection of utilities and services for UWP apps
C#
4
star
19

AutoSensitivity

AutoSensitivity allows you to define different mouse sensitivities (speeds) for your touchpad and mouse and automatically switch between them (based on mouse connect / disconnect).
C#
4
star
20

Kulman.WP8

Collection of utilities and services for Windows Phone 8 and Windows Phone 8.1 Silverlight apps
C#
3
star
21

CodeGenerationSample

Sample Xcode project for the "Generating boilerplate Swift code with GYB" blog post
Python
3
star
22

GRDBCipher

Project showing how to build GRDB.swift with SQLCipher using Cocoapods to get fat frameworks to use in an app
Shell
3
star
23

lunchbuddy-bot

Slack bot providing daily menus for configured restaurants.
JavaScript
3
star
24

CaliburnWP8AppVSIX

Windows Phone 8 application template with Caliburn.Micro and Fody
C#
2
star
25

NumericPasswordBox

NumericPasswordBox for Universal Apps (Windows Phone 8.1 and Windows 8.1)
C#
2
star
26

Kulman.WPA81

Collection of utilities and services for Windows Phone 8.1 XAML apps
C#
2
star
27

RemoveUnusedResources

Command line utility for removing unused resources from Windows Phone RESX files
C#
2
star
28

oauth-winrt

A Windows Phone 8. / Windows 8.1 port of the OAuth Sample Library for C# from oauth.googlecode.com
C#
1
star
29

Kulman.WinRT

Collection of useful utilities and components for WinRT applications.
C#
1
star
30

rpi-temp-module

Node module for fetching data from the DS18B20 temperature sensor on Raspberry Pi
JavaScript
1
star
31

Kulman.WPA81.HighlightTextBox

A custom TextBlock for Windows Phone 8.1 and Windows 8.1 that allows letter highlighting
C#
1
star
32

SampleMessagePopup

Code samples for my Dialog helper for Universal Apps the easy way blog post, inspired by Joost van Schaik's blog post A behavior to show a MessageDialog from a MVVMLight viewmodel in Universal apps–with callbacks.
C#
1
star