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

Regression bug: The RGBA support breaks panel theme in FreeBSD #31

Closed
PCMan opened this issue May 12, 2014 · 13 comments
Closed

Regression bug: The RGBA support breaks panel theme in FreeBSD #31

PCMan opened this issue May 12, 2014 · 13 comments
Assignees

Comments

@PCMan
Copy link
Member

PCMan commented May 12, 2014

The commit 7054ed1 for RGBA has no effect in my ArchLinux system. However, it breaks our FreeBSD support. What does this commit does? I did not notice any effect in my arch.
In FreeBSD, the panel became black. The regression bug is introduced after this commit. (See the attached screenshot)
Please fix it. Thanks!
freebsd

@jleclanche
Copy link
Member

@rilian-la-te can you have a look at this please?

@jleclanche
Copy link
Member

This isn't just in freebsd, I'm getting the same on my existing installation. With compositing off, the panel is black - with compositing on, the panel is completely transparent.

I'll give @rilian-la-te some time to manifest himself otherwise will have to revert.

@PCMan
Copy link
Member Author

PCMan commented May 12, 2014

You probably have to check all other RGBA patches at the same time.
Here the situation is different.
In my archlinux, the RGBA pathces just have no effects regardless of the
status of compositor.
I'm not sure if this is related to driver since I'm using Virtualbox to
test this.
It's only broken in FreeBSD here.

On Mon, May 12, 2014 at 7:39 PM, Jerome Leclanche
notifications@github.comwrote:

This isn't just in freebsd, I'm getting the same on my existing
installation. With compositing off, the panel is black - with compositing
on, the panel is completely transparent.

I'll give @rilian-la-te https://github.com/rilian-la-te some time to
manifest himself otherwise will have to revert.


Reply to this email directly or view it on GitHubhttps://github.com//issues/31#issuecomment-42821763
.

@jleclanche
Copy link
Member

@PCMan Can you try updating lxqt-config?

@jleclanche
Copy link
Member

Er, I mean lxqt-common, sorry.

@rilian-la-te
Copy link
Contributor

@PCMan here is theme for you for test RGBA in FreeBSD: http://rghost.net/55111678

@rilian-la-te
Copy link
Contributor

@PCMan from you I need:

  1. DOM tree of panel (like this
    paneldom)
  2. cat /lxqt-panel.qss file. (this bug is look like you have outdated theme)

@PCMan
Copy link
Member Author

PCMan commented May 14, 2014

OK, tested with the flat-alpha theme and rebuild all of my lxqt source code from git.
For some reason I have the latest files but cmake did not update them when make install.
I removed all old build files and restart again now it works.
It works when a compositor is running. I got correct semi-transparent panel.
As expected, the panel is opaque when a compositor is not available.
So basically it works now.
However, if you toggle the compositor on and off, everything goes wrong.
Steps to reproduce.

  1. run openbox + compton to get X11 compositing.
  2. start lxqt-panel with flat-alpha theme. => Nice! it's now semi-transparent.
  3. kill compton, the compositor => the panel is gone!! It's sill there, but it becomes totally invisible.
  4. restart compton => Now the panel is back and it becomes visible again.
  5. kill compton, the compositor => the panel is gone again
  6. Switch to another theme => the panel appears (due to forced repaint, I guess)
  7. kill compton & lxqt-panel.
  8. Now start lxqt-panel => it works, the background is opaque.

Summary;
When lxqt-panel is running => turn on compositing => trarnsparent
When lxqt-panel is running => turn off compositing => broken, totally invisible and need repaint.
When the compositor is running => run lxqt-panel => transparent
When the compositor is off => run lxqt-panel => opaque

To fix this, we need to detect the availability of of X compositor and monitor for its changes.
Monitoring _NET_WM_CM_S? property can solve this.

@PCMan
Copy link
Member Author

PCMan commented May 14, 2014

We might need to add an API for checking X compositor to liblxqt (Xfitman).
Though QX11Info in Qt 4.8 provides this, it's removed after Qt5 so we need our own implementation.

@rilian-la-te
Copy link
Contributor

I cannot reproduce this with KWin compositing on/off and with compton-git in ArchLinux.

@rilian-la-te
Copy link
Contributor

This is FreeBSD issue?

@PCMan
Copy link
Member Author

PCMan commented Jul 12, 2014

There is an API for checking the availability of a compositor in KWindowSystem. We can use that after we fully migrate to Qt5 and drop Qt4.

@jleclanche
Copy link
Member

Consolidate to #81

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