Using a thinkpad t440s which is docked and connected to two displays. This laptop uses displayport mst, for which the kernel gained support fairly recently. When I set my primary monitor, the panel and the task switcher appear on the other monitor. Output of xrandr: eDP1 connected (normal left inverted right x axis y axis) 1920x1080 60.05 + 1400x1050 59.98 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 56.25 640x480 59.94 DP1 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) DP2-1 disconnected (normal left inverted right x axis y axis) DP2-2 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 59.99 1600x1200 60.00 1680x1050 59.88 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 60.00 720x400 70.08 DP2-3 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 59.99 1600x1200 60.00 1680x1050 59.95 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 60.00 720x400 70.08 but the panel appears on DP2-3. I can provide additional logs if requested. Reproducible: Always
The tabbox (alt+tab, in case you refer to that by "task switcher" rather than the taskbar) will appear on the active screen rather than the primary one (the active screen can be defined in "kcmshell5 kwinoptions") - there's however also bug #343958 and bug #329696 Misplacing may be a QML issue, see bug #343958
I have the same problem on a ThinkPad L420 with an external screen connected via DisplayPort (DP1). xrandr --current says "LVDS1 connected primary" and systemsettings says the same but the task bar (panel with starter, window list and so on) is on the external screen DP1. When I disconnect the external screen there is no panel on the laptop screen and I have not found any way to get it back; restarting and deleting the screen configurations in .local/share/kscreen/ solved crashes on log in with different display configurations but does not help here.
After adding a second "Standard Control Panel" on the primary display with no panel and disconnecting and reconnecting the external screen, both panels were on the same screen and after deleting the second one again, the panel ended up to appear on the primary screen. But even more bizarre as before, with the laptop screen being the primary display, disabling or disconnecting the external screen still lets the task bar disappear from the laptop screen. Currently the only way to have a panel on the laptop screen without external screen connected is to temporarily add a second standard one.
I'm also suffering from this issue (plasma 5.3.2, external screen connected to laptop via DisplayPort cable, laptop screen set as primary, panel shown on the external screen, no panel when external screen disconnected). On top of that, when I start fiddling with the primary screen setting, the panel disappears completely and plasma becomes unresponsive (it doesn't redraw, can not invoke the context menu) and I have to kill and start again the plasmashell process. Also when I connect/disconnect the external screen, the Display Configuration is still showing one/two screens until I run xrand. Please let me know if I can provide more information to get this annoying behaviour fixed.
As a workaround, I'm using the following Bash alias to restart plasma every time I (un)plug the external display: alias restart-plasma="(/usr/bin/xrandr; pkill plasmashell; plasmashell &) 2>/dev/null" Important is to have a terminal on the primary screen from which the command should be run. It would be really very nice to have this basic functionality working out of the box and not to have to fiddle with it manually.
I can also confirm the panel issue not appearing on the primary display on another T440; if more information is needed I can provide. Jiri's workaround by restarting plasma works (thanks!)
*** This bug has been marked as a duplicate of bug 356225 ***