🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72861

Pulpity witrualne Kde Plazma i Qt: Jak się dowiedzieć na którym pulpicie pracuję?!?

#72861
From: szykcech
Date: Sat, 17 Nov 2018 15:54
27 lines
3046 bytes
Witam
Piszę wieloplatformowy edytor tekstu w Qt5.x. Starsze wersje chodziły pod Widnows, a nowa, lepsza wersja ma chodzić również pod Linux-em. Problem jest taki, że chcę umożliwić pracę na wielu pulpitach. Stara wersja otwierała sobie gniazdko lokalne i nasłuchiwała na nim listy plików z innych (późniejszych) instancji. To było dobre pod Windows, jednak na Linuxie nie jest wystarczające, bo będąc najpierw na pulpicie 0 otwieram sobie edytor, przechodzę na pulpit 1 i chcę otworzyć nowy plik a tu zonk! Plik otwiera się w edytorze na pulpicie 0! Aby temu zaradzić muszę znać numer bieżącego pulpitu (lub jego unikalny identyfikator).  Wtedy wystarczy dodać ten identyfikator do ścieżki gniazdka i już mam unikalne gniazdko związane z danym pulpitem.

Próbowałem następujących sposobów:
1. Identyfikować pulpit po wskaźniku do QScreen (wiem, że to nie miało szansy działać, ale próbowałem):
    MainWindow w;
    reinterpret_cast<quint64>(w.windowHandle()->screen()
2. Odbierać listę wirtualnych pulpitów
    QList<QScreen*> lScreens(w.windowHandle()->screen()->virtualSiblings());
    for(QScreen* lScreen : lScreens)
        qInfo() << "Detected screen: " << reinterpret_cast<quint64>(lScreen);
Ale zwraca zawsze tylko jeden wskaźnik.
3. Podobnie jak w 1 ale z QApplication::primaryScreen()
4. QDesktopWidget::screenNumber()
Ale zawsze zwraca 0 (bez względu na jakim pulpicie program jest uruchamiany).

Wie ktoś jak uzyskać numer/id bieżącego pulpitu?!?

dzięki i pozdro
Szyk Cech
--
http://szyk.jcom.pl/
http://szyk.free.of.pl/
http://szykcech.cba.pl/
http://szyk.000webhostapp.com/
http://www.geocities.ws/szyk/
http://szyk.wex.pl/
Technical Details
Message-ID: <3f0b46d3-b511-4b74-abbf-88d6d175040f@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!g188-v6no1592251itg.0!news-out.google.com!y103-v6ni2035ita.0!nntp.google.com!g188-v6no1592246itg.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 2002:a02:1685:: with SMTP id a127-v6mr7022873jaa.9.1542470045194;        Sat, 17 Nov 2018 07:54:05 -0800 (PST)
X-Received: by 2002:a0c:af1b:: with SMTP id i27mr111995qvc.4.1542470045038; Sat, 17 Nov 2018 07:54:05 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.166.216.MISMATCH!g188-v6no1592251itg.0!news-out.google.com!y103-v6ni2035ita.0!nntp.google.com!g188-v6no1592246itg.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.os.linux.programowanie
Date: Sat, 17 Nov 2018 07:54:04 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.226.86; posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw
NNTP-Posting-Host: 188.146.226.86
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3f0b46d3-b511-4b74-abbf-88d6d175040f@googlegroups.com>
Subject: Pulpity witrualne Kde Plazma i Qt: Jak
 się dowiedzieć na którym pulpicie
 pracuję?!?
From: szykcech@gmail.com
Injection-Date: Sat, 17 Nov 2018 15:54:05 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit