I have a secondary display attached to the left of the primary one. On disconnect, the panels from that display shift to the primary monitor (you can sort of see them as black bars the video - usually they have icons on them too). Furthermore, the screen edges are misinterpreted, and kwin thinks the screen is smaller than it actually is (as can be seen from the attempts to tile a window in the video). What I do right now is to just restart latte dock and KWin every time I unplug. This fixes the problem, though the windows still get squished form the earlier size misconfiguration. If you be able to reproduce this behavior with a secondary monitor positioned to the left.
What video?
1. Send please your env output 2. Have you enabled any type of scaling?
Created attachment 118937 [details] video illustration
GS_LIB=/home/username/.fonts KDE_FULL_SESSION=true LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US.UTF-8 PROFILEHOME= DISPLAY=:0 QT_STYLE_OVERRIDE=kvantum-dark SHELL_SESSION_ID=d48c31d48a2b45778d9e430c4fd12cbc KCRASH_AUTO_RESTARTED=1 GTK_CSD=0 COLORTERM=truecolor QT_SCREEN_SCALE_FACTORS=eDP-1=1;DP-1=1;HDMI-1=1;DP-2=1;HDMI-2=1; XDG_VTNR=1 MANDATORY_PATH=/usr/share/gconf/plasma.mandatory.path XDG_SESSION_ID=3 USER=ml DESKTOP_SESSION=plasma GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/username/.gtkrc-2.0:/home/username/.config/gtkrc-2.0 DEFAULTS_PATH=/usr/share/gconf/plasma.default.path PWD=/home/username HOME=/home/username SSH_AGENT_PID=1607 XCURSOR_SIZE=0 QT_ACCESSIBILITY=1 LIBVIRT_DEFAULT_URI=qemu:///system XDG_SESSION_TYPE=x11 XDG_DATA_DIRS=/usr/share/plasma:/home/username/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop KONSOLE_DBUS_SESSION=/Sessions/1 XDG_SESSION_DESKTOP=KDE KONSOLE_DBUS_WINDOW=/Windows/1 GTK_MODULES=appmenu-gtk-module UBUNTU_MENUPROXY=1 TERM=xterm-256color SHELL=/bin/bash KONSOLE_DBUS_SERVICE=:1.3365 XDG_SESSION_CLASS=user XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XCURSOR_THEME=cz-Viator (Black) XDG_CURRENT_DESKTOP=KDE GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 KONSOLE_PROFILE_NAME=Profile 2 XDG_SEAT=seat0 SHLVL=1 COLORFGBG=15;0 LANGUAGE=en_US GTK_RC_FILES=/etc/gtk/gtkrc:/home/username/.gtkrc:/home/username/.config/gtkrc WINDOWID=148897799 LOGNAME=ml DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus XDG_RUNTIME_DIR=/run/user/1000 XAUTHORITY=/tmp/xauth-1000-_0 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 QT_AUTO_SCREEN_SCALE_FACTOR=0 XDG_CONFIG_DIRS=/etc/xdg/xdg-plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings PATH=/home/username/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin KDE_SESSION_UID=1000 KDE_SESSION_VERSION=5 LD_PRELOAD=libgtk3-nocsd.so.0 SESSION_MANAGER=local/username-machine:@/tmp/.ICE-unix/1663,unix/username-t440s:/tmp/.ICE-unix/1663 LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/env
1. see below. 2. No.
I think this is kwin related, nothing to do with Latte... 1. if you use a plasma panel instead dont you get the same results? 2. If you move your DP-2 screen up to have the same border with the Acer monitor is not that fixed?
1. No, I've already checked that. I tried it with plasma panels and the panels stay on their monitor. 2. Yes. I am not sure why, but it just sometimes shifts a little to the left, creating a gap. But this behavior is observable regardless of whether or not this gap is created. 3. Do you have two monitors? Can you reproduce?
Created attachment 118939 [details] another screenshot
your issue is that Latte panels are moving to another display?
correct. They are assigned to DP-2, but when DP-2 is disconnected, they shift to the primary output. Also tiling is bugged, as you can see in the video. To fix the problem, I press a hotkey to restart both Kwin and Latte. After I do that, the DP-2 panels disappear and tiling happens normally.
(In reply to leftcrane from comment #11) > correct. They are assigned to DP-2, but when DP-2 is disconnected, they > shift to the primary output. Also tiling is bugged, as you can see in the > video. > > To fix the problem, I press a hotkey to restart both Kwin and Latte. After I > do that, the DP-2 panels disappear and tiling happens normally. Forget the tiling is a different issue and not related to Latte. Show me a screenshot of Behavior tab from the panels that are moved even though they should not
The tiling behavior is just a symptom/consequence of the panels shifting to the wrong monitor. The latter behavior is the actual bug. What's the "behavior tab"?
Created attachment 118941 [details] behavior-tab-1
Created attachment 118942 [details] behavior-tab-2
ok here it is.
tab-1 is the first half of the settings, tab-2 is the second half (I had to scroll to capture the entire tab)
1.The monitor you unplug, do you do it from plasma settings or you just unplug the monitor cable? 2. Run Latte from command prompt with Latte-dock -d --with-window, take a screenshot of the debug window when the issue appears
1. I've tried both - it doesn't matter. 2. See last attachment.
Created attachment 118943 [details] latter debug output.
please send me your layout file to understand your configuration... according to this: [debug 19:39:09.609609] - PRIMARY SCREEN :: "DP-1" [debug 19:39:09.609609] - LATTEVIEWS MUST BE PRESENT AT :: QHash(("DP-1", (Plasma::Types::Location(TopEdge), Plasma::Types::Location(RightEdge), Plasma::Types::Location(LeftEdge)))) [debug 19:39:09.609609] - FUTURESHOWNVIEWS MUST BE :: (1, 192, 14) [debug 19:39:09.6161] - syncLatteViewsToScreens: view must be deleted... for containment: 12 at screen: "DP-2" at DP-1, after you disconnect DP-2, you should have 3 latteviews at top,right,left isnt that the case? and for DP-2, one latteview must be deleted which is deleted from: [debug 19:39:09.622622] - syncGeometry() ended... [debug 19:39:09.622622] - reconsiderScreen() ended... [debug 19:39:09.622622] - end of, syncLatteViewsToScreens .... [debug 19:39:09.623623] - dock view deleting... [debug 19:39:09.623623] - VisibilityManager deleting... [debug 19:39:09.623623] - WindowsTracker removing... [debug 19:39:09.631631] - latte view qml source deleting...
No, I should have two. I have two panels on DP-2, both assigned to DP-2. Instead I get four (until I restart latte dock, then I get the correct number, which is 2)
Created attachment 118952 [details] latter dock conf
(In reply to leftcrane from comment #23) > Created attachment 118952 [details] > latter dock conf there are some issues in your layout file but I would like from you first to test new master. I uploaded a commit to make things a little more robust for multi-screen environments. In case with latest master you still have the issue send me please the following: 1. from ~/.config/lattedockrc in section:ScreenConnectors what is the id for screen DP-2, is it 11? 2. if the issue is not fixed please send me again a new latte-dock -d output that contains the moment that the issue is created
Unfortunately, the issue persists. 1. [ScreenConnectors] 10=DP-1 11=DP-2 12=eDP-1 13=HDMI-1 2. just uploaded.
Created attachment 118957 [details] latte debug 2
I want all your latte configuration... something doesnt fit in your debug outputs... Latte -> Layouts Editor->Export->choose filter:Latte full configuration and export the file... Send me please that file...
I managed to reproduce in my system with your layout file!!! strange... let me investigate...
Git commit d8c04e805c3cf2184368cf8d915cd8a4af252fd2 by Michail Vourlakos. Committed on 21/03/2019 at 13:48. Pushed by mvourlakos into branch 'master'. multi-screen: find view::screen id in better way --when monitor from an explicit screen was closed there were cases that docks were moved at another monitor from the window manager and that was preventing them to be delete properly. This patch fixes this by considering as valid explicit screen only the one provided by the view M +24 -6 app/layout/layout.cpp https://commits.kde.org/latte-dock/d8c04e805c3cf2184368cf8d915cd8a4af252fd2
(In reply to leftcrane from comment #5) > ok... now it should be fixed... very good catch! thank you very much for your participation!!! I would like one favor please! Because multi-screens experience is very important feature for Latte if you manage to find something that is broken or strange please report it back. I will wait for a few days in order to confirm me that now this is ok for you in order to merge this important patch to v0.8 branch also...
Thanks for all the work! The bug is indeed fixed. I also got it working alongside a KWin rule to force all windows to the primary display. I had to make sure to negate lattedock in the rule, because otherwise it will eventually start grabbing DP-2 panels and putting them on DP-1 when both monitors are connected. Just dropping this here cause it's relevant to the multihead workflow with a latte dock and a secondary monitor on the left. KWin pushes most your windows to monitor on the left, regardless of whether it's primary, cause that's where the origin is.
Git commit b9aabb7b1c927320f34b5220d336e53de99a585b by Michail Vourlakos. Committed on 22/03/2019 at 19:34. Pushed by mvourlakos into branch 'v0.8'. multi-screen: find view::screen id in better way --when monitor from an explicit screen was closed there were cases that docks were moved at another monitor from the window manager and that was preventing them to be delete properly. This patch fixes this by considering as valid explicit screen only the one provided by the view M +24 -6 app/layout.cpp https://commits.kde.org/latte-dock/b9aabb7b1c927320f34b5220d336e53de99a585b