jean-tinland / simple-bar Goto Github PK
View Code? Open in Web Editor NEWA yabai status bar widget for Übersicht
Home Page: https://www.jeantinland.com/toolbox/simple-bar
License: MIT License
A yabai status bar widget for Übersicht
Home Page: https://www.jeantinland.com/toolbox/simple-bar
License: MIT License
There is an edge case where the get_data.sh
script fails when Spotify is open but there isn't a song currently playing/selected which means that all of the data widgets fail to display
I think that Spotify can get into this state after a system reboot
55:61: execution error: Can’t make name of «class pTrk» of application "Spotify" into type string. (-1700)
57:63: execution error: Can’t make «class pArt» of «class pTrk» of application "Spotify" into type string. (-1700)
{ "battery": { "percentage": "100", "charging": "true", "remaining": "0:00" }, "wifi": { "status": "active", "ssid": "Cooper" }, "sound": { "volume": "31", "muted": "false" }, "spotify": { "spotifyIsRunning": "true", "playerState": "stopped", "trackName": "", "artistName": "" } }
We should probably hide the Spotify widget if the trackName
and artistName
are empty strings?
Example: Space 4 shows 8 Windows
When I go to space 4, those windows disappear on space 4, appear on space 6:
If I click on space 6, those windows appear on space 7:
(also notice here, that the three windows which really exist in space 6 just appeared correctly)
etc. I've noticed this yet only, if I am making adjustments to my yabai settings and reload everything with brew service restart yabai
as far as I remember.
Have you seen this? Is that a bug in simple-bar or yabai?
Thanks
Is there a way to only refresh widgets (utilizing the yabai signals) if Ubersicht is actually running? Whenever I quit Ubersicht, it will immediately restart once yabai emits a signal telling the widgets to refresh
Hi Jean,
I have another suggestion, I would like to see the light and dark theme as two separate files, something like dark_theme.js and light_theme.js
Currently, the light theme is "hardcoded" in the man style.js making it harder to maintain with the constant updates (even if the updates are great 👍)
What do you think?
simple-bar-data.jsx: Something went wrong...
when my Spotify session finishes (the queue is empty and "autoplay similar music when finished" is disabled).
I tried to add a console log stmt to data.jsx
like you mentioned in a previous issue but it came back undefined.
Here is the Spotify idle state I am referring to:
This line is causing too much CPU usage on default installation.
Line 145 in b1b48e6
Hi,
I've added a widget to display the current input volume.
You can check the component here: https://github.com/izifortune/simple-bar/blob/master/lib/components/Mic.jsx
I'm happy to share and create a PR if you are interested into adding it
Just a reminder, I'll fix this as soon as possible.
Simplebar does not update whenever I switch to a new space. If i refresh all of my widgets, it works for that instance.
I have SIP disabled on my macbook, yet when I try to create new workspaces with simple-bar, it plays the animation etc., but nothing else happens. When i run csrutil status, I get
"System Integrity Protection status: disabled." I am on MacOS Big Sur, and all the other widgets etc. work fine.
I have SIP partially disabled as per Yabai documentation on MacOS 10.15.6
# If you're on macOS 10.14 and above
# (printed warning can be safely ignored)
csrutil enable --without debug --without fs
I can create and destroy spaces with skhd however, simple-bar is not displaying the extra options.
I think it is because csrutil status return
System Integrity Protection status: unknown (Custom Configuration)
instead of
System Integrity Protection status: disabled.
And simple-bar is looking for the disabled.
I will have a better look at it over the weekend but just wanted to ask if there is any reason that you need SIP completely disabled?
Thanks
Hi I like this bar very much. Nice work!
I was wondering if there is a way to add a padding to the left and right side. So when using with yabai and padding it can be aligned.
Hi!
I love simple-bar, its modularity, its themes... it's just great.
The one thing that's driving me crazy, though, is that when I change spaces (with yabai), it takes about a second to refresh. Of course I did add the signals stuff in the yabai config, and even set the refresh rate in the widget to false
to make sure it was indeed the applescript stuff that refreshed the widget but no, I guess applescript is just that slow.
I'm not sure this is something you can do much about but this is the only place I could reach out to ask:
Isn't there a better way?
I've been trying spacebar, which is a direct fork of yabai and its rudimentary status bar stuff. There the space indicator change is of course instant, but spacebar is nowhere as nice as what one can achieve with Ubersicht.
I hope we can find another way to refresh simple-bar (or any Ubersicht widget, I guess).
For the spotify module, is it possible to add support for apple music? I am also working on this now and if I am done I will give a pull request.
Would be nice to add a widget for the current input source, and re-render from a yabai signal
When I switch from one space to another space using track pad gesture action is not getting reflected in the spaces widget. Only one space is shown as current no matter which space I am in.
Hi! So after Installing Ubersicht and disabling SIP, I can't interact with the bar at all. Could I get some assistance because I really like all the features <3
I recently installed the lates version of yabai through brew, then Ubersict and simple-bar, and so far it looks impressing. However the indicator is stuck at workspace/desktop 1.
I'd like to remove the process name which is rendered in the middle (but need the component for Settings).
Is it possible to toggle this on/off?
Quite disturbing navigating in the shell and seeing this flashing due to a re-render when a directory is switched.
(The Process component)
MacOS Catalina 10.15.6
Ubersicht downlaoded app.zip
Yabai installed and running through brew services
SIP disabled
Getting this error "Something went wrong . . ." showing on the right side of the status bar and no date/time/wifi just the text error. Spaces are working well with Yabai. Have recloned to no avail.
Thanks
Hi, when checking #11 I noticed that the message
icon was already added.
My language is set to German in macOS. So the window title is 'Nachrichten'. The mapping here does not work. Is there a workaround?
Thanks.
simple-bar-spaces.jsx and simple-bar-process.jsx both throwing "Something went wrong..."; Console spamming 500 errors
MacOS Catalina 10.15.5 with Yabai; Not exactly sure what I should provide, feel free to ask anything you need
Hello Jean :D. Good to see this repository is doing well. I'm here because I decided to mess around with my MacOS Rice a little. I decided to reinstall your version of simple-bar rather than a friend's take on it. I see that on the usage of the command
git clone https://github.com/Jean-Tinland/simple-bar $HOME/Library/Application\ Support/Übersicht/widgets/simple-bar
This freaks simple-bar out and I don't know how to solve it
Thanks in advance for any help you can provide!
Spacelabs beginning with numbers will not be interpreted in the space widget. I tried several forms:
The space will be shown as the space number, no name at all.
Having a number on pos >1 is working properly.
Hey there, love the bar.
I had a go at doing this myself, but my CSS-foo is not great and I'm a little lost.
Trying to replicate the effect found here (look at the first alonso example).
Where, if I switch to a space to the right of the current space, then the the 'focussed' color slides to the right. Towards the new space. Likewise, the opposite if the new space is to the left, the 'focussed' color slides to the left.
Any thoughts on this? I tried toying with the CSS, and potentially adding a rotate transform to the ::after
element, but I don't really know what I'm doing here.
For some reason, yabai doesn't recognize the presence of simple-bar at the top and puts windows on top of the bar itself. How can I fix that? Here are my dotfiles.
Hey Jean,
The current terminal space icon is quite difficult to recognise on lower resolution external screens, for example (in 1080p):
I tried a similar prompt icon without the surrounding box and it looks slightly better, but maybe there are better options?
Other suggestions:
Im working a lot with Blender, iTerm2 and Affinity Products (Photo, Designer, Publisher).
Any chance of getting the additional appicons integrated in the windowswitcher?
Thanks!
First of all, the bar has a great UX!
But sometimes the spaces disappear, after switching workspaces or creating new windows.
Whats the best way to debug this?
Thanks!
This bar is great! However, could someone help to integrate task-warrior into it? Thanks!
For reference here is one for built-in menubar: https://github.com/matryer/bitbar-plugins/blob/master/Lifestyle/taskwarrior.4m.py
As mentioned in this Yabai issue, Microsoft Teams spawns Notification windows with AXWindow/AXStandardWindow subroles so they show up in simple-bar
processes. It'd be useful to be able to create an exception for windows with the following attributes:
{"app":"Microsoft Teams",
"title":"Microsoft Teams Notification"}
This way the main Teams window is shown but the extraneous notification windows are hidden from the spaces
widgets. I've seen Zoom behave in a similar way, so it may be applicable to that case too.
Hello and thank you for your amazing work on this beautiful addon!
BigSur update from a perfectly working version of yabai + simple-bar on Catalina made using the widget impossible.
Ubersicht/simple-bar somehow hangs yabai if the following signals are present in the .yabairc:
# Refresh spaces widget on space change
yabai -m signal --add event=space_changed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh spaces widget on display focus change
yabai -m signal --add event=display_changed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh process widget on space change
yabai -m signal --add event=space_changed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Uncomment next line to enable spaces widget refresh on your 2nd monitor
# yabai -m signal --add event=space_changed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-2-jsx\"'"
# Refresh process widget on when focused application changes
yabai -m signal --add event=application_front_switched action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when focused application changes
yabai -m signal --add event=application_front_switched action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Refresh process widget on when an application window is closed
yabai -m signal --add event=window_destroyed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when an application window is closed
yabai -m signal --add event=window_destroyed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
Yabai's /usr/local/var/log/yabai/yabai.err.log
shows this:
45:86: execution error: Übersicht got an error: Can’t get widget id "simple-bar-spaces-jsx". (-1728)
45:87: execution error: Übersicht got an error: Can’t get widget id "simple-bar-process-jsx". (-1728)
Hey,
the new settings look good, another idea for an option would be to define the bar position, for example [ ] - Top [ ] -Bottom.
What do you think?
This would include the Popup which moves or delete Spaces.
The title is poor, but i struggle to explain this simply so i provide some images instead.
I am often running into issues where i am moving a window from one display to the next and then end up sending the window to the incorrect space because there is no indication of what space is currently being shown on the inactive display.
I have the following windows and spaces on Display 1.
Here we can clearly see that space 1 has two apps (vscode and spotify), the others are full screen. I now want to move vscode to one of my other displays, say Display 2
At a glance i can see that Display 2 is not displaying full screen so the only options are space 5 or 7. This is the point where i have to either make the target display active so that the i know the index of the active space on that display, or simply make an educated guess. Most of the time i end up missing..
Would it be possible to add a secondary color that would indicate what the current active space is on every inactive display?
I use Nix to manage my MacBook, and it doesn't install things to /usr/local/bin. It would be awesome if there was a way to inject the yabai path into the scripts rather than it being hard-coded to /usr/local/bin/yabai
, even if that remains the default.
My Mac Mini has both WiFi and ethernet. This caused simple-bar to not work properly until I edited the source so that it queried en1 instead of en0 (See this patch).
Can the network device either be made configurable or auto-detected somehow?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.