LINUX.ORG.RU

swaymsg move absolute

 


0

1

Кто может подсказать как с swaymsg переместить приложение на абсолютную величину. У меня rss читалка открывается в scratchpade и резайзится в конфиге sway, а вот переместить ее вниз именно на абсолютную величину не получается. Сижу минут 15 никак из мануала понять не могу. Надо что-то вроде такого и вообще еще кучу окошек хочу расположить поверх waybara

https://i.imgur.com/zTPvyV7.jpg


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

уже нашел, спасибо. Точнее с самого начала так делал, проблема была в использовании системной переменной. Я еще пока непридумал лучшего способа определять на мониторах разного размера отступ от нижнего края

jtad ()

хотя может еще вопрос если кто знает: можно ли прочитать системные переменные в самом конфиге sway? Проблема в том, что liferea стартует долго и даже sleep перед вызовом swaymsg не помогает выцепить ее id. Лучший выход делать все манипуляции с окнами и контейнерами в конфиге. А без системных переменных тут не обойтись

jtad ()
Ответ на: комментарий от eternal_sorrow

конечно я имел ввиду app_id. Идентификаторов, которые использует swaymsg не так уж много. Я бы взял тот питоновский фреймворк для работы с вяленым, но это как из пушки по воробьям. Swaymsg самое родное и должно работать быстрее всего, но все равно движения окна можно видеть. Если создать правило move в конфиге, то окно сразу открывается по определенным координатам. Лучше конфига пока ничего нет

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

Ну давай подробнее рассказывай, что ты пытаешься сделать? Какие такие «системные переменные» тебе нужны? Что это вообще такое? Переменные окружения?

Как я понял, тебе нужно слушать событие появления нового окна, до тех пор пока не появится окно liferea и тогда выполнить над этим окном определённую команду.

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

идея такая, чтобы сделать всплывающие окна для разных сервисов как у мако, например. Вообще сначала хотел сделать окошки для почты, rss с рабочего сайта, рабочего чата(просто оповещение кто зашел) наверху waybara при клике кастомные батоны. Ну и разные вебсервисы типа погоды https://i.imgur.com/egRCOFa.jpg (не самый лучший вариант) или просто окна настроек https://i.imgur.com/upqfJdg.jpg. Конечно все одного размера и желательно стиля, чтобы не выглядело костыльно. Просто времени нет писать парсеры для разных json-ов чтобы показать картинки и остальную инфу.

jtad ()
Последнее исправление: jtad (всего исправлений: 2)
Ответ на: комментарий от eternal_sorrow

для сабжа rss я уже сделал конфиг и работает отлично, но как видишь координаты привязаны к размеру одного монитора

for_window [app_id="liferea"] floating enable, border pixel 1,resize set height 500px,resize set width 800px,move down 265

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

jtad ()
Последнее исправление: jtad (всего исправлений: 2)
Ответ на: комментарий от Lrrr

так как раз и хотел избежать использования swaymsg. Даже при наличии sleep после вызова rss читалки swaymsg не находит id приложения. можешь сам попробовать. Да если бы и нашел получилось бы что приложение возникает по центру, а потом прыгает вниз. Лучше конфига в этом случае ничего нет. Проблема в том как получить в нем разные координаты для разных мониторов

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

Даже при наличии sleep после вызова rss читалки swaymsg не находит id приложения

нет, ты не понял. Ты пытаешься сначала открыть окно, а потом сдвинуть его куда надо, как тебе посоветовали в 1-м посте:

$ ./app
$ swaymsg [app_id="app"] move down 20px

Я предлагаю создать правило ДО открытия окна:

$ swaymsg "for_window [app_id=\"app\"] move down 20px"

Для sway это ничем не отличается от изменения конфига.

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

да нет, работает! Интересно что я до этого делал не так… Осталось подкорректировать скрипты и попробовать написать парсер с окошками tkinter. Спасибо, я уже хотел бросить

jtad ()