D15117: [RFC] [effects] Make Scale and Glide effects Wayland-friendly

Vlad Zagorodniy <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
zzag added a comment.


  > Though we want a property name that's about how it's "self-positioning" rather than necessarily being about being a popup.
  
  Yeah, assumption that all O-R windows are popups is wrong.
  
  Could we fix that by adding isPopupWindow to Unmanaged?
  
    bool Unmanaged::isPopupWindow() const
    {
        return isTooltip()
            || isComboBox()
            || ...;
    }
  
  So, effects would do
  
    // A popup can be a normal window (e.g. combo box popup on X11).
    if (w->isPopupWindow()) {
        return false;
    }
    
    // Comment describing why we don't want to animate unmanaged windows.
    if (w->isX11Client() && !w->isManaged()) {
        return false;
    }
    
    return w->isNormalWindow()
        || w->isDialog();
  
  It's longer than
  
    // Don't animate popups and unmanaged windows.
    if (w->isSelfPositionedWindow()) {
        return false;
    }
    
    return w->isNormalWindow()
        || w->isDialog();
  
  but with the isPopupWindow method, we have more readable code and we don't need to introduce shady terminology that puts unmanaged clients on X11 and popups on Wayland under single umbrella.
  
  Also, it makes possible to split the Fade effect.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D15117

To: zzag, #kwin
Cc: davidedmundson, kwin, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.