LINUX.ORG.RU

i3: как запустить bash в плавающем окне с конкретными координатами и тупой виндовой красной кнопкой закрыть.

 


0

1

Короче есть i3. Тайловый менеджер. Там всё пилится пополам или всё полноэкранное. Удобненко, привычно. Но поытка стартовать какой-нибудь xterm - это очередное полноэкранное явление.

Короче хочется запустить в фоне ffmpeg так, чтобы он работал в неком терминале/консоли так, чтобы эта консоль выглядела как плавающее перемещаемое окно, не привязанное к полному экрану (как всё в i3) и чтобы у этого окна была тупая виндовая кнопка закрыть, которая бы завершала всё что в нём запущено (ну то есть посылала TERM например).

Посоветуйте как это запилить?

В итоге я чо хочу сделать: хочу повесить на PrintScreen действие, которое бы открывало ffmpeg в отдельном плавающем терминале и записывало маленький квадратик в центре экрана. И чтобы когда я закрывал это окно терминала, оно бы посылало ffmpeg-у сигнал TERM, что бы аккуратно завершало запись файла. В общем, хочется всегда видеть некий процесс записи экрана в плавающем теминале, при этом сохраняя все фичи i3 типа переключения табов.

Походу решение почти есть. Ниже ответ.

Перемещено hobbit из general



Последнее исправление: lesopilorama (всего исправлений: 2)

Короче чо надо сделать. Если втупую, то надо нажать MOD + shift + space и получим окно floating. Его можно удобно ресайзить MOD + righ mouse и двигать MOD + left mouse. Окно при этом НАД всеми остальными, что очень удобно. Но мы не об этом.

Главное, что есть чудесная команда i3-msg.

Пишем такой скрипт:

i3-msg "floating toggle"
i3-msg resize set 30 ppt 40 ppt
i3-msg move window to position 0 0

ffmpeg blablabla....

И хоба!

lesopilorama
() автор топика

Так, поцоны, почему-то в i3 конфиге не работает никакой из этих биндов:

bindsym $mod+Print exec /home/sss/proxy-ffmpeg-select-and-record.sh
bindsym $mod+Control+M exec /home/sss/proxy-ffmpeg-select-and-record.sh
bindsym $mod+Print exec terminator -e /home/sss/test.sh
bindsym $mod+Control+M exec terminator -e /home/sss/test.sh

Хотя работает отдельно «terminator -e /home/sss/test.sh» например и хотя работает лежащий рядом с ними:

bindsym --release Print exec /usr/local/bin/gnome-screenshot-proxy

Что могло пойти не так?

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

А сами скрипты работают из терминала спокойно? Мысль такая есть, что запустить эти скрипты через terminator -e <script> --classname <name> и в правилах для окон прописать что-то вроде for_window [class="<name>"] command.

Обычно подобное проворачивал с bspwm + urxvt и работает хорошо, с i3, думаю, также хорошо пройдет.

Заранее извиняюсь, если не так понял ваш вопрос.

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

Да, сами скрипты спокойно. Короче в итоге заработало, я фиг знает почему, щас гляну конфиг…

bindsym --release $mod+shift+v exec "/home/sss/proxy-ffmpeg-select-and-record.sh"

Ага, вот почему! Я просто заюзал Alt+Shift+V комбинацию для этого. Теперь по нажатию у меня красивый курсор, который рисует рамочку

В общем я обосрался связать $mod и Print. Оказывается нельзя просто так взять и навешать Alt на PrintScreen клавишу почему-то. Это жопно, спорить не буду! Алкаши явно стояли у истоков этих компутерных систем, коорых в детстве цигане палками по шарам мудохали с размаху.

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

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

i3-msg "floating toggle"
i3-msg resize set 30 ppt 40 ppt
i3-msg move window to position 0 0
lesopilorama
() автор топика
Ответ на: комментарий от FishHook

порешали, ага, до следующего факапа

Так ты тоже живёшь до следующей смерти. Всегда так в природе, о чём ты вообще?

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