Created attachment 180316 [details] Shows chromium with double decoration SUMMARY For a few days or a week Chromium based apps will show a double window decoration when used with CSD. Some Electron apps also show their CSD but there is no gap between them. This could be chromium fault, I am reporting it here though because I find it a bit weird that all of the sudden - Brave - Chrome stable - Chromium - Electron app happen to have this bug at the same time. Firefox CSD works just fine. STEPS TO REPRODUCE 1. Latest Qt6.9 plus Latest Plasma/Kwin/etc. 2. Open chromium 3. Open vscode OBSERVED RESULT See screenshot SOFTWARE/OS VERSIONS Linux/KDE Plasma: 6.14.2-arch1-1, 4.6 (Compatibility Profile) Mesa 25.0.3-arch1.1 Qt6.9 from branch compiled 15/04/2025 Plasma from master (same date)
Thanks for filing this bug report and for the screenshot that shows the problem. I'm not seeing this bug on git-master, with Chromium or Electron apps (Obsidian Notes, VS Code) with Qt 6.8.3 I'll leave this open so someone with Qt 6.9 can also test
I can't reproduce on Fedora KDE 42 with Qt 6.9 - for the reporter, what graphics card are you using? Just curious as I'm on an NVIDIA card, perhaps there's some difference there?
GL_VERSION: 4.6 (Compatibility Profile) Mesa 25.0.4-arch1.1 GL_RENDERER: AMD Radeon 780M (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.2-arch1-1)
if given some instructions I can try to debug this a little bit, add a qDebug here and there, etc.
Thanks for reporting. This is curious. Once or twice - I have seen the extra whitespace between screen border and window decoration border, that can not get filled. So I think there could really be something there. But it is not the same as you have shown. > when used with CSD From a clean Chromium profile, what options exactly do I have to change so I can reproduce this? Can you reproduce this with a completely fresh Chromium profile? (Ctrl+Shift+M -> Add new profile) Is this bug happening all the time or just some of the times? Does it go away when you resize, maximize or push around the windows with the tiling shortcuts (Win + Left, Win + Right etc. by default)
Updating status
(In reply to Lenzoid from comment #5) > Thanks for reporting. This is curious. Once or twice - I have seen the extra > whitespace between screen border and window decoration border, that can not > get filled. So I think there could really be something there. But it is not > the same as you have shown. > > > when used with CSD > > From a clean Chromium profile, what options exactly do I have to change so I > can reproduce this? Can you reproduce this with a completely fresh Chromium > profile? (Ctrl+Shift+M -> Add new profile) > > Is this bug happening all the time or just some of the times? Does it go > away when you resize, maximize or push around the windows with the tiling > shortcuts (Win + Left, Win + Right etc. by default) Yes, I can reproduce it every time, with all profiles as long as csd is on.
Extra info qdbus org.kde.KWin /KWin org.kde.KWin.queryWindowInfo and selecting the chromium window activities: 6b8800b3-7183-47ca-b5c1-c780d8a84e9b caption: New Tab - Chromium clientMachine: localhost desktopFile: desktops: 811e257b-ded6-4ce1-8ff1-99919f508916 fullscreen: false height: 798 keepAbove: false keepBelow: false layer: 2 localhost: true maximizeHorizontal: 0 maximizeVertical: 0 minimized: false noBorder: false resourceClass: Chromium resourceName: chromium role: browser shaded: false skipPager: false skipSwitcher: false skipTaskbar: false type: 0 uuid: {2905d02b-c460-4a67-b568-d253b7e35156} width: 1140.6666666666667 x: 349.3333333333333 y: 32.666666666666664 qdbus org.kde.KWin /KWin org.kde.KWin.supportInformation KWin Support Information: The following information should be used when requesting support on e.g. https://discuss.kde.org. It provides information about the currently running instance, which options are used, what OpenGL driver and which effects are running. Please post the information provided underneath this introductory text to a paste bin service like https://paste.kde.org instead of pasting into support threads. ========================== Version ======= KWin version: 6.3.80 Qt Version: 6.9.0 Qt compile version: 6.9.0 XCB compile version: 1.17.0 Operation Mode: Wayland Build Options ============= KWIN_BUILD_DECORATIONS: yes KWIN_BUILD_TABBOX: yes KWIN_BUILD_ACTIVITIES: yes HAVE_X11_XCB: yes X11 === Vendor: The X.Org Foundation Vendor Release: 12401006 Protocol Version/Revision: 11/0 SHAPE: yes; Version: 0x11 RANDR: yes; Version: 0x14 Composite: yes; Version: 0x4 RENDER: yes; Version: 0xb XFIXES: yes; Version: 0x50 SYNC: yes; Version: 0x31 RES: yes; Version: 0x12 Decoration ========== Plugin: org.kde.breeze Theme: Breeze Plugin recommends border size: None onAllDesktopsAvailable: true alphaChannelSupported: true closeOnDoubleClickOnMenu: false decorationButtonsLeft: decorationButtonsRight: 6, 3, 4, 5 borderSize: 0 gridUnit: 10 font: Droid Sans [1ASC],10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1 smallSpacing: 2 largeSpacing: 10 Output backend ============== Name: DRM Atomic Mode Setting on GPU 0: true Cursor ====== themeName: breeze_cursors themeSize: 24 Options ======= focusPolicy: ClickToFocus xwaylandCrashPolicy: 1 xwaylandMaxCrashCount: 3 nextFocusPrefersMouse: false clickRaise: true autoRaise: false autoRaiseInterval: 0 delayFocusInterval: 0 shadeHover: false shadeHoverInterval: 250 separateScreenFocus: false placement: 5 activationDesktopPolicy: SwitchToOtherDesktop focusPolicyIsReasonable: true borderSnapZone: 10 windowSnapZone: 10 centerSnapZone: 0 snapOnlyWhenOverlapping: false edgeBarrier: 100 cornerBarrier: 1 rollOverDesktops: false focusStealingPreventionLevel: 1 operationTitlebarDblClick: 5000 operationMaxButtonLeftClick: 5000 operationMaxButtonMiddleClick: 5015 operationMaxButtonRightClick: 5014 commandActiveTitlebar1: MouseRaise commandActiveTitlebar2: MouseNothing commandActiveTitlebar3: MouseOperationsMenu commandInactiveTitlebar1: MouseActivateAndRaise commandInactiveTitlebar2: MouseNothing commandInactiveTitlebar3: MouseOperationsMenu commandWindow1: MouseActivateRaiseAndPassClick commandWindow2: MouseActivateAndPassClick commandWindow3: MouseActivateAndPassClick commandWindowWheel: MouseNothing commandAll1: MouseUnrestrictedMove commandAll2: MouseToggleRaiseAndLower commandAll3: MouseUnrestrictedResize keyCmdAllModKey: 16777250 doubleClickBorderToMaximize: true condensedTitle: false electricBorderMaximize: true electricBorderTiling: true electricBorderCornerRatio: 0.25 borderlessMaximizedWindows: false killPingTimeout: 5000 compositingMode: 1 allowTearing: true interactiveWindowMoveEnabled: true Screen Edges ============ desktopSwitching: false desktopSwitchingMovingClients: false cursorPushBackDistance: 1x1 actionTopLeft: 0 actionTop: 0 actionTopRight: 0 actionRight: 0 actionBottomRight: 0 actionBottom: 0 actionBottomLeft: 0 actionLeft: 0 Screens ======= Number of Screens: 2 Screen 0: --------- Name: eDP-1 Enabled: 1 Geometry: 0,0,1805x1203 Physical size: 285x190mm Scale: 1.25 Refresh Rate: 59999 Adaptive Sync: incapable Screen 1: --------- Name: DP-7 Enabled: 1 Geometry: 1805,0,2560x1440 Physical size: 698x393mm Scale: 1.5 Refresh Rate: 59997 Adaptive Sync: automatic Compositing =========== Compositing is active Compositing Type: OpenGL OpenGL vendor string: AMD OpenGL renderer string: AMD Radeon 780M (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.3-arch1-1) OpenGL version string: 4.6 (Core Profile) Mesa 25.0.4-arch1.1 OpenGL platform interface: EGL OpenGL shading language version string: 4.60 Driver: Unknown GPU class: Unknown OpenGL version: 4.6 GLSL version: 4.60 Mesa version: 25.0.4 X server version: 1.24.1 Linux kernel version: 6.14.3 Direct rendering: Requires strict binding: no Virtual Machine: no OpenGL 2 Shaders are used Loaded Effects: --------------- shakecursor screenshot outputlocator mouseclick colorpicker zoom contrast login logout sessionquit slidingpopups windowaperture slide maximize fadingpopups squash fullscreen frozenapp dimscreen scale dialogparent windowview tileseditor overview highlightwindow blendchanges startupfeedback systembell screentransform kscreen Currently Active Effects: ------------------------- contrast Effect Settings: ---------------- shakecursor: screenshot: outputlocator: mouseclick: color1: #ff0000 color2: #00ff00 color3: #0000ff lineWidth: 2 ringLife: 300 ringSize: 20 ringCount: 2 showText: false font: Droid Sans [1ASC],10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1 enabled: false colorpicker: zoom: zoomFactor: 1.2 mousePointer: 0 mouseTracking: 0 focusTrackingEnabled: false textCaretTrackingEnabled: false focusDelay: 350 moveFactor: 20 targetZoom: 1 contrast: login: pluginId: login isActiveFullScreenEffect: false logout: pluginId: logout isActiveFullScreenEffect: false sessionquit: pluginId: sessionquit isActiveFullScreenEffect: false slidingpopups: slideInDuration: 200 slideOutDuration: 200 windowaperture: pluginId: windowaperture isActiveFullScreenEffect: false slide: horizontalGap: 45 verticalGap: 20 slideBackground: true maximize: pluginId: maximize isActiveFullScreenEffect: false fadingpopups: pluginId: fadingpopups isActiveFullScreenEffect: false squash: pluginId: squash isActiveFullScreenEffect: false fullscreen: pluginId: fullscreen isActiveFullScreenEffect: false frozenapp: pluginId: frozenapp isActiveFullScreenEffect: false dimscreen: pluginId: dimscreen isActiveFullScreenEffect: false scale: pluginId: scale isActiveFullScreenEffect: false dialogparent: pluginId: dialogparent isActiveFullScreenEffect: false windowview: activeView: delegate: animationDuration: 300 ignoreMinimized: false mode: partialActivationFactor: 0 gestureInProgress: false searchText: selectedIds: tileseditor: activeView: delegate: animationDuration: 200 overview: activeView: delegate: animationDuration: 300 ignoreMinimized: false filterWindows: true organizedGrid: true overviewPartialActivationFactor: 0 overviewGestureInProgress: false transitionPartialActivationFactor: 0 transitionGestureInProgress: false gridPartialActivationFactor: 0 gridGestureInProgress: false desktopOffset: searchText: highlightwindow: blendchanges: startupfeedback: type: 1 systembell: screentransform: kscreen: Loaded Plugins: --------------- BounceKeysPlugin KeyNotificationPlugin StickyKeysPlugin TouchpadShortcutsPlugin buttonsrebind eis krunnerintegration nightlight screencast Available Plugins: ------------------ BounceKeysPlugin KeyNotificationPlugin StickyKeysPlugin TouchpadShortcutsPlugin buttonsrebind eis krunnerintegration nightlight screencast