Как запустить пользовательский набор программ в определенной рабочей области?

Неочищенное решение:

dbus-monitor "interface='org.freedesktop.Notifications'"                \
| grep --line-buffered  'string "NetworkManager"'                       \
| sed -u -e  's/.*/killall notify-osd/g'                                \
| bash

Предостережение: killall notify-osd не является дискриминационным и полностью стирает стек уведомлений любых ожидающих сообщений независимо от того, является ли NM уведомляющим агентом.

«честное» решение может быть утонченным, но для этого требуется, чтобы ожидающие уведомления, кроме NM, нуждались в восстановлении, сохраняя свою временную целостность. Это означает, что хронологическое упорядочение должно поддерживаться для других уведомлений, а мониторинг dbus - для проверки того, изменился ли статус уведомлений ... т.е. отменено, изменено сообщение и т. д.

В идеале, прямое dbus использование

method void org.freedesktop.Notifications.CloseNotification(uint id)

для конкретной цели только для уведомлений NM, к сожалению, не очевидно ... [!d5 ]

ref:

Может ли org.freedesktop.Notifications.CloseNotification (uint id) запускаться и вызываться через DBus? Возможно ли заблокировать NotifyOSD для одного приложения? Закрыть кнопку в уведомлении-osd?

Закладка: Как отключить уведомление от сетевого менеджера

5
задан 12 April 2011 в 07:07

16 ответов

Я не думаю, что есть такая функция для стандартного диспетчера окон.

Но пирог Дьявола может делать то, что вы хотите.

http://burtonini.com/ блог / компьютеры / devilspie /

Цитата с сайта пирога Devil's: «Devil's Pie может быть настроен на обнаружение окон по мере их создания и сопоставление с набором правил. Если окно соответствует правилам, он может выполнять ряд действий в этом окне. Например, я могу сделать все окна, созданные X-Chat, появляться на всех рабочих пространствах, а главное окно Gkrellm1 не отображается в списке пейджеров или задач. »

Надеюсь, это помогло вам,

Daniel

3
ответ дан 25 July 2018 в 22:14
  • 1
    Спасибо за ваш ответ Даниэлю, но я не думаю, что «Дьявольский пирог» может сделать эту работу. Я думаю, что я просто (надеюсь) должен создать некоторые настраиваемые сценарии для запуска каждой программы и позиционирования ее в правильной рабочей области. – Andres 13 April 2011 в 07:37

Технически рабочие области называются viewports, конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1, а 1366, 0 - это тот, который находится справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в определенной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

#!/bin/bash get_viewport() { xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}' } spawn_viewport_1() { nohup gnome-terminal 2>&1 > /dev/null & nohup chromium-browser 2>&1 > /dev/null & } spawn_viewport_2() { nohup xterm 2>&1 > /dev/null & nohup firefox 2>&1 > /dev/null & } main() { case $(get_viewport) in "0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important "1366, 0") spawn_viewport_2 ;; esac } main

По сути, что происходит, у меня есть две функции, каждая для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 25 July 2018 в 22:14

Я не думаю, что есть такая функция для стандартного диспетчера окон.

Но пирог Дьявола может делать то, что вы хотите.

http://burtonini.com/ блог / компьютеры / devilspie /

Цитата с сайта пирога Devil's: «Devil's Pie может быть настроен на обнаружение окон по мере их создания и сопоставление с набором правил. Если окно соответствует правилам, он может выполнять ряд действий в этом окне. Например, я могу сделать все окна, созданные X-Chat, появляться на всех рабочих пространствах, а главное окно Gkrellm1 не отображается в списке пейджеров или задач. »

Надеюсь, это помогло вам,

Daniel

3
ответ дан 26 July 2018 в 19:52
  • 1
    Спасибо за ваш ответ Даниэлю, но я не думаю, что «Дьявольский пирог» может сделать эту работу. Я думаю, что я просто (надеюсь) должен создать некоторые настраиваемые сценарии для запуска каждой программы и позиционирования ее в правильной рабочей области. – Andres 13 April 2011 в 07:37

Технически рабочие области называются viewports, конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1, а 1366, 0 - это тот, который находится справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в определенной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

