LINUX.ORG.RU

Декораторы окон не нужны

 , ,


1

2

Обещанное продолжение макозакоса.

Итак, после долгих блужданий в поисках того самого идеального оконного менеджера я, вдохновившись этим скриншотом, и отчаявшись в попытках завести хоть какое-нибудь globalmenu, решил реализовать свою давнюю идею, которую сперва отвёрг по причине отсутствия готовых нужных апплетов. Обо всём по порядку:

  • DE - Xfce. Не то чтобы от неё много осталось, но большинство программулек, которые входят в понятие «DE», я использую от неё. А может, уже и не большинство, не считал.
  • WM - Compiz. Включены вязкие окна с о-о-очень упоротыми настройками дрожания и припания (окно от границ оторвать почти нереально, я люблю трудности), няшный Alt+Tab, всё повешано на удобные хоткеи. Декоратор - отсутствует. То есть почти - для заглушки дефолтный прописал (без декоратора Compiz почему-то не хочет тени рисовать), но декорация отключена. Таскаю по Alt+Drag, ресайз повешал на Win+J. Вот так и живём.
  • Содержание xfce-panel (слева направо): кнопка Apple Menu, закрытие/сворачивание/разворот по вертикали, иконка (а-ля Mac OS Classic, по клику показывается список окон, сначала была там, где и положено, справа, но потом перенёс сюда для красоты), заголовок окна, раскладка-трей-частота проца-загрузка-трафик-погода-меню сессии-часики, и вот она - новая кнопка максимизации окна. Кажется, это первый макозакос с нею.
  • Окна обычно на весь экран, накидал, как всегда. для виду: тундерптица, Aurora с ЛОРом, ЛучшийФМВсехВремён и народов, запущенный под Wine, который я постепенно пытаюсь заменить Double Commander'ом, medit, в котором пилится новая версия одного небезызвестного в узких кругах расширения. Тема FF/TB - FT Deep Dark - использую давно и не хочу ни на что менять, несмотря на диссонанс с системным стилем.
  • Тема GTK - Mac4Lin. Перепиливаю давно, уже даже не помню, что в нём менял, но менять ещё много - как минимум вид панели инструментов, сейчас там жопа. Дефолт не понравился в первую очередь излишней темнотой; в основном избавился, но кое-где ещё проскакивает. Когда я её качал, версии под GTK3 ещё не было, поэтому для неё стоит не совсем похожая GlossyP2. Если до сих пор нету подвижек, придётся портировать самому. Иконки и курсоры тоже из Mac4Lin.
  • Док - Cairo-Dock. Слева - Grid-стэки, сгруппированые по категориям, справа - иконки запущенных приложений. Когда-то нашпиговал его доклетами, сейчас всё выкинул, для всякой иА теперь, собственно, о реализации. Перенести функционал заголовка на практике оказалось просто - кнопки - просто лаунчеры с иконками. wmctrl оказался слишком ограниченным по функционалу (по рабочим столам (которыми я вообще не пользуюсь) им можно таскать окна очень удобно и динамично, но вот из стандартных операций можно только закрывать окна). Я порылся в репозитории и нашёл нечто получше. С помощью xdotool можно посылать активному окну в принципе любой хоткей. Собственно, я прописал нужные хоткеи в настройках Compiz и повешал на кнопки команды вида нфы и на панели места достаточно.
  • ШГ - ХЗ. Пилил, пилил, заметных изменений не ощутил (ибо мне реально на них пофиг) и оставил что-то около дефолта. ИМХО, мыльновато, правда.

А теперь, собственно, о реализации сабжа. Перенести функционал заголовка на практике оказалось просто - кнопки - просто лаунчеры с иконками. wmctrl оказался слишком ограниченным по функционалу (по рабочим столам (которыми я вообще не пользуюсь) им можно таскать окна очень удобно и динамично, но вот из стандартных операций можно только закрывать окна). Я порылся в репозитории и нашёл нечто получше. С помощью xdotool можно посылать активному окну в принципе любой хоткей. Собственно, я прописал нужные хоткеи в настройках Compiz и повешал на кнопки команды вида

xdotool key Alt+F4 --delay

А вот с заголовком и монитором трафика без скриптов не обошлось. К счастью, для Xfce-panel есть плагин «Общий монитор», через который с заданной периодичностью можно выводить выхлоп любого скрипта. Погуглил, нашёл примерно то, что нужно, и основательно подпилил.

Заголовок (обрезается до 75 символов, чтобы апплеты не уползали за экран):

#!/bin/bash                                                                                                                 
MAX_LENGTH=75                                                                                                                            
wnd_focus=$(xdotool getwindowfocus)                                                                                                                         
wnd_title=$(xprop -id $wnd_focus WM_NAME)                                                                                   
lookfor='"(.*)"'                                                                                                            
                                                                                                                            
if [[ "$wnd_title" =~ $lookfor ]]; then                                                                                     
  wnd_title=${BASH_REMATCH[1]}
  if (( ${#wnd_title}>$MAX_LENGTH )); then
    wnd_title=${wnd_title:0:$MAX_LENGTH}...
  fi                                                                                            
  echo $wnd_title                                                                                                           
fi
Монитор трафика (вещь необходимая, т. к. трафик лимитный, а существующие апплеты pppd подхватывать не хотят):
#!/bin/bash                                                                                                                 
                                                                                                                            
RX=`cat /sys/class/net/ppp0/statistics/rx_bytes`
TX=`cat /sys/class/net/ppp0/statistics/tx_bytes`
RX=`echo "$RX / 1024576" | bc`
TX=`echo "$TX / 1024576" | bc`

echo ${RX}M/${TX}M
Ну вот вроде и всё. Извиняюсь за tl;dr, кратко изъясняться умею плохо. Критикуйте.

UPD:

Скриншот без окон.

Обоина (hi-res версии не делал, сорри).

>>> Просмотр (1366x768, 322 Kb)

★☆

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

КАПС НУЖЕН, КАПСОХЕЙТЕРЫ, КОТОРЫЕ ДАЖЕ КОНСТАНТЫ ПИШУТ В НИЖНЕМ РЕГИСТРЕ, НЕ НУЖНЫ.

Константа пишется один раз, ради этого можно шифт и подержать. Далее автокомплит разруливает.

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

а их таки прячу - не нужны они особо
сбоку с меню
снизу ради трея

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

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

megabaks ★★★★
()

какой такой няшный альтаб? который умеет как в макоси выбирать мышкой окошко?

ggrn ★★★★★
()

Верхняя панель - адов адЪ.

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

Константа пишется один раз

Во всей программе одна константа?

шифт и подержать

Ты, видать, двумя пальцами текст набираешь, извращенец.

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

разве что ты любишь покричать

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

да и никто не отменял капс+шифт для капса

Неудобно.

ну и таки кнопка капс только для переключения раскладки нужна

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

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

Нет, просто плавный, большой, анимированный и с превьюшками. То - Expose (и там даже не обязательно мышкой выбирать, мышкой и в обычных Alt+Tab'ах кое-где можно выбирать). И кстати, я ему замены под Linux не нашёл. Есть Skippy, но он сырой и работает почему-то только под Gnome/MATE. Для компиза есть такой плагин, но он переключает рабочие столы, а не окна. Зато есть плагины для карусельного переключения и для Cover Flow, на котором я, собственно, и остановился.

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

Во всей программе одна константа?

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

Ты, видать, двумя пальцами текст набираешь, извращенец.

У тебя три пальца?

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

У меня-то десять.

Ты держишь шифт восемью пальцами? Я одним, и ВПОЛНЕ НОРМАЛЬНО НАБИРАЕТСЯ ОСТАВШИМИСЯ ДЕВЯТЬЮ.

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

текст заглавными буквами применяется в очень многих случаях.

шифт и автодополнение тебя спасут

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

по кругу переключать?

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

Первой ссылкой в посте как раз винда с макозакосом. Которую спилили, ибо проприетарщины на скрине слишком много.

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

Шифт нажимается мизинцами, а мизинцы нужны для ещё кучи клавиш, которыми другими пальцами просто не дотянуться. Так что приходится прыгать между шифтами. Удобно?

MiniRoboDancer ★☆
() автор топика

Я на desktop гоняю только OS X, и, если честно, этот закос выглядит более, чем убого. Xfce дефолтный и то приятнее.

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

шифт и автодополнение тебя спасут

Какие ещё костыли ты предложишь, чтобы капсом не пользоваться?

по кругу переключать?

Левыми клавишами в одну сторону, правыми - в другую. Быстрее же. Хоть и вендопривычки.

MiniRoboDancer ★☆
() автор топика

Аляповато как-то, сойдёт.

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

Так и знал, что сейчас набигут маководы и начнут орать, что ни фига не похоже:D Если бы Макось сама на себя была похожа, там же оформление почти с каждой версией меняется. То Brushed Metal убрали, то тона поменяли на светлые, потом обратно, потом ещё чего...

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

Да нет, дело не в том, похоже или нет. Просто выглядит вырвиглазно, и при этом пытается чем-то напомнить OS X. Стиль между разными окошками не соблюден, на верхней панели виджеты фон меняют на какое-то говно, элементы управления странные — на правом нижнем окне, к примеру, стрелочки вверх-вниз меньше самого поля ввода. Пусть OS X сам на себя не похож, но если бы он был похож вот на такое вот, то Стивен в гробу бы перевернулся.

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

ты неадекватен

Почему же? Зачем пердолиться с шифтом и всякими глючными автоподставлялками, если можно просто зажать капс? Он для чего на клавиатуре даден, по-твоему?

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

Стиль между разными окошками не соблюден

Дык они же из разных опер все. С GTK2 всё нормуль.

стрелочки вверх-вниз меньше самого поля ввода

Fixlist+

на верхней панели виджеты фон меняют на какое-то говно

ОДИН виджет, и кстати, новый, его только в 4.8 запилили, и я так и не понял, какой цвет он вообще юзает.

то Стивен в гробу бы перевернулся

Чую, уже переворачивается, от седьмой огрызкооси и разноцветных дешёвых айфонов.

MiniRoboDancer ★☆
() автор топика

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

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

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

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

ИЧСХ, он под вайном работает почти идеально, если не считать отсутствие поддержки линуксоспецифичных атрибутов ФС и невозможность без бубна запускать из него что-либо. Но это обычно и не нужно, т. к. просмотром и соответствующие плагины нормально справляются, а текстовый редактор из-под него запускается нормально.

//А вообще, я потихоньку начинаю пилить свой ФМ на node-webkit, но сейчас он находится в состоянии «показать списочег файликаф», если так пойдёт и дальше, сколько-нибудь юзабельная альфа выйдет лет через 10 :3

MiniRoboDancer ★☆
() автор топика

извини но закос под мак ос не очень :( на мониторе шрифты г на телефоне окуенны

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

Я в последний момент отошёл от цели сделать закос, так что...

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