Summary: | [Wayland] Emoji selector does not appear with certain display arrangements | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | indecisiveautomator |
Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | nate |
Priority: | NOR | Keywords: | wayland |
Version: | 5.23.90 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
indecisiveautomator
2022-01-15 22:37:45 UTC
This all sounds extremely strange, and I am a bit confused. The Emoji picker window works fine for me, so I mist not be understanding the issue. Would you mind writing steps to reproduce? So while writing a reply to you, I realised the cause! I can open the emoji picker fine when my top middle display is switched off, but not when it is switched on. I realised this after writing an initial reply and then testing on my single-display laptop to see if the emoji selector works there, and it does. I also discovered another odd behaviour, which I'll mention below. So with this in mind, I'll write the steps to reproduce: 1. With a centered top display connected, 2. Attempt to open the emoji picker, either from Kickoff/KRunner/the Meta+Period shortcut 3. The emoji selector does not appear. 4. If *any* display is powered off and on again, 5. The behaviour from the initial report, where the window appears in Overview, is not present. In other words, if a display is powered off and on, the emoji picker menu does not display *anywhere*, but it's process, "ibus-ui-emojier-plasma", is running and visible from KSysGuard. On my laptop with Plasma 5.23.90, the emoji picker works fine, but not on my desktop. Perhaps it is a multi-screen issue related to my display setup (three along the bottom, one in the top center), which seems to cause a couple of other buggy behaviours (https://bugs.kde.org/show_bug.cgi?id=447330) (https://bugs.kde.org/show_bug.cgi?id=448572). Initially, I was under the impression that this behaviour was as simple as trying to open the emoji picker, which is why the steps to reproduce was just basically "Open the emoji picker". From further testing, I can see it's a bit more complex than this. Thanks, that's helpful. Is the main window really not appearing *anywhere*? Does it not even show up in the overview effect? The main window will appear in the Overview effect normally even with the top monitor powered on, yes, but once a monitor is powered on and off - any monitor - the window no longer shows up even in the Overview effect. If it was previously visible in the Overview effect, when it will disappear. If the process is killed and you try to open the window again, it still won't show up in the Overview effect unless the top monitor is powered off. So basically, if no monitor is switched on or off, and my top-most display is powered on, the picker appears in the Overview effect but cannot be focused at all. As mentioned in the opening report, there is no focus change even when trying to select it. If a monitor is switched on and off, the emoji picker will disappear from the Overview effect. If the top display is powered off, the emoji picker appears fine. As an additional piece of information, I noticed that when the emoji picker is visible in the Overview effect, it is always on the top display spread (this top display is DP-01). I could not find any instance where this was not the case unless the monitor is off, where it appears on my middle display (this is DP-02). Very strange. Can you open the debug console by typing "kwin" in krunner and check whether emoji selector is listed under "wayland windows"? If so, what's its geometry? Can you also post the output of `qdbus org.kde.KWin /KWin supportInformation`, it will include info about the output layout I can't seem to open the KWin debug console. It appears in KRunner when I type "KWin" but when I try to open it, nothing appears. I'm unsure of its process name so I can't say if it's running and just is not visible. Here is the output of the qdbus command (unsure if there's a better way to send such large outputs, sorry): ``` ========================== Version ======= KWin version: 5.23.90 Qt Version: 5.15.2 Qt compile version: 5.15.2 XCB compile version: 1.14 Operation Mode: Xwayland Build Options ============= KWIN_BUILD_DECORATIONS: yes KWIN_BUILD_TABBOX: yes KWIN_BUILD_ACTIVITIES: yes HAVE_X11_XCB: yes HAVE_EPOXY_GLX: yes HAVE_WAYLAND_EGL: yes X11 === Vendor: The X.Org Foundation Vendor Release: 12101004 Protocol Version/Revision: 11/0 SHAPE: yes; Version: 0x11 RANDR: yes; Version: 0x14 DAMAGE: yes; Version: 0x11 Composite: yes; Version: 0x4 RENDER: yes; Version: 0xb XFIXES: yes; Version: 0x50 SYNC: yes; Version: 0x31 GLX: yes; Version: 0x0 Decoration ========== Plugin: org.kde.breeze Theme: Plugin recommends border size: None Blur: 0 onAllDesktopsAvailable: true alphaChannelSupported: true closeOnDoubleClickOnMenu: false decorationButtonsLeft: 5, 3, 4 decorationButtonsRight: 2, 0 borderSize: 0 gridUnit: 10 font: Noto Sans,10,-1,5,75,0,0,0,0,0,Bold smallSpacing: 2 largeSpacing: 10 Platform ========== Name: DRM Active: true Atomic Mode Setting on GPU 0: true Cursor ====== themeName: breeze_cursors themeSize: 36 Options ======= focusPolicy: 0 xwaylandCrashPolicy: xwaylandMaxCrashCount: 3 nextFocusPrefersMouse: false clickRaise: true autoRaise: false autoRaiseInterval: 0 delayFocusInterval: 0 shadeHover: false shadeHoverInterval: 250 separateScreenFocus: false activeMouseScreen: true placement: 6 focusPolicyIsReasonable: true borderSnapZone: 10 windowSnapZone: 10 centerSnapZone: 0 snapOnlyWhenOverlapping: false rollOverDesktops: true focusStealingPreventionLevel: 1 operationTitlebarDblClick: 5000 operationMaxButtonLeftClick: 5000 operationMaxButtonMiddleClick: 5015 operationMaxButtonRightClick: 5014 commandActiveTitlebar1: 0 commandActiveTitlebar2: 28 commandActiveTitlebar3: 2 commandInactiveTitlebar1: 4 commandInactiveTitlebar2: 28 commandInactiveTitlebar3: 2 commandWindow1: 7 commandWindow2: 8 commandWindow3: 8 commandWindowWheel: 28 commandAll1: 10 commandAll2: 3 commandAll3: 14 keyCmdAllModKey: 16777251 condensedTitle: false electricBorderMaximize: true electricBorderTiling: true electricBorderCornerRatio: 0.25 borderlessMaximizedWindows: false killPingTimeout: 5000 hideUtilityWindowsForInactive: true compositingMode: 1 useCompositing: true hiddenPreviews: 1 glSmoothScale: 1 glStrictBinding: false glStrictBindingFollowsDriver: true glPreferBufferSwap: 101 glPlatformInterface: 2 windowsBlockCompositing: false latencyPolicy: renderTimeEstimator: Screen Edges ============ desktopSwitching: false desktopSwitchingMovingClients: false cursorPushBackDistance: 1x1 timeThreshold: 150 reActivateThreshold: 350 actionTopLeft: 0 actionTop: 0 actionTopRight: 0 actionRight: 0 actionBottomRight: 0 actionBottom: 0 actionBottomLeft: 0 actionLeft: 0 Screens ======= Multi-Head: no Active screen follows mouse: yes Number of Screens: 4 Screen 0: --------- Name: DP-1 Geometry: 2560,0,1920x1080 Scale: 1 Refresh Rate: 60000 Adaptive Sync: incapable Screen 1: --------- Name: DP-2 Geometry: 2560,1080,1920x1080 Scale: 1 Refresh Rate: 164997 Adaptive Sync: incapable Screen 2: --------- Name: DP-3 Geometry: 0,1080,2560x1440 Scale: 1.5 Refresh Rate: 59997 Adaptive Sync: automatic Screen 3: --------- Name: HDMI-A-1 Geometry: 4480,1080,1920x1080 Scale: 1 Refresh Rate: 60000 Adaptive Sync: incapable Compositing =========== Compositing is active Compositing Type: OpenGL OpenGL vendor string: AMD OpenGL renderer string: AMD Radeon RX 5700 XT (NAVI10, DRM 3.44.0, 5.16.2-arch1-1, LLVM 13.0.0) OpenGL version string: 4.6 (Core Profile) Mesa 21.3.4 OpenGL platform interface: EGL OpenGL shading language version string: 4.60 Driver: RadeonSI GPU class: Navi OpenGL version: 4.6 GLSL version: 4.60 Mesa version: 21.3.4 Linux kernel version: 5.16.2 Direct rendering: Requires strict binding: no GLSL shaders: yes Texture NPOT support: yes Virtual Machine: no OpenGL 2 Shaders are used Loaded Effects: --------------- kwin4_effect_dialogparent kwin4_effect_dimscreen kwin4_effect_scale kwin4_effect_windowaperture kwin4_effect_sessionquit kwin4_effect_morphingpopups kwin4_effect_translucency kwin4_effect_login kwin4_effect_frozenapp zoom slidingpopups colorpicker desktopgrid slide screenshot highlightwindow overview presentwindows wobblywindows blur contrast screenedge startupfeedback kscreen screentransform Currently Active Effects: ------------------------- blur contrast screenedge Effect Settings: ---------------- kwin4_effect_dialogparent: pluginId: kwin4_effect_dialogparent isActiveFullScreenEffect: false kwin4_effect_dimscreen: pluginId: kwin4_effect_dimscreen isActiveFullScreenEffect: false kwin4_effect_scale: pluginId: kwin4_effect_scale isActiveFullScreenEffect: false kwin4_effect_windowaperture: pluginId: kwin4_effect_windowaperture isActiveFullScreenEffect: false kwin4_effect_sessionquit: pluginId: kwin4_effect_sessionquit isActiveFullScreenEffect: false kwin4_effect_morphingpopups: pluginId: kwin4_effect_morphingpopups isActiveFullScreenEffect: false kwin4_effect_translucency: pluginId: kwin4_effect_translucency isActiveFullScreenEffect: false kwin4_effect_login: pluginId: kwin4_effect_login isActiveFullScreenEffect: false kwin4_effect_frozenapp: pluginId: kwin4_effect_frozenapp isActiveFullScreenEffect: false zoom: zoomFactor: 1.2 mousePointer: 0 mouseTracking: 0 focusTrackingEnabled: false textCaretTrackingEnabled: false focusDelay: 350 moveFactor: 20 targetZoom: 1 slidingpopups: slideInDuration: 150 slideOutDuration: 250 colorpicker: desktopgrid: zoomDuration: 300 border: 10 desktopNameAlignment: 0 layoutMode: 0 customLayoutRows: 2 usePresentWindows: true slide: duration: 500 horizontalGap: 45 verticalGap: 20 slideDocks: false slideBackground: true screenshot: highlightwindow: overview: animationDuration: 200 layout: 1 blurBackground: true presentwindows: layoutMode: 0 showCaptions: true showIcons: true doNotCloseWindows: false ignoreMinimized: false accuracy: 20 fillGaps: true fadeDuration: 150 showPanel: true leftButtonWindow: 1 rightButtonWindow: 2 middleButtonWindow: 0 leftButtonDesktop: 2 middleButtonDesktop: 0 rightButtonDesktop: 0 wobblywindows: stiffness: 0.15 drag: 0.8 moveFactor: 0.1 xTesselation: 20 yTesselation: 20 minVelocity: 0 maxVelocity: 1000 stopVelocity: 0.5 minAcceleration: 0 maxAcceleration: 1000 stopAcceleration: 0.5 moveWobble: true resizeWobble: false blur: contrast: screenedge: startupfeedback: type: 1 kscreen: screentransform: Loaded Plugins: --------------- kwin5_plugin_colord kwin5_plugin_krunner kwin5_plugin_nightcolor kwin5_plugin_screencast Available Plugins: ------------------ kwin5_plugin_colord kwin5_plugin_krunner kwin5_plugin_nightcolor kwin5_plugin_screencast ``` I ran some system updates earlier today, and along with another issue with system tray icons being fixed, the emoji selector now appears! However, I still cannot open the KWin debug console. This is likely a separate issue, but I cannot confirm the window geometry still or anything like that, apologies. I'm sure a KDE dev is probably more aware of what packages might have been updated to fix this, but I had a browse through the Pacman logs. Mostly it was an update to Mesa, but there were some Qt package updates: - `qt-base` was updated from `5.15.2+kde+r294` to `5.15.2+kde+r295` - `qt5-wayland` was updated from `5.15.2+kde+r44-1` to `5.15.2+kde+r46-1` On opening it in the first login, it doesn't appear centered on the screen but a bit away from the left hand side of the screen and a bit down from the top. Subsequent opens make it appear centered. But that is very minor, and just an observation. I am happy for this to be marked as resolved, but if further investigation into what may have fixed this issue is needed, it can be left open. There was a slew of Qt package updates for my system, adding a `-2` to the end of most versions. Since this, the emoji selector now always appears centered and the previous first-open positioning behaviour seems to be resolved! 😄 The emoji picker now functions as before. It doesn't appear on the display that the cursor is on, but that's a separate issue (I believe KRunner tries to do this but can't on Wayland). Glad this is resolved! Oh good! |