Ubersitch simple-bar vs SketchyBar
I've been a SketchyBar user for quite some time now, I love it, but I recently discovered the simple-bar uebersicht widget
Ubersitch simple-bar vs SketchyBar
Contents
Table of contents
- YouTube video
- Pre-requisites
- If you like this, and want to support me
- Discord server
- Follow me on Twitter
- All links to my YouTube videos in video description
- What is uebersicht
- Install uebersicht
- Install simple-bar
- Stop SketchyBar
- SketchyBar and simple-bar differences
- Things I want to change
- My simple-bar changes
- How to apply changes in simple-bar
- How to create custom widgets
- How to change the theme color settings
- Yabai Configuration
- Things to figure out
- Differences with SketchyBar
- Share your tips
- Completed tasks
YouTube video
Pre-requisites
Hide macos menubar
- Just follow the Hide macos menubar section in my SketchyBar tutorial
- Then come back to this page
Homebrew
- I install all my apps through Homebrew, I don’t like installing stuff through
.dmg
files, why? - Because if I switch to another computer, I already have my brewfiles with the stuff I install all the time and I can install all the apps I need really quickly, usually through a script (I’ll demo this some day)
- If you’re new to
homebrew
and don’t know how to install apps with it, check out my tutorial:
If you like this, and want to support me
- I create and edit my videos in an M1 mac mini, and it’s starting to stay behind in the editing side of things, tends to slow me down a bit, I’d like to upgrade the machine I use for all my videos to a
mac mini
with these specs:- Apple M4 Pro chip with 14‑core CPU, 20‑core GPU, 16-core Neural Engine
- 24GB unified memory
- 1TB SSD storage
- 10 Gigabit Ethernet
- If you want to help me reach my goal, you can donate here
Discord server
- After following this guide or even watching the related video, you:
- Have questions related to one of the tools, configs or scripts that I use
- Would like me to expand a bit more on how something is done
- Or simply would like to talk and meet other community members that share your same interests
- join the discord server in this link
- Access to the discord server is only for YouTube community members
Follow me on Twitter
- Or as kids call it these days “X”
- Here’s the link
All links to my YouTube videos in video description
- All of the links will also be in my blogpost
What is uebersicht
- It’s the app that allows you to display widgets on macos, they’re written in HTML5
- The widgets can be shown anywhere, on the desktop or at the top where the macOS menu bar is, so we’ll display a widget on the top, and hide the macOS menu bar
- github repo: felixhageloh/uebersicht
- The widget that we’ll be using to replace the macOS menu bar is called
simple-bar
, which is a bar that is similar to SketchyBar - To understand what SketchyBar is and how to set it up from scratch, I have this video:
Install uebersicht
- Install through brew
- Then I had to restart as the preferences menu wasn’t showing up
1
brew install --cask ubersicht
- I then configured uebersicht’s preferences (right click on the macOS menu bar) so that it’s widgets folders points to
~/github/dotfiles-latest/ubersicht/widgets
Install simple-bar
- Link to the documentation is here
- Be careful, the folder containing the widget must be named simple-bar, otherwise, simple-bar will never launch
The
simple-bar
dir didn’t exist in mywidgets
directory, but was created with the git clone command below
- In case you just want to clone to a specific directory
1
git clone git@github.com:Jean-Tinland/simple-bar.git ~/github/dotfiles-latest/ubersicht/widgets/simple-bar
Stop SketchyBar
- I was running sketchybar, so I stop it, because both bars were showing up as seen on the image below
both SketchyBar and simple-bar showing up
- With this command I stop SketchyBar and If I reboot, it won’t load SketchyBar anymore, I just want to disable it but not uninstall it yet
1
brew services stop sketchybar
- Only in case you want to run sketchybar at startup again
1
brew services start sketchybar
SketchyBar and simple-bar differences
My own SketchyBar config as of Jan 2025
simple-bar default out of the box config
simple-bar after some basic changes
Things I want to change
- There’s a few things I want to change:
- By default you see all the different desktops, and the apps on each one of them. I don’t need this, all I care about is the app I’m on at the moment. And you’re wondering, this sounds awful and really archaic, let me explain and improve the way you think:
- I use
Yabai
in stack mode AND MOST IMPORTANTLY, I don’t use macOS workspaces (or Desktops), I keep all of the applications in the same desktop, and I switch to each one of my apps using karabiner-elements keymaps - I don’t want to specify in which desktop each app starts, I don’t care and I don’t want to add that extra burden to my app management, all apps live in the same desktop, and if for example I need to switch to switch to the following apps I use the keymaps:
hyper+a+j
-> Ghostty (my terminal emulator)hyper+a+k
-> Zen browserhyper+a+y
-> YouTubehyper+a+f
-> Finder or ForkLift
- I’ll tell you how to set all this up at the end of this section
- I use
- I don’t want to see the time, just date including year. Yes, more often than not I forget what year it is, get off my lawn. I couldn’t achieve this, I guess disable the builtin
Date
widget and create my own? - Microphone indicator that shows the name of the microphone AND input volume
- Ethernet icon if main connection is Ethernet, but if that’s gone and I’m connected to Wi-Fi change to the Wi-Fi icon, otherwise if not even connected to a Wi-Fi disconnected icon (I do this in SketchyBar, here’s my wifi.sh config
- check if there’s an option to shut the computer down from the logo
- change apple logo color like in SketchyBar
- DND indicator, the same way I do in SketchyBar
- By default you see all the different desktops, and the apps on each one of them. I don’t need this, all I care about is the app I’m on at the moment. And you’re wondering, this sounds awful and really archaic, let me explain and improve the way you think:
- To learn how I use yabai in
stack
mode, how I set my terminal transparent, and overall how I do window management in macOS, check this video out:
- To learn how I do all my different mappings to switch between apps, change system settings, switch between tmux sessions and way more, check out my karabiner-elements video:
My simple-bar changes
- After playing around with simple-bar I was able to sort of customize it to my liking, there’s till work that needs to be done, but here’s how it looks
- Notice it includes the brew outdated packages indicator, which in this case it’s 10
How to apply changes in simple-bar
- First, click the bar itself in the white space and you’ll see a red line
- Once you see that red line, press
cmd+,
just like you presscmd+,
in any other macOS app to go to it’s settings, after that, you will see this menu pop-up:
- In this menu is where you can change all the settings and then export the configuration, notice that you can also
import
configurations at the bottom, in case you want to grab my config from my dotfiles - This is where you create the custom widgets and make any other changes
How to create custom widgets
- I’ll demo this in the video
How to change the theme color settings
- I’ll demo this in the video
Yabai Configuration
- I use yabai as my window manager, notice that this needs to be added to the top of your
~/github/dotfiles-latest/yabai/yabairc
file
1
2
3
4
# In order to prevent simple-bar freezing upon yabai restart, you'll need to add
# this line at the start of your .yabairc file
# https://www.jeantinland.com/toolbox/simple-bar/documentation/installation/#update-your-yabai-config
osascript -e 'tell application id "tracesOf.Uebersicht" to refresh'
- This file can be found in my dotfiles
- ⭐⭐⭐⭐ Remember to star my dotfiles ⭐⭐⭐⭐
Things to figure out
- How do I switch back to the default bar config? I deleted everything inside
~/github/dotfiles-latest/ubersicht/widgets
then cloned the simple-bar repo again, but it’s still loading the previous config with the changes I applied, so not sure how to get the default config again - Trigger updates from external events like in SketchyBar, for example, when I mute my mic, at the end of that script I execute
~/github/dotfiles-latest/sketchybar/felixkratz-linkarzu/plugins/mic.sh
which updates the mic icon in SketchyBar- I think this is where Jean-Tinland/simple-bar-server comes in handy
- According to the repo above, it’s: “A server for simple-bar that enables communication with its data widgets and allow them to be refreshed or toggled with simple curl commands.”
- notice that it needs to run a “local small node.js server on which simple-bar’s components will be able to connect to via websockets.”
- Examples on how to interact with a widget once the server is up:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Force time widget refresh
curl http://localhost:7776/widget/time/refresh
# Toggle time widget visibility
curl http://localhost:7776/widget/time/toggle
# Force the user widget n°1 to refresh
curl http://localhost:7776/widget/user-widget/refresh/1
# Toggle the user widget n°1 visibility
curl http://localhost:7776/widget/user-widget/toggle/1
# Hide cpu widget
curl http://localhost:7776/widget/cpu/disable
# Show cpu widget
curl http://localhost:7776/widget/cpu/enable
- I haven’t played with the
simple-bar-server
but the documentation seems pretty straight forward and can be found here
Differences with SketchyBar
simple-bar
feels faster, it feels more responsive and has more of a “native app” feel (whatever that means), maybe I haven’t updated my SketchyBar theme in a while, I will soon and release a video with my updates- At least with my current SketchyBar config,
simple-bar
looks cooler, I’ll play a song in spotify and you’ll see the animation looks smooth, again, haven’t updated mySketchyBar
config in a while but I will - I like keeping all my config files in my dotfiles, that’s how I manage SketchyBar, so if I modify something in my dotfiles repo, the changes are automatically applied to SketchyBar, and I use symlinks for this:
- I cannot do the same with
simple-bar
every time I make changes in the GUI, I have to export the file, if I want to make a change in the file, then I have to go to the GUI and import the file again, and I think it does not recognizesymlinks
when you try to import them, but see issue 385 - Hopefully there will be a way to modify a file in your dotfiles repo that is symlinked to a config file, and the app will be able to read the config even if it’s from a symlink without you importing anything, we’ll see what happens when the issue above is worked on
- I cannot do the same with
- SketchyBar is a standalone app that I install through brew, if there is an update applied to SketchyBar I just updated my brew apps and I get the latest version, on the other hand, for
simple-bar
, since I manage it in my dotfiles, I would have to create a git submodule, and pull the changes when I want to update to the latest version. Remember that I’m cloningsimple-bar
to an existing repo already, which is my dotfiles, so I have a repo inside a repo, if I want updates, I would have to use a git submodule. If you know an easier way, let me know - The GUI where the settings are changed is wonderful and works great, but it’s not for me, I’d prefer to manage everything in configuration files the way I do in SketchyBar as it allows me to quickly update things from my editor of choice, Neovim
- I have a colorscheme selector demo with SketchyBar in the video that allows me to change the colors everywhere in my system including sketchybar, this is not possible in
simple-bar
because I would have to import the.simplebarrc
file after I modify it - To update a widget from an external event, like for example if I mute my microphone, I need to spin up the
simple-bar-server
and send a curl command to refresh the widget, this is simpler to achieve in SketchyBar as I only need to execute the bash script related to the “widget” and no server is needed - Overall I feel SketchyBar is more customizable, I can put “widgets” or “items” wherever I want, change anything I can think of, but it may be that I’m not that experienced with
simple-bar
yet, I’ll keep playing around with it and see how far I can take it
- If you want to learn more about the colorscheme selector, I have a detailed video:
Share your tips
- If you already figured out some of the stuff I want to do, or if you have other useful tips or items I should add, please share them in the blogpost or in the YouTube comments section
Completed tasks
done: 250117-1234
Apple logodone: 250117-0756
Apply my own theme colorsdone: 250117-0755
Brew outdated packages counterdone: 250117-0754
CPU usage preferably with a graph and percentage
This post is licensed under CC BY 4.0 by the author.