D15175: [effects/cubeslide] Fix several cubeslide issues

Igor Poboiko <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
poboiko added a comment.


  In D15175#318532 <https://phabricator.kde.org/D15175#318532>, @zzag wrote:
  
  > OK, so we don't really need m_forcedRoles(and panels, and stickyWindows) to track windows with forced roles. We could just reset forced roles for all windows when the animation is finished.
  >  But, conceptually, it would be wrong. So, yeah, we need to store windows with forced roles somewhere.
  
  
  But what about the current code? It resets roles not for all windows, but only sticky ones, by simply iterating over them and checking if we shouldAnimate() them.
  It doesn't look like a big overhead, since it's done only when animation ends. But we don't need a QSet with it.
  
  > The "force" part in WindowForceBlurRole is kinda confusing. If you set WindowForceBlurRole for some window, background behind it won't be necessarily blurred. By setting that role, we tell the Blur effect "that's fine to do your business behind transformed windows". (same with the WindowForceBackgroundContrastRole)
  > 
  > So, shouldForceBlur and shouldForceBackgroundContrast are redundant. Please delete them.
  
  Cool, thanks for clarifying!
  
  > Again, sorry for the inconvenience.
  
  No problem :)
  
  >> Apparently, acceptsFocus() is the only way how OSD differs from ordinary window on Wayland
  > 
  > That looks like a workaround (isSpecialWindow checks whether window is an OSD).
  
  It is indeed, unfortunately, that's why I've marked it with XXX. I did some debugging, here are flags for OSD on Wayland:
  
    [Cube] Should not animate QRegion(0,0 760x148) " <2>"
     - isCurrentTab: true
     - isDialog: false
     - isDNDIcon: false
     - isDropdownMenu: false
     - isManaged: false
     - isMenu: false
     - isModel: false
     - isMovable: true
     - isMovableAcrossScreens: true
     - isNormalWindow: true
     - isNotification: false
     - isOnAllDesktops: true
     - isPopupMenu: false
     - isSkipSwitcher: false
     - isSpecialWindow: false
     - isSplash: false
     - isToolbar: false
     - isTooltip: false
     - isUserMove: false
     - isUserResize: false
     - isUtility: false
     - isVisible: true
     - keepAbove: false
     - acceptsFocus: false
  
  and for ordinary "sticky" window (Wayland):
  
    [Cube] Should not animate QRegion(0,0 940x1084) "Home — Dolphin"
     - isCurrentTab: true
     - isDialog: false
     - isDNDIcon: false
     - isDropdownMenu: false
     - isManaged: false
     - isMenu: false
     - isModel: false
     - isMovable: true
     - isMovableAcrossScreens: true
     - isNormalWindow: true
     - isNotification: false
     - isOnAllDesktops: true
     - isPopupMenu: false
     - isSkipSwitcher: false
     - isSpecialWindow: false
     - isSplash: false
     - isToolbar: false
     - isTooltip: false
     - isUserMove: false
     - isUserResize: false
     - isUtility: false
     - isVisible: true
     - keepAbove: false
     - acceptsFocus: true
  
  and for OSD (X11):
  
    [Cube] Should not animate QRegion(0,0 760x148) ""
     - isCurrentTab: true
     - isDialog: false
     - isDNDIcon: false
     - isDropdownMenu: false
     - isManaged: false
     - isMenu: false
     - isModel: false
     - isMovable: false
     - isMovableAcrossScreens: false
     - isNormalWindow: true
     - isNotification: false
     - isOnAllDesktops: true
     - isPopupMenu: false
     - isSkipSwitcher: false
     - isSpecialWindow: true
     - isSplash: false
     - isToolbar: false
     - isTooltip: false
     - isUserMove: false
     - isUserResize: false
     - isUtility: false
     - isVisible: true
     - keepAbove: true
     - acceptsFocus: true

REPOSITORY
  R108 KWin

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

To: poboiko, #kwin, zzag
Cc: davidedmundson, zzag, 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.