-
Notifications
You must be signed in to change notification settings - Fork 135
Wayfire backend (based on Marcus' patch) #2314
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
base: master
Are you sure you want to change the base?
Conversation
The credit goes to @marcusbritanicus for writing the core code in #2280. Known issues that may be fixed later in other PRs: 1. #2280 (comment) 2. I disabled "Move To Next/Previous Monitor" because it didn't work (the error message was that the method "wsets/send-view-to-wset" wasn't found). I also kept its state contingent on `LXQtTaskBarBackendAction::Move`, which isn't supported by this backend for now.
Finished one testing round, looks really fine now. Only things I noticed (changing afaik any available setting in taskmanager):
only 3 items, there have to be more ;) |
It didn't here, with this message: |
BTW, I may not log into Wayfire soon, because of its new issue (crash on resuming), but will investigate all of your reported issues later. In the meanwhile, you might find more issues, but don't find too many ;) |
I made it enabled again. Now it's like before, except that "next" is also enabled. But as I said, it doesn't work here. If it works for you, it may be because of the wayfire version you have. SERIOUS WARNING: Don't upgrade wayfire, or you might not be able to use it with an external monitor anymore!
It was about a miscalculation in the core code and should be fixed now. Please check again. I'll investigate the remaining issue the next time I feel brave to log into Wayfire ;) For now, back to the safety of kwin_wayland… |
What about this? I didn't do anything about it.
No translatable string is added. EDIT: Oh, yes, one string is added in the core code, without translation! I think translatable strings shouldn't be added to the core code; will deal with it later.
That was the purpose of the last commit. Thanks for confirming.
It doesn't here — Wayfire itself is to blame. EDIT: I think it may have something to do with the cube plugin, which I've enabled. But again, my problem isn't our problem; it's Wayfire's. |
that is still broken. Another issue are doubled buttons on the taskbar, usually for firefox or thunderbird at login. And some greyish overlay color is added to screenshots here... New default config, with only small changes, cube is enabled. But I suspect older configs can create issues. But a really nice achievement overall @marcusbritanicus @tsujan ! |
Good to know. I don't like magic.
Some views may not be removed correctly in the core code. But since I can't reproduce it, we might have a long series of Q&A about it. |
It's at login only, I think some race |
That "Workspace" shouldn't exist in the core code, and I'll remove it. We translate "Desktop &%1" in the front-end code. |
Just an uniformed question: does Wayfire add protocols beyond Wayland plus wlroots? I had concern with WL protocols being a never-ending process, but it seems that there is basically a lot of convergence. From what I remember WL backends are fast to compile. Maybe I'm overestimating the complexity of WL by being so used to X11. |
Each backend has its own code but it brings no extra dependency. The wlroots backend is generic and can be used with many Wayland compositors. The backend is automatically selected by the code, but it can be enforced by the user too.
Blame Wayfire. You don't have the problem of moving to next/previous desktop, and I don't have the problem of overlay rectangle :P |
@stefonarch I'm not sure that the issue about vertical workspaces is in our code but will investigate it later. EDIT: BTW, the panel crashed on one occasion after I changed the setting for raising on current desktop, but the backtrace showed that the crash wasn't caused by lxqt-panel itself. EDIT1: Oh, I forgot the issue about double task buttons. So, 2 issues have remained. |
Starting Q&A: What are the titles of those redundant task buttons and also that of the correct one? |
I added a safeguard against invalid windows now. Does it make a difference? |
No, I got 3 thunderbirds now. |
OK, in that case, I can do nothing about it. As for the 3-finger swipe, does it happen without swiping, e.g., by using shortcut? |
You didn't answer my question about the titles of the repeated task-buttons. |
You didn't watch the video? Oh, it wasn't posted for some reason... inizio=start icons.mp4 |
OK, good progress for one day. I think we're near the point where Wayfire issues start. |
The issue about column workspaces should be fixed now. |
… if raising on current desktop isn't chosen.
I also found and fixed another issue: When raising a minimized window on another desktop (by clicking its task button), and provided that minimized windows weren't supposed to be raised on the current desktop, Wayfire didn't switch to the desktop of the window, although it announced that the window was focused. This behavior was not only counter-intuitive (how can a focused window be on another desktop?!) but also a usability issue and could result in two checked task buttons. |
Confirmed, both fixed. I noticed that last issue but couldn't nail it down. My testuser collected some coredumps but probably it was wayfire crashing (repeatable with ctrl+win+left and ctrl+down) and taking the panel down, they come in couples.
|
Yes, that or problems Wayfire currently has with wlroots-0.19, which can be the same thing. |
Auto-hiding on overlapping was possible by completing the method |
Afaik that's only in kwin possible until now no? |
Yes. Wayfire will have the best support after kwin_wayland. |
BTW, Wayfire's built-in show-desktop isn't practical — for example, all windows are restored on opening a new window or switching desktop. It's possible to make it work like in wlroots and kwin_wayland backends, but I prefer not to change it in this PR. |
This is how Plasma also works. Show desktop should be better called as "Preview Desktop" or "Desktop Peek" - it's not and should not be a minimize-all function. Here is the problem: when you are previewing the desktop, if a new window opens, and the rest remain minimized, the question then arises, when should they be restored? You might say when the user clicks the button again. In such a case, consider this: what happens if user has opened 5 more windows, and then presses the "Show Desktop" button hoping that desktop will be shown and the previously opened windows show up, and some other windows grabs the keyboard? These issues will also persist when we switch desktops. The current behaviour is to avoid all these potentially complicated cases. |
Can confirm this is the behavior of kwin_x11 and kwin_wayland. It is annoying to me, "minimize all" is simpler than "preview desktop" IMO. |
I noticed that the double or triple icons not only happen at every login, but also sometimes after poweroff displays, usually thunderbird. |
When show-desktop is pressed again, unless the user restores some of them himself. The user may show desktop to work only with it and another window that he opens afterward. Restoring previous windows on opening another window will ruin everything. After all, he only opens a window!
Then he'll realize that he showed desktop before and could press show-desktop button once more. Not a real problem. |
Anyway, I won't touch Wayfire's show-desktop method in this PR. |
I thinks this PR is ready to be merged. @stefonarch, what do you think? If you approve, I'll merge it tomorrow. |
The credit goes to @marcusbritanicus for writing the core code in #2280.
Known issues that may be fixed later in other PRs:
I disabled "Move To Next/Previous Monitor" because it didn't work (the error message was that the method "wsets/send-view-to-wset" wasn't found). I also kept its state contingent onLXQtTaskBarBackendAction::Move
, which isn't supported by this backend for now.