LINUX.ORG.RU

Сообщения little-boy

 

Compiz комманды

Использую сейчаc compiz в качестве оконного менеджера и вобщем-то доволен. Не хватает одной детали, меня интересует есть ли в compiz программа для передачи команд оконному менеджеру и отслеживанию его состояния, аналог bspc(bspwm) herbstclient(herbstluftwm), очень удобна. Меня, помимо прочего, интересует, например, инициализировать движение клиента.

 

little-boy
()

Openbox Actions rc.xml

Здравствуйте. Мучаюсь с одной проблемой, для которой никак не могу найти решение. Window snapping в openbox. У меня получилось имитировать функционал при помощи xev для отслеживания перемещений клиента, но xev почему-то не оповещает об эвенте ButtonMotionMask, поэтому пришлось сравнивать начальное положение курсора(при нажатии) и размеры клиента. Также я храню данные о изначальных размерах клиентов, привязанных к углам экрана, в environment variable что ассоциативный массив в виде wid->w:h(изначальные) для других просто - Unmaximize. Проблема осталась в том что при Unmaximize, который привязан к drag действию в контексте titlebar в rc.xml при условии что окно Maximized, клиент восстанавливает свои изначальные размеры И позицию. Я пробовал телепортировать окно с помощью wtp из wmutils что приводит к тому что окно на момент, до того как курсор был перемещён более чем на 1px, перемещается на заданные в wtp координаты, а потом обратно на изначальную позицию(откуда клиент был Maximized) и продолжает своё движение до того как была отпущена кнопка мыши или нажат Enter. Чтоб было понятнее: Click на titlebar maximized клиента->Drag->Клиент возвращает изначальные размеры(unmaximize) и координаты->Клиент перемещается на координаты заданные в wtp(для этого используется шелл скрипт <comand> rc.xml)->Клиент продолжает движение с ИЗНАЧАЛЬНЫХ координат->отпускаю кнопку мыши->Перемещение завершается.

Итак что же находится в чёрном ящике? Внимание, вопрос:

Возможно ли вызывать Openbox Actions в рамках шелл скрипта(из терминала)? Почему такой вариант? Потому что когда я перемещаю клиент при помощи MoveResizeTo клиент ведёт себя так как предполагается, то есть перемещается(телепортируется) на указанные координаты и продолжает движение оттуда. Проблема только в том что в пределах rc.xml нельзя узнать нынешнее положение курсора.

Есть ли другие способы решения этой проблемы?(именно этой, мышью, а не клавиатурой)

 , ,

little-boy
()

Bash, XCB, эвенты

Привет. Скажу сразу, но это, скорее всего, к делу не относится, но всё равно спросит кто да нибудь: использую wmutils и lemonbar-xft, lemonbar, также, для рисования заголовков окон не maximized. Мне нужно в скрипте получить уведомление того что пользователь перетащил(нажав левой кнопкой мыши на заголовок окна и не отпуская, обычный drag) окно к краю или углу экрана или корневого окна. Мои исследования в гугле привели меня к XCB_EVENT_MASK_BUTTON_MOTION. Так вот, скрипт запускается при нажатии на заголовок окна, и при отпускании кнопки мыши eventloop уничтожается. Для начала мне нужно узнать как слушать эвенты XCB в пределах башь скрипта, так как я не знаю. Далее я протестирую уже сам функционал на различных оконных менеджерах и без. Спасибо за внимание.

 , ,

little-boy
()

RSS подписка на новые темы