Alexays / Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:
MIT License
5.82k stars 657 forks source link

PR #3299 breaks hyprland/workspaces active-only option #3307

Closed alttabber closed 1 month ago

alttabber commented 1 month ago

The current implementation only implements a-priori filtering (ignore regex, ignore all special workspaces), there's no way to implment any more dynamic filtering, like active-only or #3064.

There are two ways to fix this regression:

khaneliman commented 1 month ago

How did #3299 do any of that? It didn't change the actual logic of anything...it encapsulated and sorted things..

alttabber commented 1 month ago

How did #3299 do any of that? It didn't change the actual logic of anything...it encapsulated and sorted things..

The whole button.show() and buttin.hide() logic is missing, there's only button.show_all() call in the entirety of workspaces.cpp, and there's not a single call to activeOnly().

You can also verify that "active-only" doesn't work by adding "active-only": true, to your config.json.

A part of the logic has been lost somewhere in the refactor.

khaneliman commented 1 month ago

How did #3299 do any of that? It didn't change the actual logic of anything...it encapsulated and sorted things..

The whole button.show() and buttin.hide() logic is missing, there's only button.show_all() call in the entirety of workspaces.cpp, and there's not a single call to activeOnly().

Stuff that was in the Workspace:: context was separated from Workspaces.cpp... activeOnly was a workspace concept based on the code and is in use in the same locations, still but a different file... The workspace.hpp declares m_workspacesManager to interact with Workspaces and check the activeOnly() in that same update method, as before. It also has the button hide and show in that method.

You can also verify that "active-only" doesn't work by adding "active-only": true, to your config.json.

A part of the logic has been lost somewhere in the refactor.

I will disable my persistent workspaces and see if i can replicate without them...

khaneliman commented 1 month ago

You can also verify that "active-only" doesn't work by adding "active-only": true, to your config.json. A part of the logic has been lost somewhere in the refactor.

I will disable my persistent workspaces and see if i can replicate without them...

Working here... image

khaneliman commented 1 month ago

@zjeffer @Syndelis I guess I'm curious if you're seeing the same behavior. From looking at the code and self testing, it works with my nix build of the application...

alttabber commented 1 month ago

Contributor

It was just merge jank.