#!/bin/bash get_viewport() { xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}' } spawn_viewport_1() { nohup gnome-terminal 2>&1 > /dev/null & nohup chromium-browser 2>&1 > /dev/null & } spawn_viewport_2() { nohup xterm 2>&1 > /dev/null & nohup firefox 2>&1 > /dev/null & } main() { case $(get_viewport) in "0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important "1366, 0") spawn_viewport_2 ;; esac } main

По сути, что происходит, у меня есть две функции, каждая для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 26 July 2018 в 19:52

Я не думаю, что есть такая функция для стандартного диспетчера окон.

Но пирог Дьявола может делать то, что вы хотите.

http://burtonini.com/ блог / компьютеры / devilspie /

Цитата с сайта пирога Devil's: «Devil's Pie может быть настроен на обнаружение окон по мере их создания и сопоставление с набором правил. Если окно соответствует правилам, он может выполнять ряд действий в этом окне. Например, я могу сделать все окна, созданные X-Chat, появляться на всех рабочих пространствах, а главное окно Gkrellm1 не отображается в списке пейджеров или задач. »

Надеюсь, это помогло вам,

Daniel

3
ответ дан 2 August 2018 в 03:42
  • 1
    Спасибо за ваш ответ Даниэлю, но я не думаю, что «Дьявольский пирог» может сделать эту работу. Я думаю, что я просто (надеюсь) должен создать некоторые настраиваемые сценарии для запуска каждой программы и позиционирования ее в правильной рабочей области. – Andres 13 April 2011 в 07:37

Технически рабочие области называются viewports, конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1, а 1366, 0 - это тот, который находится справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в определенной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

#!/bin/bash get_viewport() { xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}' } spawn_viewport_1() { nohup gnome-terminal 2>&1 > /dev/null & nohup chromium-browser 2>&1 > /dev/null & } spawn_viewport_2() { nohup xterm 2>&1 > /dev/null & nohup firefox 2>&1 > /dev/null & } main() { case $(get_viewport) in "0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important "1366, 0") spawn_viewport_2 ;; esac } main

По сути, что происходит, у меня есть две функции, каждая для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 2 August 2018 в 03:42

Я не думаю, что есть такая функция для стандартного диспетчера окон.

Но пирог Дьявола может делать то, что вы хотите.

http://burtonini.com/ блог / компьютеры / devilspie /

Цитата с сайта пирога Devil's: «Devil's Pie может быть настроен на обнаружение окон по мере их создания и сопоставление с набором правил. Если окно соответствует правилам, он может выполнять ряд действий в этом окне. Например, я могу сделать все окна, созданные X-Chat, появляться на всех рабочих пространствах, а главное окно Gkrellm1 не отображается в списке пейджеров или задач. »

Надеюсь, это помогло вам,

Daniel

3
ответ дан 4 August 2018 в 19:46
  • 1
    Спасибо за ваш ответ Даниэлю, но я не думаю, что «Дьявольский пирог» может сделать эту работу. Я думаю, что я просто (надеюсь) должен создать некоторые настраиваемые сценарии для запуска каждой программы и позиционирования ее в правильной рабочей области. – Andres 13 April 2011 в 07:37

Технически рабочие области называются viewports, конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1, а 1366, 0 - это тот, который находится справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в определенной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

#!/bin/bash get_viewport() { xprop -root -notype _NET_DESKTOP_VIEWPORT | awk '{print $3,$4}' } spawn_viewport_1() { nohup gnome-terminal 2>&1 > /dev/null & nohup chromium-browser 2>&1 > /dev/null & } spawn_viewport_2() { nohup xterm 2>&1 > /dev/null & nohup firefox 2>&1 > /dev/null & } main() { case $(get_viewport) in "0, 0") spawn_viewport_1 ;; # note , single space in "0, 0" is important "1366, 0") spawn_viewport_2 ;; esac } main

По сути, что происходит, у меня есть две функции, каждая для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 4 August 2018 в 19:46

Технически говоря, рабочие области называются viewports , конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1 и 1366, 0 будет сразу справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в конкретной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

  #! / Bin / bash get_viewport () {xprop -root -notype _NET_DESKTOP_VIEWPORT |  awk '{print $ 3, $ 4}'} spawn_viewport_1 () {nohup gnome-terminal 2 & amp; 1 & gt;  / dev / null & amp;  nohup chromium-browser 2 & amp; 1 & gt;  / dev / null & amp;  } spawn_viewport_2 () {nohup xterm 2 & amp; 1 & gt;  / dev / null & amp;  nohup firefox 2 & amp; 1 & gt;  / dev / null & amp;  } main () {case $ (get_viewport) в "0, 0") spawn_viewport_1 ;;  # note, одно место в «0, 0» важно «1366, 0») spawn_viewport_2 ;;  esac} main  

