Comment by ~spacefrogg on ~scoopta/wofi
This is the offending
.desktop
file:[Desktop Entry] Type=Application Name=Scribus Name[ar]=سكريبس Name[fa]=اسکریباس Name[lo]=ສະຄຣີບັດສ໌ Name[ru]=Scribus Name[ta]=ஸ்கிரிபஸ் Comment=Page Layout and Publication Comment[ar]=سكريبس Comment[fa]=اسکریباس Comment[ta]=ஸ்கிரிபஸ் Comment[af]=Werkskerm Publisering Comment[bg]=Издателска програма Comment[bs]=Stono izdavaštvo (DTP) Comment[ca]=Publicació d'escriptori Comment[cs]=Publikační systém (DTP) Comment[cy]=Cyhoeddi Penbwrdd Comment[da]=Dtp Comment[de]=Desktop-Publishing Comment[eo]=DTP-programo Comment[es]=Publicación de escritorio Comment[et]=Küljendusrakendus Comment[fi]=Julkaisuohjelma Comment[fr]=Publication assistée par ordinateur (PAO) Comment[he]=הוצאה לאור שולחנית Comment[hr]=Stolno izdavaštvo Comment[hu]=Kiadványszerkesztés Comment[it]=Pubblicazioni Comment[ja]=デスクトップパブリッシング Comment[lo]=ເດດທອບພັລບບີດຊິງ Comment[lt]=Darbastalio leidykla Comment[nb]=Datatrykkeprogram Comment[nn]=Datatrykk Comment[nso]=Kwalakwatso ya Desktop Comment[pl]=Program do składu tekstu Comment[pt]=Publicação no Ecrã Comment[pt_BR]=Publicação do Ambiente de Trabalho Comment[ru]=Настольное издательство Comment[sl]=Namizno založništvo Comment[sr]=Стоно издаваштво Comment[ss]=Kushicelela ku desktop Comment[sv]=Desktop Publishing Comment[th]=เดสก์ทอปพับลิชชิง Comment[tr]=Masaüstü Yayıncılık Comment[uk]=Видавнича система Comment[uz]=Кичик нашриёт Comment[ven]=U andadza Desikithopo Comment[xh]=Upapasho lwe Desktop Comment[zh_CN]=桌面出版 Comment[zh_TW]=桌面出版 Comment[zu]=Ukushicilelwa kwe-Desktop GenericName=Page Layout (Development) GenericName[af]=Werkskerm Publisering GenericName[bg]=Издателска програма GenericName[bs]=Stono izdavaštvo (DTP) GenericName[ca]=Publicació d'escriptori GenericName[cs]=Publikační systém (DTP) GenericName[cy]=Cyhoeddi Penbwrdd GenericName[da]=Dtp GenericName[de]=Desktop-Publishing GenericName[eo]=DTP-programo GenericName[es]=Publicación de escritorio GenericName[et]=Küljendusrakendus GenericName[fa]=نشر میزکار GenericName[fi]=Julkaisuohjelma GenericName[fr]=Publication assistée par ordinateur (PAO) GenericName[he]=הוצאה לאור שולחנית GenericName[hr]=Stolno izdavaštvo GenericName[hu]=Kiadványszerkesztés GenericName[it]=Pubblicazioni GenericName[ja]=デスクトップパブリッシング GenericName[lo]=ເດດທອບພັລບບີດຊິງ GenericName[lt]=Darbastalio leidykla GenericName[nb]=Datatrykkeprogram GenericName[nn]=Datatrykk GenericName[nso]=Kwalakwatso ya Desktop GenericName[pl]=Program do składu tekstu GenericName[pt]=Edição Electrónica GenericName[pt_BR]=Editoração eletrônica GenericName[ru]=Настольная издательская система GenericName[sl]=Namizno založništvo GenericName[sr]=Стоно издаваштво GenericName[ss]=Kushicelela ku desktop GenericName[sv]=Desktop Publishing GenericName[th]=เดสก์ทอปพับลิชชิง GenericName[tr]=Masaüstü Yayıncılık GenericName[tt]=Өстәл нәшрияты GenericName[uk]=Видавнича система GenericName[uz]=Кичик нашриёт GenericName[ven]=U andadza Desikithopo GenericName[xh]=Upapasho lwe Desktop GenericName[zh_CN]=桌面出版 GenericName[zh_TW]=桌面出版 GenericName[zu]=Ukushicilelwa kwe-Desktop TryExec=scribus Exec=scribus %f Icon=scribus Terminal=false MimeType=application/vnd.scribus; Categories=Qt;Graphics;Publishing; StartupWMClass=scribus DocPath=scribus StartupNotify=false X-AppInstall-Package=scribus X-AppInstall-Section=main X-KDE-SubstituteUID=false X-KDE-Username= [X-Property::X-KDE-NativeExtension] Type=QString Value=.sla
Comment by ~spacefrogg on ~emersion/kanshi
As I described, it crashes XWayland. I suspect a race condition that triggers XWayland to expand to additional screens just before taking them away again. XWayland complains about unable to draw to the output, because it's gone again. I am sure, that is ultimately the fault of XWayland but had hoped to mitigate the issue in kanshi. Anyway, it seems that Hyprland is announcing the new screens by itself anyhow. So, I am not even sure anymore that a grace period in kanshi would do any good.
I think kanshi is already supposed to do what you're asking. If I understand correctly, it listens to all monitor change events from the WM and applis configuration after each event. It never misses an event.
So if some monitors appear with a delay, it will apply incomplete config first, then find the lagging screen and apply full config. If it's not working for you, this could be either incorrect configuration or a bug.
Ivan
On Thu Dec 5, 2024 at 10:50 AM CET, ~spacefrogg wrote:
I still have this problem with in a situation where I connect two monitors with slow startup times via a USB-C docking station. Kanshi could need some programmable grace period here, where it detects the change but waits to react on them. In my case the monitors appear shortly, vanish again and appear again. Kanshi applies its configuration in the middle of this tumoil ending in any of: one random monitor missing to light up or both monitors lighting up correctly and/or XWayland crashing (due to missing outputs during the "vanish period"). So, I envision the following "grace protocol":
- detect the change (but don't try to match with a profile) and start the grace counter
- monitors show up/vanish as they do...
- after grace period, register the final configuration again and apply profile matching
Comment by ~spacefrogg on ~emersion/kanshi
I am aware of
kanshictl switch
but I fail to understand its usefulness. How can I define several profiles that all match the same set of monitors and just differ in which of the monitors gets enabled or how they are positioned relative to each other?autorandr
has the genericalhorizontal
andvertical
profiles for that, for example. As I have seen from the logs, kanshi will just activate them one after the other, which is not what I want. I want to switch to them only manually, because I want to use them on circumstance that kanshi cannot know about.
Comment by ~spacefrogg on ~scoopta/wofi
Wofi etc. is coming from nixpkgs 24.11 which is using libglib 2.82.1. The basic operating system is a Ubuntu 24.05. The offending desktop entry from Scribus is likewise coming from nixpkgs and I shortened it as it contained a lot of localization. Maybe I've changed the outcome by doing that.
Comment by ~spacefrogg on ~emersion/kanshi
I still have this problem in a situation where I connect two monitors with slow startup times via a USB-C/Thunderbolt docking station. Kanshi could need some programmable grace period here, where it detects the change but waits to react on them. In my case the monitors appear shortly, vanish again and appear again. (Likely due to USB-C/Thunderbolt setup shenanigans) Kanshi applies its configuration in the middle of this tumoil ending in any of: one random monitor missing to light up or both monitors lighting up correctly and/or XWayland crashing (due to missing outputs during the "vanish period"). So, I envision the following "grace protocol":
- detect the change (but don't try to match with a profile) and start the grace counter
- monitors show up/vanish as they do...
- after grace period, register the final configuration again and apply profile matching
Comment by ~spacefrogg on ~emersion/kanshi
I want to second this. The daemon approach alone is "incomplete" in the sense that I sometimes need different monitor configurations despite the monitor connections unchanged. This was my main use for autorandr actually: I am in some foreign setup (I hold presentations a lot) and want to select "only beamer", "beamer and laptop" etc. depending on the situation I am in. Profiles cannot capture this, because the two profile configurations would look identical and there is no decision mechanism (other than myself) that can pick the right one.
Ticket created by ~spacefrogg on ~scoopta/wofi
The following kind of desktop entry fails to parse correctly:
[Desktop Entry] Type=Application Name=Scribus TryExec=scribus Exec=scribus %f [X-Property::X-KDE-NativeExtension] Type=QString Value=.sla
with the error message:
err: Value of key 'Type' must be Application, Link or Directory, but is 'QString' err: Invalid key: Value
Wofi is apparently falling through to the X-Property group, still trying to parse the keys. Maybe, it should restrict itself to the "Desktop Entry" group?