akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Заранее отвечу на два простых вопроса:
Замена панели задач Традиционная панель задач — это горизонтальная полоса кнопок с иконками и сокращёнными заголовками окон. Клик на такой кнопке активизирует окно, а правый клик вызывает меню дополнительных действий. Но если окон много, то заголовки становятся нечитаемыми. А если имеется несколько десктопов, то совсем плохо. Если на панели представлен только один, то как просмотреть другие? А если на панели представлены все десктопы, то тексты точно будут нечитаемыми. Стильная идея помещать на панели задач только иконки тоже не катит. Вполне может быть несколько окон с одинаковыми иконками (скажем, несколько терминалов). Объединение нескольких окон в одной кнопке — тоже плохо, хотя бы из-за того, что это лишние клики и перемещения мыши. Док-панели, как в Windows7, гармонично соединяют худшие качества панели задач и тулбара. Так называемые пейджеры (pager) — тоже плохо - из-за того, что на них не видно минимизированных и спрятавшихся сзади окон. В общем, трудно придумать что-то лучше, чем вертикальный список с иконками и заголовками, да ещё и упорядоченный по десктопам. То есть в аккурат client-list-combined-menu. Но если по внешнему виду client-list-combined-menu — это как раз то, что надо, то по функциональности оно просто никакое. Но есть с чего брать пример. В покойной IBM OS/2 штатный список окон (вызываемый по Ctrl-Esc) работал так: левый клик активизировал окно, а по правому клику появлялось меню с дополнительными действиями (включая Close). А ещё лучше в той же OS/2 работал список задач левой DE FileBar: там список задач — это меню, и каждому окну соответствует подменю с действиями над окном. Но при этом наличие лишнего уровня меню не приводит к лишним кликам, поскольку в меню OS/2 есть (и в FileBar использована) замечательная фишка: подменю с умолчаниями. Так вот, в FileBar подменю действий имеет умолчание - «Активизировать». Так что левый клик на строке окна приводит сразу к его активизации, как и в «нормальном» списке окон. Вот такую функциональность я и добавил в client-list-combined-menu. Это на Бугзилле bugs 4795, 5239. Так что теперь из client-list-combined-menu можно не только активизировать окно, но и закрыть или перекинуть на другой десктоп. При этом для стандартного действия («Активизировать»), как и раньше, достаточно одного клика. Замена тулбара Традиционный тулбар - это полоса иконок вызова приложений (действий). Большое значение имеет размер иконок, но плохо получается по-любому: если иконки большие, то теряется много места, а если маленькие, то в них трудно попадать. Всплывающий тулбар — это отдельная песня, поскольку само всплывание по касанию края экрана, как правило, достаточно по-дурацки реализованно. Например, трудно придумать бОльший абсурд, чем всплывающая панель KDE4: всплывает она мгновенно от прикосновению к краю, а прячется по уводу мыши только после задержки. Как раз то, что нужно, чтобы целясь во что-то, расположенное близко к краю, случайно зацепить край и потом не спеша материться, пока панель закрывает элемент, в который целились. Так вот, для мышиного вызова небольшого числа приложени/действий я нашёл великолепное готовое решение прямо в openbox. Один из двух основных авторов, Mikael Magnusson AKA Mikachu, в своём git имеет ветку edges, где действия можно навешивать на клики на краях экрана. Края — это 4 угла и 4 стороны, а клик — это и колесо в том числе. В данной реализации такие клики имеют наивысший приоритет, вплоть до того, что рабатают даже на полноэкранном приложении, что очень удобно. Такой набор зон хорош тем, что в них очень легко попадать, хоть и вовсе не гляди на экран. И их количество (8) как раз оптимально: и не слишком мало, и запомнить легко. К тому же на любую из них можно навесить своё меню. Например, на левый клик в левом нижнем углу вешаем pipe-меню установленных приложений, и получаем как бы привычную кнопку «Пуск», но вообще не занимающую место на экране. Впрочем, ложка дёгтя нашлась и тут, даже две. Первая — что все эти 8 зон всегда активны. Если для какой-то из них не определить никаких действий, то она будет просто проглатывать клики, что очень неудобно. Поэтому я чуть-чуть изменил логику: по умолчанию все зоны края не активны, а активизируются только те, для которых реально задана хоть одна привязка. Вторая ложка дёгтя связана с удобством настройки. Скажем, правый клик на пустом месте традиционно вызывает главное меню. Соответственно, и в одном пикселе от верхнего края он тоже вызывает главное меню. И будет очень странно, если такой же клик ещё на пиксель выше будет просто игнорироваться или вызывать другое действие. По-моему, логично, чтобы края имели все те же самые привязки (mousebind), что и пустое место, плюс дополнительные привязки для левого клика, который на пустом месте обычно не задействован. Но для этого придётся восемь раз скопипастить все привязки контекстов Desktop и Root, а потом, если что, в девяти местах корректировать - бррр.... Поэтому я ввёл средство импорта привязок из других контекстов. Теперь для каждого из задействованных краёв достаточно включить <import>Root</import> <import>Desktop</import>. Например, для нижнего левого угла у меня задано следующее: То есть левый клик в этом углу вызывает pipe-меню приложений (типа невидимая кнопка «Пуск»), а остальные действия — те же, что и на пустом месте (скажем, правый клик - «ручное» главное меню, средний клик — client-list-combuned-menu).В результате панель оказывается не нужна вообще: функции кнопки «Пуск», панели задач и тулбара допиленный openbox исполняет лучше, а гаджеты-информеры и трей прекрасно заменяются при помощи conky и stalonetray. Эти две функции (улучшенный client-list-combined-menu и работа с краями) — главное, но есть и ещё несколько полезных мелочей. О них во второй части. |
Xts |
|
Темы:
33
Сообщения:
973
Участник с: 13 ноября 2013
|
Былоб не плохо добавлять скрины |
indeviral |
|
Темы:
39
Сообщения:
3204
Участник с: 10 августа 2013
|
по моему одной менюшки хватало вполне, вызывать по касанию края вообще не вижу смысла... а фишки типа ScreenBottomLeft, позволяют на мой взгляд реализовать вполне не чё так тайлинг, кстати из за отсутствия оного не так давно променял openbox на dwm и доволен как слон)))
Ошибки в тексте-неповторимый стиль автора©
|
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
indeviralНе по касанию, а по клику на краю. Действия по касанию мне тоже не нравятся - это или тормозит (если большая задержка срабатывания) или мешает ложными срабатываниями (если задержка маленькая или нулевая). Но если кому-то всё-таки хочется навешать действий на касания, то это умеет xdotools. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
XtsА не на что. Тут нет красоты, тут есть удобство. Это надо не смотреть на картинке, а пробовать руками. (Вторую и последнюю часть постараюсь выложить сегодня вечером) |
Xts |
|
Темы:
33
Сообщения:
973
Участник с: 13 ноября 2013
|
akorop, ну как бы расположение и т.д, например на счет панели задач, не особо представляю что там получилось |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
XtsВот те раз... А я тут распинаюсь, что панель задач не нужна вообще... А Вы - пользователь openbox? |
Xts |
|
Темы:
33
Сообщения:
973
Участник с: 13 ноября 2013
|
akorop, использовал с год где то, сейчас нет, странно он себя ведет |
bobart |
|
Темы:
38
Сообщения:
2537
Участник с: 28 ноября 2009
|
Стильная идея помещать на панели задач только иконки тоже не катит. Вполне может быть несколько окон с одинаковыми иконками (скажем, несколько терминалов).Проблему "нескольких терминалов" мне проще было бы решить разными иконками, условно: "term_1", "term_2" — т.е. "одинаковые иконки" явно не повод для отказа от панели как таковой. Это всё субъективно, ты ж понимаешь — кому-то привычнее (или интереснее) замутить новый конфиг, кому-то подрисовать пару-тройку иконок. И это даже не критика, а так, просто лёгкое недоумение. На самом деле, было бы интересно увидеть скрины. |
akorop |
|
Темы:
111
Сообщения:
1756
Участник с: 29 февраля 2012
|
Народ, я правда не понимаю, что я могу показать. Курсор мыши на краю пустого экрана? Видео, как мои пальцы нажимают последовательность клавиш? Единственное, что по внешнему виду чуть-чуть отличается от стандартного openbox, - это подменю с умолчанием. В принципе, это настраивается через тему, но стандартно это треугольничек в квадрате. И этим же знаком помечен сам умолчательный элемент внутри подменю. Так что даю таки фотку моего client-list-combined-menu в момент, когда уже открыто подменю переноса на другой экран: Если сейчас сделать левый клик, то mc перенесётся с десктопа 3 на этот десктоп (1), поскольку это пункт по умолчанию. Всё остальное выглядит точно так же, как в стандартном openbox. (Вообще-то, я думал, что заинтересовать это может только тех, кто реально использует openbox, и кто хотел бы сделать свою работу удобнее.) |