Bug 324326 - Minimized windows are shown for split second when session is restored
Summary: Minimized windows are shown for split second when session is restored
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.11.0
Platform: Ubuntu Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/112...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-31 17:48 UTC by Michał D. (Emdek)
Modified: 2013-09-08 22:03 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.11.2
thomas.luebking: ReviewRequest+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał D. (Emdek) 2013-08-31 17:48:34 UTC
Minimized windows that were minimized are shown for split second when session is restored after logging in. This is new regression in KDE 4.11.

Reproducible: Always

Steps to Reproduce:
1. Minimize some windows.
2. Log out.
3. Log in.
Actual Results:  
Minimized windows are shown for split second after logging in.

Expected Results:  
Minimized windows shouldn't be shown before activated.
Comment 1 Thomas Lübking 2013-08-31 19:09:31 UTC
please post the output of "qdbus org.kde.kwin /KWin supportInformation"

Btw, what exactly is an old regression? :-P
Comment 2 Michał D. (Emdek) 2013-08-31 20:00:02 UTC
(In reply to comment #1)
> Btw, what exactly is an old regression? :-P

Something broken earlier and still not fixed. ;-)

Here is output:

Version
=======
KWin version: 4.11.0
KDE SC version (runtime): 4.11.00
KDE SC version (compile): 4.11.00
Qt Version: 4.8.4

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
showDesktopIsMinimizeAll: false
rollOverDesktops: true
focusStealingPreventionLevel: 2
legacyFullscreenSupport: false
operationTitlebarDblClick: 
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30                                                                                                                                                                    
commandActiveTitlebar3: 2                                                                                                                                                                     
commandInactiveTitlebar1: 4                                                                                                                                                                   
commandInactiveTitlebar2: 30                                                                                                                                                                  
commandInactiveTitlebar3: 2                                                                                                                                                                   
commandWindow1: 7                                                                                                                                                                             
commandWindow2: 8                                                                                                                                                                             
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777250
showGeometryTip: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: false
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 2
unredirectFullscreen: true
glSmoothScale: 1
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glDirect: true
glStrictBinding: true
glStrictBindingFollowsDriver: true
glLegacy: false
glCoreProfile: false
glPreferBufferSwap: 101

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Number of Screens: 1
Screen 0 Geometry: 0,0,1920x1080

Decoration
==========
Current Plugin: kwin3_oxygen
Shadows: yes
Alpha: yes
Announces Alpha: yes
Tabbing: yes
Frame Overlap: no
Blur Behind: no

Compositing
===========
Qt Graphics System: raster
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 5570 
OpenGL version string: 4.3.12441 Compatibility Profile Context 13.20.11
OpenGL shading language version string: 4.30
Driver: Catalyst
Driver version: 4.3.12441
GPU class: EVERGREEN
OpenGL version: 4.3.12441
GLSL version: 4.30
X server version: 1.13.3
Linux kernel version: 3.8
Direct rendering: yes
Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
kwin4_effect_slidingpopups
kwin4_effect_login
kwin4_effect_minimizeanimation
kwin4_effect_scalein
kwin4_effect_cube
kwin4_effect_desktopgrid
kwin4_effect_translucency
kwin4_effect_diminactive
kwin4_effect_fadedesktop
kwin4_effect_resize
kwin4_effect_maximize
kwin4_effect_fade
kwin4_effect_sheet
kwin4_effect_taskbarthumbnail
kwin4_effect_dialogparent
kwin4_effect_presentwindows
kwin4_effect_blur
kwin4_effect_logout
kwin4_effect_dashboard
kwin4_effect_windowgeometry
kwin4_effect_screenedge
kwin4_effect_startupfeedback
kwin4_effect_kscreen

Currently Active Effects:
-------------------------
kwin4_effect_diminactive
kwin4_effect_blur

Effect Settings:
----------------
kwin4_effect_slidingpopups:
fadeInTime: 125
fadeOutTime: 125

kwin4_effect_login:

kwin4_effect_minimizeanimation:

kwin4_effect_scalein:

kwin4_effect_cube:
cubeOpacity: 0.800000011920929
opacityDesktopOnly: false
displayDesktopName: true
reflection: true
rotationDuration: 250
backgroundColor: #000000
capColor: #f1efe5
paintCaps: true
closeOnMouseRelease: false
zPosition: 100
useForTabBox: false
invertKeys: false
invertMouse: false
capDeformationFactor: 0
useZOrdering: false
texturedCaps: true

kwin4_effect_desktopgrid:
zoomDuration: 150
border: 10
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

kwin4_effect_translucency:

kwin4_effect_diminactive:
dimPanels: false
dimDesktop: false
dimKeepAbove: false
dimByGroup: true
dimStrength: 25

kwin4_effect_fadedesktop:

kwin4_effect_resize:
textureScale: true
outline: false

kwin4_effect_maximize:

kwin4_effect_fade:

kwin4_effect_sheet:
duration: 250

kwin4_effect_taskbarthumbnail:

kwin4_effect_dialogparent:

kwin4_effect_presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 75
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0
dragToClose: false

kwin4_effect_blur:
blurRadius: 4
cacheTexture: true

kwin4_effect_logout:
useBlur: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false

kwin4_effect_windowgeometry:
handlesMoves: true
handlesResizes: true

kwin4_effect_screenedge:

kwin4_effect_startupfeedback:

kwin4_effect_kscreen:
Comment 3 Thomas Lübking 2013-08-31 20:21:48 UTC
> hiddenPreviews: 2
Minimized windows are not unmapped, so general visibility is in the cards.
They should however be below everything and not rendered unless for effect reuqest.
Looking at it, i bet on the scalein effect which does not check the minimization state.

Edit /usr/share/apps/kwin/effects/kwin4_effect_scalein/contents/code/main.js

diff --git a/kwin/effects/scalein/package/contents/code/main.js b/kwin/effects/scalein/package/contents/code/main.js
index 91f6cfe..c404a0c 100644
--- a/kwin/effects/scalein/package/contents/code/main.js
+++ b/kwin/effects/scalein/package/contents/code/main.js
@@ -26,7 +26,7 @@ var scaleInEffect = {
     },
     isScaleWindow: function (window) {
         "use strict";
-        if (window.popupMenu || window.specialWindow || window.utility ||
+        if (window.popupMenu || window.specialWindow || window.utility || w.minimized ||
                 effect.isGrabbed(window, Effect.WindowAddedGrabRole)) {
             return false;
         }
Comment 4 Michał D. (Emdek) 2013-09-01 06:00:37 UTC
Yeah, it seems to be this one, thanks. :-)
Although in my case path was:
/usr/share/kde4/apps/kwin/effects/kwin4_effect_scalein/contents/code/main.js
Also I've changed w.minimized to window.minimized.
Comment 5 Thomas Lübking 2013-09-01 10:55:45 UTC
(In reply to comment #4)
> Although in my case path
Not resposible for weird downstream installation paths :-P

> Also I've changed w.minimized to window.minimized.
Am fully responsible for not looking at actual variable syntax =)
Comment 6 Thomas Lübking 2013-09-08 22:03:44 UTC
Git commit 8af3dace4270a9272010e6b0bb257b719ca98184 by Thomas Lübking.
Committed on 01/09/2013 at 10:51.
Pushed by luebking into branch 'KDE/4.11'.

ignore minimized windows in scalein effect
FIXED-IN: 4.11.2
REVIEW: 112425

M  +1    -1    kwin/effects/scalein/package/contents/code/main.js

http://commits.kde.org/kde-workspace/8af3dace4270a9272010e6b0bb257b719ca98184