По сути, что происходит, у меня есть две функции, каждая из которых предназначена для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 6 August 2018 в 03:49

Технически говоря, рабочие области называются viewports , конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1 и 1366, 0 будет сразу справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в конкретной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

  #! / Bin / bash get_viewport () {xprop -root -notype _NET_DESKTOP_VIEWPORT |  awk '{print $ 3, $ 4}'} spawn_viewport_1 () {nohup gnome-terminal 2 & amp; 1 & gt;  / dev / null & amp;  nohup chromium-browser 2 & amp; 1 & gt;  / dev / null & amp;  } spawn_viewport_2 () {nohup xterm 2 & amp; 1 & gt;  / dev / null & amp;  nohup firefox 2 & amp; 1 & gt;  / dev / null & amp;  } main () {case $ (get_viewport) в "0, 0") spawn_viewport_1 ;;  # note, одно место в «0, 0» важно «1366, 0») spawn_viewport_2 ;;  esac} main  

По сути, что происходит, у меня есть две функции, каждая из которых предназначена для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 7 August 2018 в 21:45

Технически говоря, рабочие области называются viewports , конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1 и 1366, 0 будет сразу справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в конкретной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

  #! / Bin / bash get_viewport () {xprop -root -notype _NET_DESKTOP_VIEWPORT |  awk '{print $ 3, $ 4}'} spawn_viewport_1 () {nohup gnome-terminal 2 & amp; 1 & gt;  / dev / null & amp;  nohup chromium-browser 2 & amp; 1 & gt;  / dev / null & amp;  } spawn_viewport_2 () {nohup xterm 2 & amp; 1 & gt;  / dev / null & amp;  nohup firefox 2 & amp; 1 & gt;  / dev / null & amp;  } main () {case $ (get_viewport) в "0, 0") spawn_viewport_1 ;;  # note, одно место в «0, 0» важно «1366, 0») spawn_viewport_2 ;;  esac} main  

По сути, что происходит, у меня есть две функции, каждая из которых предназначена для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 10 August 2018 в 09:59
  • 1
    Спасибо за ваш ответ Даниэлю, но я не думаю, что «Дьявольский пирог» может сделать эту работу. Я думаю, что я просто (надеюсь) должен создать некоторые настраиваемые сценарии для запуска каждой программы и позиционирования ее в правильной рабочей области. – Andres 13 April 2011 в 07:37

Технически говоря, рабочие области называются viewports , конкретный раздел расширенного рабочего стола с определенными координатами, например 0, 0 - это окно просмотра 1 и 1366, 0 будет сразу справа.

Следует отметить, что Менеджер настроек CompizConfig имеет возможность «фиксированного» открытия окна в конкретной рабочей области, но можно создать скрипт, как вы уже упоминали. Вот мой пример.

  #! / Bin / bash get_viewport () {xprop -root -notype _NET_DESKTOP_VIEWPORT |  awk '{print $ 3, $ 4}'} spawn_viewport_1 () {nohup gnome-terminal 2 & amp; 1 & gt;  / dev / null & amp;  nohup chromium-browser 2 & amp; 1 & gt;  / dev / null & amp;  } spawn_viewport_2 () {nohup xterm 2 & amp; 1 & gt;  / dev / null & amp;  nohup firefox 2 & amp; 1 & gt;  / dev / null & amp;  } main () {case $ (get_viewport) в "0, 0") spawn_viewport_1 ;;  # note, одно место в «0, 0» важно «1366, 0») spawn_viewport_2 ;;  esac} main  

По сути, что происходит, у меня есть две функции, каждая из которых предназначена для определенного видового экрана. У меня также есть функция, которая проверяет, в каком видовом окне я в данный момент включен. Если в настоящее время я нахожусь в окне 1 (координаты 0,0), он будет порождать один набор приложений. Если я нахожусь в окне просмотра 2 (координаты 1366,0), у нас будет разный набор приложений.

1
ответ дан 13 August 2018 в 16:18

Другие вопросы по тегам:

Похожие вопросы: