dreamcat4 / skippy-xd

A full-screen Exposé-style standalone task switcher for X11.
GNU General Public License v2.0
100 stars 12 forks source link

dreamcat4 - general commentary #132

Closed felixfung closed 1 year ago

felixfung commented 1 year ago

@dreamcat4 I am creating this issue to keep track of our discussions in #129 #131.

dreamcat4 commented 1 year ago

Thanks felix. I have just reverted selectively those 2 commit now. Hopefully it does not affect your other work on master branch. And was a clean changesets.

I am still not ready to have the time window open for those scheduled testing. But the same 2-weeks time window still applied. That I am hoping not to delay those catch-up for too long.

The commit is kept back in git history. It may be decided later on (after a proper verification of testing). Whether or not to re-apply those 2 removal commit. Hope this is reasonable oversight for those specific changes.

Other alt-tab changes will also be evaluated during same process. During those catchup. Along with finding out a bit more about new pager features, since so many other significant changes.

Hope this clarifies for today now. Until [for myself], to come back later on. Many thanks.

dreamcat4 commented 1 year ago

OK so i've decided to hijack this issue to first give a general feedback on current master state, as it runs on my system. Which is to say: this might be applicable to KDE Plasma breakages. Or with ultrawide monitors / multi monitor setup. Different WMs / DEs may not be affected:

I still would like to encourage that these features (if you are motivated to do so) are worked on and further developed. I jsut have actually 0 time to support them myself, or entertain any other breakages due to them,

If these features works fine on your setups and DEs: then that's great. Just so sorry but i cannot participate while they remain [that much broken]. It's just not worth my time. But i do agree the motivations / direction for putting the and advancing the project forwards to support these additional modes. So sorry i cannot participate or be involved and any level above randomly trying it, then discovering it's still broken.

Perhaps they will become better in future times, I do periodically re-check them after updating.

Moving on:

You tool away the sort-by-columns setting. And put it (forced mandatory) into expose mode. However because expose mode is broken (for me), it's just not a possible valid mode, since I have to put layout=xd for both expose and switch modes.

Switch mode (having 3 total modes) is nice, i really do approve those general decision. And will just keep using skipping in traditional ways for the forseeable.

Noticed a bug in new code:

General status:

Basically it's a lot of messing for me to regression test each time breakages. So I am hoping to get around to.

In addition there is some very minor and legacy stuff around config file parsing that is low priority. But just minor could make a bit nicer experience:

This is all (collected together). My current views on skippy-xd development. And/or where i might / might not fit into it. However also felix you do seem to be doing a great job at fixing many other skippy bugs, it's very good work! I am just myself having trouble providing direct support for some of this stuff... my own time focus has mostly to instead be spent fixing regressions on certain older core functionalities. Still I do absolutely support your work here as best as can be. It's most welcome these broader efforts.

felixfung commented 1 year ago

Thanks for the feedback....

paging remains broken (on my KDE / ultrawide / multimonitor combo). I have no interest and do not support this feature because... its always broken!

I am quite surprised. How is it broken?

boxy layout remains in same broken state (for me) as ever - it's still another feature, which i do not use

By chance I merged #149 which to me greatly improved boxy layout 12 hours ago, it might improve things for you?

If these features works fine on your setups and DEs: then that's great. Just so sorry but i cannot participate while they remain [that much broken]. It's just not worth my time.

Yes everything works fine for me, I thought I fixed all bugs other than #125. I'm surprised to learn about bugs and regressions on KDE. Thanks for reporting.

You tool away the sort-by-columns setting.

Yes nice pointing it out. I will update that when exposeLayout = xd, it will be sorting by row, z-order to be precise.

when i open skippy in a terminal, then press "Esc" key to cancel exit / dismiss. Skippy no longer focuses back to the original active window (which was the terminal app). Skippy used to works just fine those ways. So i regard that as a regression bug to be fixed. Or otherwise perhaps a mis-configuration on my part if it works? Needs further investigating

Again a bit surprised...

Yes I made changes on this area in #118. The code logic is quite obvious here:

https://github.com/dreamcat4/skippy-xd/blob/1a4cf05107f3b75094d470abacf2b8486ff30f9a/src/skippy.c#L513 https://github.com/dreamcat4/skippy-xd/blob/1a4cf05107f3b75094d470abacf2b8486ff30f9a/src/clientwin.c#L694 https://github.com/dreamcat4/skippy-xd/blob/1a4cf05107f3b75094d470abacf2b8486ff30f9a/src/skippy.c#L888

And it works perfectly on my system....

I have superficially tried some of the basic features in new code. And found about 2/3rd's is broken

Can you please describe how it is broken?

dreamcat4 commented 1 year ago

Update

* paging remains broken (on my KDE / ultrawide / multimonitor combo)
* boxy layout remains in broken state (for me)

Will try to make the video about those tomorrow now, for you to see those breakage(s). As today's time got (mis)used for these other changes:

Focus back to original window on cancel

* when i open skippy in a terminal, then press "Esc" key to cancel exit / dismiss. Skippy no longer focuses back to the original active window

Reversing keys direction

* reversKeysDirection

Runner script

* fixing the runner script

Config file parsing (regexps)

config file parsing to make a bit nicer experience:

* Support `setting = val # comment at the end of a line`
* Support `; semicolon` comments for general INI format spec (already works, just gives a warning msg)
dreamcat4 commented 1 year ago

Can you please describe how it is broken?

This will come as video tomorrow (or day after tomorrow).

felixfung commented 1 year ago

@dreamcat4 I have done a crazy thing: installed a bunch of environments including GNOME and KDE, and tested skippy on all of them, and summarized them here: https://github.com/dreamcat4/skippy-xd/wiki/Adoption#compatible-desktop-environmentswindow-managers. They all work!

For your environment, KDE, ultrawide / multimonitor, it is known issues that multiple monitor and lazy transparency causes problems #153 #126 . While testing these environments, I found a weird behaviour where all visuals are broken, but it seems restarting skippy would solve this bug. I have used skippy thousands of times and this never happened, so presumably it is a weird edge case bug that I don't know how to reproduce.

Would love to know what bugs you are experiencing?

dreamcat4 commented 1 year ago

Would love to know what bugs you are experiencing?

dont worry @felixfung will be delivering that video as promised very soon. indeed most likely not related to the de, certain other type of multi monitor issue.

also must really apologize for taking so long over providing this. however it has enabled the extra time necessary to be much more thorough. to document more fully and more clearly all the things.

you should also be aware:

it is not clear to me whether or not you actually have a setup over there to reproduce locally. although maybe you can? it may be possible with a minimum of 2 monitors total. connected. is the expected minimum requirement.

one final point:

video has very high total resolution. so best to view on a 4k monitor. (since its combined 3 monitors). but maybe not essential. if you don't have that. then can still pause it to take still's screencaps of frames. to zoom/pan some screencaps... but everything in the video will also be (is already now) fully documented in markdown.

won't be too much longer (this time the promise is easier to meet, since mostly donw). again my apologies because this deliverable was promised much earlier. however now due pretty soon.

closing this issue.... b/c to open next for a clean issue. either today / tomorrow.