LINUX.ORG.RU

Orcsome — расширение для NetWM совместимых менеджеров окон

 netwm, , , ,


0

2

В основе Orcsome лежит простая идея: отрисовка окон возлагается на стабильный, проверенный временем, быстрый менеджер окон, а управление им осуществляется при помощи скрипта на Python.
Это позволяет в широких пределах варьировать поведение любых менеджеров окон, даже имеющих весьма бедные возможности для настройки.

Теоретически возможности Orcsome ограничены только вашими знаниями Xlib — библиотеки функций клиента X Window.
Если вы не обладаете таковыми знаниями совсем или обладаете, но в недостаточной степени, Orcsome предоставляет обёртку, реализующую самые распространённые задачи по управлению окнами:

  • управление фокусом, вызов окна на передний план с активацией нужного рабочего стола;
  • перемещение окна на указанный рабочий стол;
  • возможность перемещать окно внутри стека;
  • выборка и фильтрация окон по их свойствам;
  • подписка на события X Window: нажатие горячих клавиш, создание/удаление окна, изменение свойств окна;
  • захват клавиатуры и мыши;
  • история фокуса.

Всё это в сочетании с понятным скриптовым языком позволяет реализовывать достаточно сложные операции, например, такое популярное действие, как «spawn or raise» — запуск приложения или передача ему фокуса, если оно уже запущено.

Пример конфигурации от baverman

Документация

>>> Страница проекта на github'e

★★★

Проверено: Shaman007 ()
Последнее исправление: baverman (всего исправлений: 4)
Ответ на: комментарий от baverman

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

Key Tab A A ShowOrHideGimpToolboxes
Laz ★★★★★
()
Ответ на: комментарий от Laz

А, не, немного не так. Там по умолчанию по имени окна условие делается. Надо чуток подшаманить, но реально уложиться в то же количество строк.

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

Да, мне товарищ подсказал уже. Чтобы сделать матчинг по роли, нужно что-то вроде TestRc (Match) Exec xprop $[w.id] | grep gimp-toolbox (опять же, синтаксис плохо помню). Но менее читаемым оно от этого не становится.

Laz ★★★★★
()
Ответ на: комментарий от Laz

Есть шансы, что можно не дёргать посторонние утилиты, это всё-таки немного читерство. Надо будет посмотреть, как доберусь до домашнего компьютера.

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

Совершенно внезапно у меня в 2.5.30 матчинг по ролям таинственным образом заработал.

Пожалуй, я сегодня напьюсь :)

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Отжеж. Что-то специально делал?

Надо тогда тему поправить, а то у меня там на тайтлы всё завязано, работает, но не очень красиво так делать.

Hoodoo ★★★★★
()

для удовлетворения всех сексуальных фантазий есть dwm, кстати с тайлингом впридачу

а это непонятно что. закапывайте

swar0g ★★★★
()

Ммм, в лунске наконец-то появился недоразвитая альтернатива виндового Autohotkey?

Burbaka ★★
()
Ответ на: комментарий от baverman

там ошибки почти в каждом предложении, и многие очень режут глаз.

например:

«in python», not «on python»

убери все употребления candy вообще.

