Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubersicht/Simple-Bar hangs Yabai on BigSur #52

Closed
zakroma opened this issue Nov 13, 2020 · 6 comments
Closed

Ubersicht/Simple-Bar hangs Yabai on BigSur #52

zakroma opened this issue Nov 13, 2020 · 6 comments

Comments

@zakroma
Copy link

zakroma commented Nov 13, 2020

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)
@Jean-Tinland
Copy link
Owner

Jean-Tinland commented Nov 13, 2020

It's really a mess since I updated to Big Sur.
I'm looking into it but I don't have the same problem as you so I'll come back to you as soon as I can about that.

Edit: I almost forgot, thanks for the compliments! :)

@d-miketa
Copy link
Contributor

I have that same issue.

@Jean-Tinland
Copy link
Owner

Jean-Tinland commented Nov 13, 2020

For now I:

  • uninstalled Übersicht and reinstalled it with Brew
  • upgraded yabai to 3.3.3
  • updated my yabairc by following this procedure here

Doing so, yabai works for a while but always end up making simple-bar-spaces & simple-bar-process unresponsive.

I'm also using skhd which become unresponsive at the same time as simple-bar.

I have for now no clues of what happening here. I'll keep you posted while I dig this up.

edit: It seems that an issue close to that has been opened in yabai repo here

@zakroma
Copy link
Author

zakroma commented Nov 14, 2020

Looks like the issue you mentioned is now fixed and I can confirm on my end that simple-bar signals in .yabairc as well as uebersicht don't make the whole yabai unresponsive, it all works well now except for the part of space switching animation in the bar (clicking on the space in the bar works great as well as creating and deleting it).

Yabai now has this error: 32:46: syntax error: A identifier can’t go after this identifier. (-2740)

@Jean-Tinland
Copy link
Owner

Jean-Tinland commented Nov 14, 2020

That's strange, upgrading yabai to 3.3.4 fixed everything for me.

This signal should refresh the simple-bar's space widget on workspace change:

yabai -m signal --add event=space_changed action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"

Could you try again using these signals instead of the ones in your first message:

# Refresh spaces widget on space change
yabai -m signal --add event=space_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-2-jsx\"'"

# Refresh process widget on when focused application changes
yabai -m signal --add event=window_focused action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"
# Refresh spaces widget on when focused application changes
yabai -m signal --add event=window_focused action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Uncomment next line to enable spaces widget refresh on your 2nd monitor
# yabai -m signal --add event=window_focused action="osascript -e 'tell application id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Uncomment next line to enable spaces widget refresh on your 2nd monitor
# yabai -m signal --add event=application_front_switched action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-2-jsx\"'"

# Refresh process widget on when an application window is closed
yabai -m signal --add event=window_destroyed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" 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 id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-jsx\"'"
# Uncomment next line to enable spaces widget refresh on your 2nd monitor
# yabai -m signal --add event=window_destroyed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-spaces-2-jsx\"'"

# Refresh process widget when current window title changes
yabai -m signal --add event=window_title_changed action="osascript -e 'tell application id \"tracesOf.Uebersicht\" to refresh widget id \"simple-bar-process-jsx\"'"

I updated them recently and your error seems to be an applescript syntax error so maybe it could help.

edit: fix typo

@zakroma
Copy link
Author

zakroma commented Nov 14, 2020

Updated signals have fixed everything! Thanks a million!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants