Несколько рабочих столов внутри одного экрана - PullRequest
0 голосов
/ 19 апреля 2019

Мне нужна информация о созданных пользователем рабочих столах, независимо от того, подключены ли к компьютеру один или несколько экранов.

В настоящее время у меня есть приложение с вкладками внутри него, которое можно отсоединить и перенести на другой созданный вручную рабочий стол, пока основное приложение остается на первом (основном) рабочем столе. Можете ли вы предложить, как получить идентификаторы (и другую доступную информацию) рабочих столов, где расположены отдельные вкладки?

Я искал, как получить количество созданных пользователем рабочих столов, используя инфраструктуру Qt и класс QDesktopWidget, но пока безуспешно. Класс QDesktopWidget предоставляет информацию о экране, такую ​​как его общий размер, количество экранов, геометрию каждого экрана и т. Д., Но не информацию о виртуальных рабочих столах, созданных внутри экрана.

1 Ответ

0 голосов
/ 21 апреля 2019

Это не настоящие рабочие столы, это «рабочие пространства», они специфичны для рабочей среды.Итак, насколько я вижу, у вас есть две опции:

  • Запустить утилиту wmctrl с параметрами через QProcess и получить вывод
  • find wmctrl's sources и взять оттуда некоторый код (сам не пробовал, но выглядит так: get_property() & list_desktops() содержит желаемое)

В любом случае это не будет выглядеть слишкомпортативное решение, конечно же =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...