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

Background alpha no longer functioning #95

Closed orangebowlerhat closed 1 year ago

orangebowlerhat commented 1 year ago

The previous version of skippy would allow background transparency to work correctly. I had mine set to fully transparent so that picom would blur the desktop behind skippy and this worked well. Since the recent update, the background does not blur. Changing the background colour in the config file does not appear to affect the transparency.

If I were guessing, I might say that skippy used to be an RGBA window and now its just RGB, so that it has no alpha mask. In which case it would be drawing the background itself and ignoring the lazy trans setting in the config. It could be that it somehow fits in the list of windows that picom excludes from the blur effect but, for me, that list includes only my screen grab app.

orangebowlerhat commented 1 year ago

BTW, I have the source and have attempted to figure out whats going wrong but have not succeeded yet. It might be useful to compare with the previous code but I don't have that any more.

felixfung commented 1 year ago

Hi can you please try reverting https://github.com/dreamcat4/skippy-xd/pull/86

orangebowlerhat commented 1 year ago

I did, but got error on compile:

src/mainwin.c:205:9: error: use of undeclared label 'mainwin_create_err' goto mainwin_create_err;

This appears to be because mainwin_create_err is a label in a different function from where that reference is. So I created a new label in that function and tried again.

The produced a broken layout, but still no blurred background.

orangebowlerhat commented 1 year ago

I tried going a few more commits back but ran it git merge problems. Plus the problem with jumping to an undefined label kept coming back. I've nuked it and gone back to the richardgv build for the moment. I will have another go tomorrow.

felixfung commented 1 year ago

Thanks @orangebowlerhat for reporting this.

The label error is from #88, adding a bogus label to silence the compile error should be completely ok.

I experienced the broken layout also, hence turning it off in #86, thinking no one uses it.

I will try to debug + fix.

Thanks!

orangebowlerhat commented 1 year ago

I may have not seen the blur because I've been adjusting my config file, trying to figure out what was going wrong. Although when I did go back to the previous build I got a solid black background, which is how the config was set. I will make another attempt now that I've got the config for blur working correctly.

felixfung commented 1 year ago

My guess would be that blur would work, given lazy transparency, but that the layout would be broken due to some regression I have introduced some indefinite time ago... sigh this may not be an easy bug to fix :)

Look forward to hearing what you are experiencing, and sorry for introducing this bug.

felixfung commented 1 year ago

@orangebowlerhat can you please see if #97 solve the problem?

felixfung commented 1 year ago

@orangebowlerhat have you had a chance to try testing?

felixfung commented 1 year ago

@orangebowlerhat any updates? Should I merge #97?

felixfung commented 1 year ago

@orangebowlerhat I am going to assume PR #97 fixes this issue for now and merge. Please comment/reopen issue if problem persists. Thanks!

orangebowlerhat commented 1 year ago

@felixfung

Sorry for taking so long to check this. I've tested the latest and the problem does appear to be resolved. Great stuff.

However, the window animation seems not to be working now. Perhaps that's something in my config? I only mention it because I want to be sure I'm running the right code.

felixfung commented 1 year ago

If you are using --activate-switcher or --toggle-switcher, these are hard-coded not to do animation. I think most alt-tab users do not prefer animation. Expose and paging do have animation, as long as animationDuration is not 0. updateFreq should be 60.0 or similar, otherwise animation might look broken.

If you still have issues you can post your config file?

orangebowlerhat commented 1 year ago

Hey Felix,

Animation returns if I use expose. I can see the logic of not wanting animation for alt-tab but now I'm debating whether to add animation myself. I prefer the classic layout. On another note, I guess is the animation update tied into the speed of pixmap updates?

felixfung commented 1 year ago

exposeLayout=xd should give you the classic layout. Switcher and expose have other differences:

behaviour alt-tab expose paging
layout always XD user config always grid
prev/next ordering always row-row always column-column always row-row
animation never animation user config user config
virtual desktop filtering user config user config all desktops

Animation fps was tied to pixmap update speed, nice pointing it out. I have decoupled the two with #103.