<html><head></head><body><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div dir="ltr" data-setdir="false"><div>
<span style="font-family:monospace"><span style="color:#000000;background-color:#ffffff;">Please find incuded with this a post which concerns the ability of</span><span style="color:#000000;background-color:#ffffff;">
</span><br><span style="color:#000000;background-color:#ffffff;">KWin to restore Sessions (without Sub-Sessions) on Fedora KDE 43</span><span style="color:#000000;background-color:#ffffff;">
</span><br><span style="color:#000000;background-color:#ffffff;">wayland; its last part could be put in gzip form.</span><br></span>
</div><br></div><div dir="ltr" data-setdir="false"><div>Fedora 43 KDE agrees to restore KWin INIT Data. VIBET<br><br>The KWin Option 'saved by user_' can be used with success when the INIT<br>files designed by Fedora39KDE are directly introduced in Fedora43KDE.<br>And this works also with Fc42KDE.<br><br>This operation requires three KWin files (detailed at the end of this post)<br>as ~/.config/session/konsole-xxx, ~/.config/session/'kwin_xxx' and<br>~/.config/ksmserver. And what we have to do is to select manually in<br>"System Settings/Window Management/Virtual Desktops" the corresponding<br>number of Vitual Desktop, which was used on Fc39KDE; for example, in<br>the case of 6xVirtual Desktops, the use of KWin option "saved by user"<br>has lead to the files:<br><br>'~/.config/session/konsole_1020b17a1a5175000171775076400000016730010_1717751840_254928'<br>'~/.config/session/'kwin_saved by user_''<br><br>and<br><br>'~/.config/ksmserverrc'<br><br>The reintroduction of these files in Fc43KDE makes (after a Reboot)<br>6xWindows on the first Virtual Desktop. To change this one have<br>either to push each window on its corresponding virtual desktop,<br>or to launch a script with cron. In fact cron is able to run a<br>script shell just after a reboot. So, on command line do:<br><br>systemctl stop crond.service<br><br>and run:<br><br>crontab -e<br><br>This opens a file with the "nano" editor. Then write the following<br>line in it:<br><br>@reboot sleep 25 && ~/startup.sh<br><br>Close/save the file. Now the service must be reactivated by running:<br><br>systemctl enable crond.service<br><br>Finally the startup.sh file which launch another script is:<br><br>#!/bin/bash<br>sleep 4<br>./Window2Desk-N : xdotool key ctrl+j<br>exit 0<br><br>where the script Window2Desk-N contains the qdbus orders:<br><br>#! /bin/bash<br>DISPLAY=:0.0 qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Window to Desktop 6"<br>DISPLAY=:0.0 qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Window to Desktop 5"<br>DISPLAY=:0.0 qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Window to Desktop 4"<br>DISPLAY=:0.0 qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Window to Desktop 3"<br>DISPLAY=:0.0 qdbus org.kde.kglobalaccel /component/kwin invokeShortcut "Window to Desktop 2"<br>exit 0<br><br>Sleep 25 and sleep 4 are delays in seconds to be set in function of the<br>PC speed. Note that to change 'sleep 25' one must stop the crond-service<br>and rewrite/save the script and next enable the crond service.<br><br>The next three KWin files are used to get around the KWin INIT process<br>when running 6xVirtual Desktops on Fedora 43 KDE. The first one is:<br><br>'~/.config/session/konsole_1020b17a1a5175000171775076400000016730010_1717751840_254928'<br><br>[1]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":1}]}]<br><br>[2]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":2}]}]<br><br>[3]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":3}]}]<br><br>[4]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":4}]}]<br><br>[5]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":5}]}]<br><br>[6]<br>Active=0<br>Tabs=[{"Orientation":"Horizontal","Widgets":[{"SessionRestoreId":6}]}]<br><br>[Number]<br>NumberOfSessions=6<br>NumberOfWindows=6<br><br>[Session1]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof1.profile<br>RemoteTab=(%u) %H<br>SessionGuid={41b26277-39f8-4514-a959-c32d319b83c1}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[Session2]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof2.profile<br>RemoteTab=(%u) %H<br>SessionGuid={de4692ae-43f4-4e59-a300-a28760ee9f23}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[Session3]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof3.profile<br>RemoteTab=(%u) %H<br>SessionGuid={624a1e9e-4753-4213-aa2e-f78366b9ea04}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[Session4]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof4.profile<br>RemoteTab=(%u) %H<br>SessionGuid={2fe62da4-34c4-4d8a-b999-620bc0c159a2}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[Session5]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof5.profile<br>RemoteTab=(%u) %H<br>SessionGuid={7076bca2-17e9-4308-b982-cde34c042f45}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[Session6]<br>Encoding=UTF-8<br>LocalTab=%d : %n<br>Profile[$e]=$HOME/.local/share/konsole/Prof6.profile<br>RemoteTab=(%u) %H<br>SessionGuid={11dc5bcf-871b-4a93-8488-5d97d4c85900}<br>TabColor=<br>WorkingDir[$e]=$HOME<br><br>[WindowProperties1]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=900<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#1<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>[WindowProperties2]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=899<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#2<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>[WindowProperties3]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=899<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#3<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>[WindowProperties4]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=899<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#4<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>[WindowProperties5]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=900<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#5<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>[WindowProperties6]<br>1920x1080 screen: Height=994<br>1920x1080 screen: Width=1020<br>1920x1080 screen: XPosition=900<br>1920x1080 screen: YPosition=28<br>ClassName=Konsole::MainWindow<br>ObjectName=MainWindow#6<br>RestorePositionForNextInstance=false<br>VGA-1=VGA-1<br><br>the second file ~/.config/session/'kwin_saved by user_' is used<br>to set the windows on the screen:<br><br>[Session]<br>active=2<br>activities1=<br>activities2=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities3=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities4=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities5=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities6=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities7=ab93c009-71d4-4bd4-bda9-4496987eaa14<br>activities8=<br>count=8<br>desktop=1<br>desktop1=-1<br>desktop2=1<br>desktop3=2<br>desktop4=3<br>desktop5=4<br>desktop6=5<br>desktop7=6<br>desktop8=-1<br>fsrestore1=0,0,0,0<br>fsrestore2=0,0,0,0<br>fsrestore3=0,0,0,0<br>fsrestore4=0,0,0,0<br>fsrestore5=0,0,0,0<br>fsrestore6=0,0,0,0<br>fsrestore7=0,0,0,0<br>fsrestore8=0,0,0,0<br>fullscreen1=0<br>fullscreen2=0<br>fullscreen3=0<br>fullscreen4=0<br>fullscreen5=0<br>fullscreen6=0<br>fullscreen7=0<br>fullscreen8=0<br>geometry1=0,0,1920,1080<br>geometry2=900,28,1020,994<br>geometry3=900,28,1020,994<br>geometry4=900,28,1020,994<br>geometry5=900,28,1020,994<br>geometry6=900,28,1020,994<br>geometry7=899,28,1020,994<br>geometry8=0,1022,1920,58<br>iconified1=false<br>iconified2=false<br>iconified3=false<br>iconified4=false<br>iconified5=false<br>iconified6=false<br>iconified7=false<br>iconified8=false<br>keepBelow1=true<br>keepBelow2=false<br>keepBelow3=false<br>keepBelow4=false<br>keepBelow5=false<br>keepBelow6=false<br>keepBelow7=false<br>keepBelow8=false<br>maximize1=0<br>maximize2=1<br>maximize3=1<br>maximize4=1<br>maximize5=1<br>maximize6=1<br>maximize7=1<br>maximize8=0<br>opacity1=1<br>opacity2=1<br>opacity3=1<br>opacity4=1<br>opacity5=1<br>opacity6=1<br>opacity7=1<br>opacity8=1<br>resourceClass1=xwaylandvideobridge<br>resourceClass2=konsole<br>resourceClass3=konsole<br>resourceClass4=konsole<br>resourceClass5=konsole<br>resourceClass6=konsole<br>resourceClass7=konsole<br>resourceClass8=plasmashell<br>resourceName1=xwaylandvideobridge<br>resourceName2=konsole<br>resourceName3=konsole<br>resourceName4=konsole<br>resourceName5=konsole<br>resourceName6=konsole<br>resourceName7=konsole<br>resourceName8=plasmashell<br>restore1=0,0,1920,1080<br>restore2=450,29,1020,1022<br>restore3=490,51,1020,1022<br>restore4=450,29,1020,1022<br>restore5=450,29,1020,1022<br>restore6=899,0,1020,1022<br>restore7=900,0,1020,1022<br>restore8=0,1022,1920,58<br>sessionId1=1020b17a1a5175000171775076400000016730010<br>sessionId2=1020b17a1a5175000171775076400000016730010<br>sessionId3=1020b17a1a5175000171775076400000016730010<br>sessionId4=1020b17a1a5175000171775076400000016730010<br>sessionId5=1020b17a1a5175000171775076400000016730010<br>sessionId6=1020b17a1a5175000171775076400000016730010<br>sessionId7=1020b17a1a5175000171775076500000016730011<br>sessionId8=1020b17a1a5175000171786037900000016530004<br>shaded1=false<br>shaded2=false<br>shaded3=false<br>shaded4=false<br>shaded5=false<br>shaded6=false<br>shaded7=false<br>shaded8=false<br>shortcut1=<br>shortcut2=<br>shortcut3=<br>shortcut4=<br>shortcut5=<br>shortcut6=<br>shortcut7=<br>shortcut8=<br>skipPager1=false<br>skipPager2=false<br>skipPager3=false<br>skipPager4=false<br>skipPager5=false<br>skipPager6=false<br>skipPager7=false<br>skipPager8=false<br>skipSwitcher1=false<br>skipSwitcher2=false<br>skipSwitcher3=false<br>skipSwitcher4=false<br>skipSwitcher5=false<br>skipSwitcher6=false<br>skipSwitcher7=false<br>skipSwitcher8=false<br>skipTaskbar1=false<br>skipTaskbar2=false<br>skipTaskbar3=false<br>skipTaskbar4=false<br>skipTaskbar5=false<br>skipTaskbar6=false<br>skipTaskbar7=false<br>skipTaskbar8=false<br>stackingOrder1=<br>stackingOrder2=1<br>stackingOrder3=2<br>stackingOrder4=3<br>stackingOrder5=4<br>stackingOrder6=5<br>stackingOrder7=6<br>stackingOrder8=-1<br>staysOnTop1=false<br>staysOnTop2=false<br>staysOnTop3=false<br>staysOnTop4=false<br>staysOnTop5=false<br>staysOnTop6=false<br>staysOnTop7=false<br>staysOnTop8=false<br>sticky1=true<br>sticky2=false<br>sticky3=false<br>sticky4=false<br>sticky5=false<br>sticky6=false<br>sticky7=false<br>sticky8=true<br>userNoBorder1=true<br>userNoBorder2=false<br>userNoBorder3=false<br>userNoBorder4=false<br>userNoBorder5=false<br>userNoBorder6=false<br>userNoBorder7=false<br>userNoBorder8=true<br>windowRole1=<br>windowRole2=MainWindow#1<br>windowRole3=MainWindow#2<br>windowRole4=MainWindow#3<br>windowRole5=MainWindow#4<br>windowRole6=MainWindow#5<br>windowRole7=MainWindow#6<br>windowRole8=<br>windowType1=Desktop<br>windowType2=Normal<br>windowType3=Normal<br>windowType4=Normal<br>windowType5=Normal<br>windowType6=Normal<br>windowType7=Normal<br>windowType8=Dock<br>wmCommand1=<br>wmCommand2=<br>wmCommand3=<br>wmCommand4=<br>wmCommand5=<br>wmCommand6=<br>wmCommand7=<br>wmCommand8=<br><br>and the last immutable file '~/.config/ksmserverrc' is devoted to the<br>window restoration task:<br><br>[General]<br>loginMode=restoreSavedSession<br><br>[LegacySession: saved at previous logout]<br>count=0<br><br>[LegacySession: saved by user]<br>count=0<br><br>[Session: saved at previous logout]<br>clientId1=1020b17a1a5175000171786037900000016530006<br>clientId2=1020b17a1a5175000171775073200000016730007<br>clientId3=1020b17a1a5175000171775076400000016730010<br>count=3<br>'discardCommand3[$e]=rm,$HOME/.config/session/konsole_1020b17a1a5175000171775076400000016730010_1717861393_25732'<br>program1=/usr/libexec/DiscoverNotifier<br>program2=/usr/bin/kalendarac<br>program3=/usr/bin/konsole<br>'restartCommand1=/usr/libexec/DiscoverNotifier,-session,1020b17a1a5175000171786037900000016530006_1717861393_296878'<br>'restartCommand2=/usr/bin/kalendarac,-session,1020b17a1a5175000171775073200000016730007_1717861393_297107'<br>'restartCommand3=/usr/bin/konsole,-session,1020b17a1a5175000171775076400000016730010_1717861393_25732'<br>restartStyleHint1=0<br>restartStyleHint2=0<br>restartStyleHint3=0<br>userId1=username<br>userId2=username<br>userId3=username<br><br>[Session: saved by user]<br>clientId1=1020b17a1a5175000171786037900000016530006<br>clientId2=1020b17a1a5175000171775073200000016730007<br>clientId3=1020b17a1a5175000171775076400000016730010<br>count=3<br>'discardCommand3[$e]=rm,$HOME/.config/session/konsole_1020b17a1a5175000171775076400000016730010_1717751840_254928'<br>program1=/usr/libexec/DiscoverNotifier<br>program2=/usr/bin/kalendarac<br>program3=/usr/bin/konsole<br>'restartCommand1=/usr/libexec/DiscoverNotifier,-session,1020b17a1a5175000171786037900000016530006_1717861393_296878'<br>'restartCommand2=/usr/bin/kalendarac,-session,1020b17a1a5175000171775073200000016730007_1717861393_297107'<br>'restartCommand3=/usr/bin/konsole,-session,1020b17a1a5175000171775076400000016730010_1717751840_254928'<br>restartStyleHint1=0<br>restartStyleHint2=0<br>restartStyleHint3=0<br>userId1=username<br>userId2=username<br>userId3=username<br><br>where the home-user-name must replace "username". In this text<br>the profiles are designed by: Prof1,Prof2...Prof6. If needed<br>change VGA-1 in DVI-I-1, or use both when two monitors are<br>running on the machine. Note that the mention 'xwaylandvideobridge'<br>appears in 'kwin_saved by user_' though the system works without<br>it.<br><br>Finaly, owing to ksmserverrc, the two other files can be easily<br>reshaped with an editor. This leads to get the INIT elements<br>required by KWin sessions based on 4,2 or 1 Virtual Desktop.<br><br></div><br></div></div></body></html>