проверь времена в каждом предложении, иногда вспомогательный глагол (в т.ч. в редуцированном виде 'm) совершенно не нужен.

anonymous
()
Ответ на: комментарий от Hoodoo

Нет вроде, ничего такого глобального в конфиге не делал со времен последнего коммита давным-давно назад

yoghurt ★★★★★
()
Ответ на: комментарий от Hoodoo

> А на что готовы пойти вы, чтобы не читать man fvwm?

И нахе^Wзачем лишние гвозди? При подобной прослойке проще мигрировать между wm, а не быть прибытым к одному.

n01r ★★
()
Ответ на: комментарий от n01r

Куда и зачем мигрировать с wm, к которому можно добавлять киллер-фичи из любых других stacking wm в пять-семь строк в конфиге? Я реально не понимаю. Показалась интересной фишка из kwin с автоматическим скатыванием окна в заголовок - дописал функцию. Понравилась пайп-менюшка для openbox? Не вопрос, переделывается для fvwm автозаменой.

Впрочем, кому нравится сам процесс миграции (и постить темы в галерее «наконец нашёл окружение своей мечты» по два раза в месяц) могут мигрировать хоть до посинения и прослойки с собой таскать какие угодно.

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

> Куда и зачем мигрировать с wm, к которому можно добавлять киллер-фичи из любых других stacking wm в пять-семь строк в конфиге?

Возможно, для находящегося в контексте `fvwm' это разумно, но мне это не кажется конструктивным. Нельзя же быть уверенным что сие положение вещей не изменися.

А после таких изменений что-нибудь другое попробовать будет довольно сложно: все время будет не хватать привычного окружения.

n01r ★★
()
Ответ на: комментарий от n01r

С одной стороны да, к хорошему привыкаешь, да. И случись что - непонятно, что делать потом.

С другой стороны, оно 18 лет уже живёт и развивается, что ему сделается? Ну и в качестве бонуса полное непонимание истерики вокруг очередной версии $DE

Hoodoo ★★★★★
()
Ответ на: комментарий от swar0g

Ну вас-то красноглаиком никто не назовёт. Ибо труп'c. dwm хорош на встроенных системах с кучей ограничений. ion3 продолжатель дела dwm. у него даже pwm3 есть. Правда я его запускать боюсь.

alx_me ★★☆
()
Ответ на: комментарий от n01r

К любителям питона сразу офтальмолога и протезиста, ибо такого косого но в то же время распиаренного поделия как питон мир ещё не видел. Прямо образчик единства и борьбы противоположностей. Чините portage. stable api is nonsense только для внутренностей ядра, или у питонистов слишком раздулось ЧСВ? Ходить мешает?

alx_me ★★☆
()
Ответ на: комментарий от alx_me

>Чините portage.

Уже не раз говорилось, что тормоза portage не из-за python'а а из-за его архитектуры, требующей чтения 100500 мелких файлов. Paludis тоже скоростью не блещет. Правда вам python-ненавистникам до этого нет дела, во всем виноват python!

fat_angel ★★★★★
()
Ответ на: комментарий от anonymous

Еще раз повторюсь, мой англицкий грамманацик, это как то искажает смысл на противоположный?

Если тебя коробит, то с удовольствием подожду пул реквеста.

baverman ★★★
() автор топика
Ответ на: комментарий от Hoodoo

С другой стороны, оно 18 лет уже живёт и развивается

Напомни, когда матчинг по ролям запилили? Слишком неповоротливо, слишком уныло — это должно быть слоганом fvwm.

baverman ★★★
() автор топика
Ответ на: комментарий от Laz

Я не смог распарсить, что означает эта абсолютно прямая реализация

Если фокус на главном окне то поднимаем/опускаем тулбоксы. Если фокус на тулбоксах, то поднимаем последнее активное главное окно.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

Допиливается ещё несколькими строчками, в целом всё равно будет выглядеть декларативнее и нагляднее приведенного питоновского аналога.

yoghurt ★★★★★
()
Ответ на: комментарий от alx_me

таганрог вроде приличный город, откуда там такие eбaнько? эхх, еще и две звезды..

anonymous
()
Ответ на: комментарий от baverman

>У меня уже четвертый час ночи, все как в тумане, а еще надо 200мл самогона довыгнать.

А этим разве не скрипт на питоне занимается?

Napilnik ★★★★★
()

naskolko ono lutsche kwin?

anonymous
()
Ответ на: комментарий от baverman

Да хрен его знает, когда там матчинг по ролям запилили. Я и без него прекрасно решил аналогичную вашей задачу. А теперь вот и он есть.

Поймите правильно, у вас прекрасный велосипед, и всяческих ему успехов, а вам - респект, но претензии в адрес fvwm какие-то неубедительные. А «абсолютно прозрачная реализация» требует знания аж целого языка программирования.

Hoodoo ★★★★★
()
Ответ на: комментарий от alx_me

> К любителям питона сразу офтальмолога и протезиста

Можно ссылочку на то, где я превозносил питон?... Запамятовал.

или у питонистов слишком раздулось ЧСВ? Ходить мешает?

Хм... Даже учитывая толстокожесть моих «санитаров», не назвал бы сию реакцию адекватной.

Чем спиртовать же(м)чуг, лучше бы рубин с антеросолей достали.

n01r ★★
()
Ответ на: комментарий от n01r

> О друг мой, Аркадий Николаич! — воскликнул Базаров, — об одном прошу тебя: не говори красиво.

Пишите на Perl, это придаст вашим формулировкам лаконичность и избавит вашу речь от третьесортных каламбуров.

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

Боюсь (а теперь уже и не без оснований), что это лишь усугубит и без того плачевную ситуацию.

n01r ★★
()
Ответ на: комментарий от Hoodoo

А «абсолютно прозрачная реализация» требует знания аж целого языка программирования.

Питонистов нонче много развелось. Собственно на них и расчет.

baverman ★★★
() автор топика
Ответ на: комментарий от Napilnik

А этим разве не скрипт на питоне занимается?

Питон для этого непригоден. Надо просто десятилитровую бутыль найти, чтоб банки не переставлять, да всё забываю.

Хотя было бы не неплохо найти автоматизированный химанализатор, который подаст сигнал при снижении уровня ацетона в начале выгонки. Эх, мечты.

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

>Хотя было бы не неплохо найти автоматизированный химанализатор, который подаст сигнал при снижении уровня ацетона в начале выгонки. Эх, мечты.

Соседи алкаши и на лоре тоже самое, куда мир катится:( Уже нельзя панцу на верёвке оставить - алкаши-нинзюки потырят а сэкономленные ресурсы пропьют а потом будут друг друга табуретками утюжить за кусок хавки - вот оно, народное щасте. А твои мечты решаются просто. Берётся попловок - бублик, в отверстие крепится попловок - спиртомер и механический или фотоэлементный датчик определяющий уровень тонкого поплавка относительно толстого, тебе ведь вода важнее, если ты действительно самогон а не травку варишь - травись на здоровье.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Берётся попловок - бублик, в отверстие крепится попловок - спиртомер и механический или фотоэлементный датчик определяющий уровень тонкого поплавка относительно толстого

И как он поможет определить, что ацетон вышел и начался спирт?

baverman ★★★
() автор топика
Ответ на: комментарий от baverman

>И как он поможет определить, что ацетон вышел и начался спирт?

Я думал ты конец техпроцесса не хочешь пропустить. А аппараты промышленного производства в таком случае использовать не проще? Или устроить вторую перегонку, или «Замораживаешь на улице лом, потом ставишь его вертикально, сверху вниз по лому льешь зелье спирт стикает вниз а ацетон остается на ломе. Внизу посуду не забудь поставить.»(с)

Napilnik ★★★★★
()
Ответ на: комментарий от alx_me

>лучше wii, но ещё лучше ion3.
Они совершенно разные, как можно их сравнивать?

Хотя управлять wm через vfs очень доставляет.

Точно с тем же успехом можно управлять wm через хуки и API на перле (как в i3). p9-way — не только в ФС, все попытки применить его в линуксе, которые я видел, крайне убоги.

x3al ★★★★★
()
Ответ на: комментарий от swar0g

>для удовлетворения всех сексуальных фантазий есть dwm, кстати с тайлингом впридачу
dwm уже научился ewmh? Впрочем, он и ICCCM до конца не умел, как и шрифты (есть патч), расширяемость, динамическое изменение разрешения/подключение мониторов и прочие вполне полезные фичи.

x3al ★★★★★
()
Ответ на: комментарий от alx_me

>ion3 продолжатель дела dwm.
Ты болен? У них ничего общего кроме тайлинга (и совершенно разный подход к нему). И dwm появился заметно позже.

x3al ★★★★★
()
Ответ на: комментарий от Napilnik

А аппараты промышленного производства в таком случае использовать не проще?

А ты думаешь у меня ведро со спиралью? Естественно мини спирт-завод, метр семьдесят высотой.

baverman ★★★
() автор топика
Ответ на: комментарий от x3al

Ты не тыкай, но может вы и правы. Просто dwm я смотрел позже ion3. И он намного проще и с более узкой направленностью.

alx_me ★★☆
()
Ответ на: комментарий от alx_me

Он проще, но у него динамический тайлинг. Как это вообще можно сравнивать со статическим — не представляю.

x3al ★★★★★
()
Ответ на: комментарий от x3al

> p9-way — не только в ФС, все попытки применить его в линуксе, которые я видел, крайне убоги.

Да, но сама идея мне понравилась. Очень много недоделано, но может это и есть будущее?

Точно с тем же успехом можно управлять wm через хуки и API на перл

Нет совершенно другое. Ортогональное. Вообще без привязки к языку. В этом единственная изюминка идеи.

alx_me ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.