Разъяснение по OpenBox

vasek
В одном WM понравилось следующее — определенной комбинацией клавиш в любом тэге вызывается эмулятор терминала определенного небольшого размера и этот размер не меняется при вызове в любом режиме (моно, тайл, флоат)..... поработал, той же комбинацией клавиш он прячется, но при необходимости, в любое время, можно снова вызвать и все что там имелось не пропадает, а сохраняется......
Вопрос — возможно ли реализовать такое своими силами в других WM …...
Не знаю, как в тайловых WM, а в обычных WM это можно сделать через wmctrl. Нечто подобное когда-то запостил konstantinov-ms - скрипт app-and-toggle-by-title. Я его ещё немного допилил, теперь он 1) вызывает приложение, если оно не вызвано, 2) прячет окно, если оно активно, 3) если окно есть, но не активно, то перемещает на данный десктоп и активизирует. Ну а повесить вызов этого скрипта (с соответствующими параметрами) на хоткей - вопрос отдельный.
app-and-toggle-by-title
#!/bin/bash
# Запуск-прятание-показ окна приложения
# Первый параметр - заголовок окна; второй - программа.
# Если окна с таким заголовком нет - приложение запускается.
# если есть, но на другом десктопе - оно переносится на этот и активизируется;
# если есть на этом десктопе, но не активно - активизируется;
# если есть на этом десктопе и активно - минимизируется.
APP=`wmctrl -pl | grep "$1"`
read APP_ID APP_DESK TAIL <<< `echo $APP`
#echo $APP_ID
#echo $APP_DESK

DESK=`wmctrl -d | grep \*`
read CUR_DESK TAIL <<< `echo $DESK`
#echo $CUR_DESK

if [ "$APP_ID" != "" ];
then
    PROG=$(cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm)
    if [ $APP_DESK != $CUR_DESK ];
    then
        wmctrl -iR $APP_ID
    elif [ $PROG != $2 ];
    then
        wmctrl -iR $APP_ID
    else
        wmctrl -ir $APP_ID -b toggle,hidden
    fi
else
    $2
fi
Я этой штукой вызываю "шарики": app-and-toggle-by-title 'линии' 'five-or-more', повешено на Win-L. Но можно вызывать и терминал :)
vasek
В одном WM понравилось следующее — определенной комбинацией клавиш в любом тэге вызывается эмулятор терминала определенного небольшого размера и этот размер не меняется при вызове в любом режиме (моно, тайл, флоат)..... поработал, той же комбинацией клавиш он прячется, но при необходимости, в любое время, можно снова вызвать и все что там имелось не пропадает, а сохраняется......
xmonad? И не обязательно это будет эмулятор терминала.. К слову, сам проделал путь dwm -> xmonad, остановился на последнем :)

Haron_Prime
У меня на xmonad настроен вызов терминала в фиксированном плавающем поверх всех других окне. Вот только прятать его повторным нажатием невозможно (((
Разумеется возможно :)
https://t.me/atvva
A.T.W.A.,
Я пока такой целью не задавался.
Основные рюшечки-плюшечки я настроил, на всякие дополнительные фишки пока времени нет.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Спасибо всем ответившим.
Конечно, решение я искал ….. и запуск терминала определенного размера в любом тэге (в плавающем режиме) это не проблема и все это предусмотрено....... в принципе так он у меня сейчас и запускается с параметрами xterm -geometry 60x15 в режиме float , но вместо скрытия, приходится завершать его работу, что иногда не совсем удобно...
Основной момент - это сокрытие приложения — не мог сообразить, куда его девать.... и была всего одна идея — после использования терминала, перенаправить его (по горячей клавише) в другой, никогда не используемый, тэг, а при необходимости забирать его оттуда .....
А потому и написал, в надежде на другое решение ..... И в этом смысле решение konstantinov-ms/akorop довольно интересное и понравилось, но пока не пробовал..... и до меня не доходит смысл — куда же прячется приложение...??? А без понимания нет смысла идти дальше....
A.T.W.A.
xmonad?
CLFSWM …... считаю его наиболее гибким и надежным , но..... много но.... пока использую его процентов на 10...., возможно придется и отказазаться....
xmonad и awesome — эти WM еще ни разу пробовал..... причина — внедрилось в голову мнение (возможно и ошибочное), что требуют слишком много доработки....
Но пробовать нужно все, иначе не линуксоид........... пробовал даже WM на базе Emacs … на второй запуск уже желания не было …. но, если честно, WM, основанные на Lisp и его производных, нравятся.......но они экзотические, некоторые даже не перешли в новый AUR.....
Ошибки не исчезают с опытом - они просто умнеют
vasek
и до меня не доходит смысл — куда же прячется приложение...???
Никуда. Если в Openbox'e выключите отображение приложения на панели и пейджере
<skip_pager>yes</skip_pager>
<skip_taskbar>yes</skip_taskbar>
,
то и видеть не будете, запущено приложение или нет. И Вас это вообще не должно касаться. Нажали хоткей — приложение появилось; нажали ещё раз — исчезло и не мешает ни в панели задач, ни в пейджере. Очень удобно в отношении часто используемых приложений, которые при этом не засоряют панель и пейджер и не мозолят глаза.
А технически приложение сворачивается (минимизируется) в иконку на панели, только сама иконка при этом не отображается.
konstantinov-ms, то есть это будет работать в любом WM ..... ?
PS.... подредактировал свой предыдущий пост .......... в смысле, что решение то, в принципе, Ваше...... извиняюсь за не точность...
Ошибки не исчезают с опытом - они просто умнеют
vasek
konstantinov-ms, то есть это будет работать в любом WM ..... ?
Если установлен wmctrl. Не во всех WM есть функция скрытия иконки приложения, да и в Openbox она работает не совсем так, как надо (например, скрытое приложение можно видеть в client-list-combined-menu, что не очень удобно).

vasek
PS.... подредактировал свой предыдущий пост .......... в смысле, что решение то, в принципе, Ваше...... извиняюсь за не точность...
Решение коллективное, как и многие другие вещи в Opensource.
konstantinov-ms
(например, скрытое приложение можно видеть в client-list-combined-menu, что не очень удобно).
Это в официальном openbox. А в openbox_eui можно в rc.xml прописать <strictSkipTaskbar>yes</strictSkipTaskbar>, тогда такие окна не будут отображаться, даже если они минимизированы.
akorop
konstantinov-ms
(например, скрытое приложение можно видеть в client-list-combined-menu, что не очень удобно).
Это в официальном openbox. А в openbox_eui можно в rc.xml прописать <strictSkipTaskbar>yes</strictSkipTaskbar>, тогда такие окна не будут отображаться, даже если они минимизированы.
Использую как раз openbox_eui. Очень уж мне углы показались удобными (кстати, огромное Вам спасибо за такой тюнинг!). Однако приложения не исчезают. Может быть, что-то ещё нужно в настройках добавить? Конкретно "светятся приложения": Sylpheed, MyTetra, MyProg, gnome-search-tool, hamster. Это из того, что сейчас бегло проверил.
akorop, konstantinov-ms, подскажите команду для запуска ..... "голую", относительную, без привязки к WM и клавишам....
Посмотрел скрипт, проверил по частям ........ вроде все нормально...... Одно не могу сообразить — как запустить данный скрипт с приложением …....ну не варит сегодня голова …..
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.