- Настройка Openbox: Первые шаги
- Шаг 1. Автологин
- Шаг 2. Терминал
- Шаг 3. Завершение работы
- Шаг 4. Панель задач
- Шаг 5. Раскладки клавиатуры
- Заключение
- Openbox
- Настройка Openbox
- Динамическое главное меню
- Использование
- Оконный менеджер Openbox
- Содержание
- Установка
- Формируем собственное окружение на основе Openbox
- Автозапуск программ
- Добавляем панель
- Переключение раскладки клавиатуры
- Мультимедиа клавиши
- Определение названий мультимедиа клавиш
- Вызов клавишами Alt+F2 окна для выполнения команд
- Файловый менеджер
- LaurVas
- Почему именно Openbox?
- Установка и запуск
- Базовая настройка утилитой obconf
- Горячие клавиши
- Особые правила для приложений
- Панель задач tint2
- Устройство панели
- Мой конфиг
- Смена и индикация раскладки клавиатуры
- Отзывчивость клавиатуры
- Лончеры
- Gmrun
- Dmenu
- Обои на рабочий стол
- Блокировка экрана
- О чём я мог бы написать, но не написал
Настройка Openbox: Первые шаги
Узнать о том, что такое Openbox, и о моем отношении к этому оконному менеджеру, можно из статьи Почему я пользуюсь Openbox?. Кроме того, я уже делился своим ТОП 15 приложений для Openbox, который также может вас заинтересовать.
Итак, Openbox установлен. И вот что мы имеем изначально:
Кроме меню ничего больше нет. Нас это не устраивает. Давайте шаг за шагом проведем настройку Openbox, чтобы получить легковесную, удобную и одновременно мощную среду для повседневной работы.
При подготовке материала статьи я проводил эксперименты под виртуальной машиной VirtualBox с дистрибутивом Archlinux, но выбор не столь принципиален и советы подойдут для любой *nix-совместимой системы.
Сразу замечу, что процесс настройки Openbox достаточно индивидуален, поэтому представленные здесь советы лучше рассматривать как рекомендации, а не в качестве пошагового руководства.
Шаг 1. Автологин
Начнем с несколько побочного, но важного (лично для меня) пункта — автоматический вход в систему. Поскольку я работаю за компьютером один, то такой вариант меня вполне устраивает. Но если для вас подобное поведение является нежелательным (с точки зрения безопасности или по каким-то другим причинам), то можете переходить к следующему шагу.
Для автологирования проще всего использовать тот или иной менеджер входа в систему. Например, я использую lxdm . После установки менеджера не забудьте его активировать:
Затем для включения функции автологирования отредактируйте файл конфигурации /etc/lxdm/lxdm.conf . В группе [base] раскомментируйте строку вида autologin=login , где login — логин пользователя, для которого должен выполняться автоматический вход в систему.
Реклама
Шаг 2. Терминал
Linux без терминала — не Linux. В качестве GUI-терминала под Openbox я уже давно использую приложение sakura . Можете тоже попробовать его, но это дело вкуса и привычки — подойдет любой терминал.
Удобнее всего настроить запуск Openbox таким образом, чтобы терминал стартовал автоматически. Первым делом скопируйте конфигурационные файлы Openbox в свой домашний каталог:
Затем откройте конфигурационный файл
/.config/openbox/autostart и добавьте в конец следующее:
Этот простой скрипт обеспечивает запуск списка (который пока что состоит из одного элемента) приложений.
Далее сделаем так, чтобы sakura появлялась именно там, где нужно. Откройте файл
Вставьте сразу после этого комментария следующий фрагмент xml-кода:
В теге указано, что терминал должен появляться на первом виртуальном рабочем столе. С помощью говорим, что терминал должен быть развернут на весь экран. Тег переводит фокус ввода на терминал после его запуска. А закрепляет окно терминала на нижнем Z -уровне так, что все остальные окна будут его перекрывать.
После ребута системы на первом рабочем столе должен появиться терминал:
Реклама
Шаг 3. Завершение работы
С запуском более или менее разобрались, но хотелось бы иметь возможность еще и завершать работу не только командой shutdown через консоль. Для этого можно установить приложение oblogout . После установки настроим комбинацию клавиш для быстрого запуска. В файле
/.config/openbox/rc.xml найдите раздел . В его конец добавьте следующий фрагмент:
Затем обновите конфигурацию Openbox. Это можно сделать либо перезагрузив систему, либо с помощью системного меню System => Reconfigure Openbox (чтобы меню появилось, нажмите правой кнопкой мыши на свободном участке рабочего стола; само меню изображено на первом скриншоте в начале этой статьи).
Как можно догадаться из фрагмента xml-кода, который мы добавили, вызвать oblogout теперь можно с помощью комбинации клавиш Win + h :
Обратите внимание, что настроить oblogout вы можете в конфигурационном файле /etc/oblogout.conf . Например, я поменял тему оформления кнопок на foom , изменив параметр:
Если понадобится, то можно сократить количество кнопок, поменять их быстрые клавиши и выполняемые команды. Мне кажется, что вполне достаточно оставить cancel , logout , restart и shutdown . Тогда, например, завершение работы компьютера достигается последовательным нажатием Win + h, h , а перезагрузка — Win + h, r .
Шаг 4. Панель задач
При желании вы можете настроить для Openbox панель в стиле MacOS X, но от нее больше вреда, чем пользы. Она будет тормозить вашу работу, создавая соблазн лишний раз воспользоваться мышью при запуске приложений.
Для меня хорошо подошла панель задач — tint2 . Она легко устанавливается и просто настраивается с помощью вспомогательной утилиты tint2conf . К тому же, имеются предустановленные темы оформления. Я рекомендую взять за основу одну из таких стандартных тем, а затем настроить ее под свои нужды.
Если хотите, то в качестве отправной точки можете взять мою конфигурацию:
На скриншоте ниже приводится одна из стандартных конфигураций:
Шаг 5. Раскладки клавиатуры
В качестве заключительного штриха для нашей первичной настройки Openbox добавим переключение клавиатурных раскладок. Я использую клавишу CapsLock для переключения с английского на русский и обратно. Чтобы обеспечить такое поведение, создайте файл /etc/X11/xorg.conf.d/20-keyboard-layout.conf :
Осталось добавить индикатор раскладки в системный трей панели задач. Для этого прекрасно подойдет приложение xxkb . Для его настройки создайте в домашнем каталоге файл
А также не забудьте расширить содержимое файла
/.config/openbox/autostart , чтобы запуск xxkb происходил автоматически при старте Openbox:
Заключение
Конечно, нельзя сказать, что пользоваться Openbox в такой конфигурации удобно. Но самый минимум у нас уже есть: приложения можно запускать из терминала, а вход и выход из системы отработан.
Дальнейшие улучшения проводятся по двум фронтам — юзабилити (в первую очередь быстрые клавиши) и оформление. Оформление в мире Linux второстепенно, поэтому в следующий раз займемся повышением удобства использования.
Источник
Openbox
Openbox — легковесный оконный менеджер с простым минималистским интерфейсом. Менеджер окон не требователен к системным ресурсам и может работать на слабых компьютерах.
Настройка Openbox
Openbox имеет очень много настроек, его можно настроить полностью под свои потребности. Все настройки можно выполнить, редактируя файлы конфигурации. Для настройки Openbox также существует графическая утилита obconf. Openbox поддерживает темы оформления. Собственные темы можно создавать вручную или используя редактор тем obtheme. В Openbox можно настроить и использовать горячие клавиши (настраиваются в
Динамическое главное меню
Одним из важных функциональных элементов Openbox является меню, появляющееся при клике правой кнопкой мыши по рабочему столу. Данное меню может работать динамически. Отдельные пункты меню можно настроить так, чтобы при обращении к ним вызывался скрипт, который бы генерировал новое содержимое. Например, можно выводить календарик. Существует графическое приложение obmenu, которое позволяет редактировать меню Openbox.
Использование
Openbox можно использовать как отдельно, так и вместе с окружением рабочего стола. Например, вы можете использовать окружение рабочего стола Gnome (или KDE) и Openbox в качестве оконного менеджера, таким образом вы получаете все возможности среды Gnome и в то же время окна и элементы интерфейса будут отрисовываться намного быстрее чем, например, в Metacity (для Gnome 2).
Нельзя сказать, что Openbox подойдет для новичков. Настройка Openbox может потребовать некоторых навыков.
Openbox не содержит панелей, обычно пользователи устанавливают панели самостоятельно. Например, tint2 или даже gnome-panel.
Изначально Openbox основывался на оконном менеджере Blackbox 0.65.0, но позднее начиная с версии 3.0, Openbox был полностью переписан на языке C без использования программного кода Blackbox. Openbox распространяется по лицензии GPL.
Openbox используется по умолчанию в среде рабочего стола LXDE. Смотрите также: дистрибутивы, которые используют Openbox.
Источник
Оконный менеджер Openbox
Содержание
Openbox — минималистичный менеджер окон для X Window System, распространяется по лицензии GPL .
Установка
Для установки Openbox выполните в терминале:
Формируем собственное окружение на основе Openbox
Теперь перелогинимся из текущего окружения в Openbox (выйдите из системы к меню ввода пароля и входа, нажмите на кнопку выбора окружения над полем и выберите openbox). Пред нами предстал серый фон и (возможно, если устанавливали) conky. Весь смысл openbox заключается в создании полностью стилизованного под себя окружения. Существует огромное количество допилок для openbox, самые основные будут приведены в этом руководстве.
Автозапуск программ
Стандартное приложение контроля автозапуска ведет себя адекватно, но мы рассмотрим ещё один способ для openbox — скрипт autostart в папке
/.config/openbox/. По умолчанию он не создается, создайте его сами в любом текстовом редакторе. Он использует обычный Bash синтаксис. Пример:
Знак & в конце строки означает запуск в фоновом режиме.
Если нужно запустить программу после всех, то используйте sleep 3 && команда
Добавляем панель
На выбор предстает достаточно много панелей, самые известные — lxpanel, pypanel, fbpanel, adeskbar, tint2, wbar (только панель запуска).
Здесь приведен пример настройки lxpanel. Эта панель используется по умолчанию в lxde, установка:
Она запустится в стандартной конфигурации. В ней присутствует определённое количество виджетов по умолчанию, есть возможность добавлять GTK апплеты (network-manager у вас будет ярким примером). Настройка осуществляется с помощью файла
/.config/lxpanel/название_конфига/config/. Также возможна через клик правой кнопкой мыши на панели → Настройки панели.
Переключение раскладки клавиатуры
Для переключения раскладки клавиатуры горячими клавишами Alt + Shift нужно добавить в автозапуск следующую команду:
Для отображения значка раскладки на панели можно установить и прописать в автозапуск fbxkb.
Второй способ — установить gxneur.
Третий способ. Если вы используете lxpanel, нужно нажать правой кнопкой мыши на панели и добавить индикатор раскладки, нажать на нем правой клавишей мыши и настроить переключение клавиатуры между разными раскладками. В последней версии lxpanel добавили такую возможность.
Мультимедиа клавиши
Ubuntu по умолчанию использует pulseaudio, звук регулировать будем через него. Добавьте строки ниже в ваш
/.config/openbox/rc.xml. В этом файле хранятся все конфигурации «забинденных» сочетаний клавиш. Для большинства клавиатур подойдёт такой XML :
Определение названий мультимедиа клавиш
Если X дает отличные от «XF86Audio…» названия вашим мультимедиа клавишам, то для их определения вы можете использовать утилиту xev . Запустите её в терминале, перед вами откроется окошко с квадратиком. Сделайте окно активным (просто поместите его поверх всех остальных), «вытащите» из него курсор и нажмите на любую мультимедиа клавишу. Не нажимая другие клавиши (кроме, конечно, кнопки мыши) и не вводя курсор в окно закройте его. Возьмите текст последнего абзаца, он будет примерно таким:
где XF86AudioLowerVolume — искомое название. Проделайте данную операцию со всеми остальными мультимедиа кнопками и проделайте рецепт выше, заменив «XF86Audio…» на ваши названия, в первом случае на «громкость больше», во втором случае на «громкость меньше», а в третьем на «выключить звук».
Вызов клавишами Alt+F2 окна для выполнения команд
Решение аналогичное предыдущему (с мультимедиа клавишами). Выберите любой менеджер запуска приложений, в качестве примера используется gmrun. Установите его:
Добавьте следующие строчки в
Файловый менеджер
Вы можете использовать любой, какой вам захочется:
Источник
LaurVas
Openbox window manager — стэковый оконный менеджер для графической системы X Window.
Как-то не попадались мне душевные рассказы про Openbox на просторах рунета. А зря, ибо хороший он. В этой статье я хочу поделиться своим опытом формирования полноценного окружения на его основе. Мне результат нравится.
Почему именно Openbox?
Почему оконный менеджер, а не готовое DE? Я хотел сделать себе эффективный инструмент, обустроить рабочее место. Пришлось повозиться, но результат того стоит. Готовые решения в виде Cinnamon/Mate/Gnome/XFCE/KDE наследуют традиционный интерфейс. В них много лишнего.
Под линукс существует масса оконных менеджеров, и на знакомство со всеми уйдет уйма времени. Но в этом нет необходимости — стековые оконные менеджеры работают примерно одинаково и имеют примерно одинаковый набор возможностей — выбирай любой. Для себя я выделил несколько достоинств опенбокса.
Минимализм и строгость. Всё что вы получаете на голом опенбоксе — это меню по клику на рабочем столе. Никаких спецэффектов, обоев, панелей, лончеров. Опенбокс сосредотачивается на управлении окнами и делает это хорошо: быстро работает и потребляет мало ресурсов.
Но это не значит, что больше ничего не будет. При необходимости вы можете подобрать к нему именно то дополнение, которое вам больше всего подходит.
Богатые возможности по настройке. И это, пожалуй, самый весомый плюс. Основной конфиг rc.xml представляет собой хорошо структурированный xml-документ. Если вы не знаете что такое xml, то у вас есть шанс с ним познакомиться, просто настраивая этот оконный менеджер. Основные настройки можно менять галочками и ползунками через утилиту obconf. Самое то для знакомства.
Привычное поведение. Знакомые окошечки, кнопочки, комбинации клавиш. Не надо перестраивать мозг как в случае с тайловыми Awesome, Xmonad, DWM, i3. Мы будем использовать те же горячие клавиши, что используются в Windows: Alt + Tab , Alt + F4 , Win + стрелка и др. и сделаем даже лучше.
Популярность. Openbox входит в состав LXDE, на котором основан дистрибутив Lubuntu, а это серьёзно.
Проведём небольшой эксперимент. Посмотрим сколько результатов Google смог найти для разных оконных менеджеров (на момент написания статьи).
Запрос | Количество |
---|---|
site:archlinux.org openbox | 50400 |
site:archlinux.org fluxbox | 13400 |
site:archlinux.org icewm | 3410 |
site:linux.org.ru openbox | 7680 |
site:linux.org.ru fluxbox | 5780 |
site:linux.org.ru icewm | 2960 |
Даже если Openbox не лучший, он уже достаточно хорош.
Установка и запуск
Тут всё просто: качаем пакет openbox . Если вы не используете графических логин-менеджеров (slim, lightdm, gdm, kdm), то для запуска необходимо добавить exec openbox-session в
/.xinitrc . Данный скрипт выполняется, когда мы запускаем X-сервер командой startx .
/xinitrc непонятные строчки в начале! Так вы рискуете выключить автозапуск чего-нибудь нужного.
После старта опенбокса мы получаем предельно минималистичный рабочий стол: нет ничего, кроме серого фона. Единственное, что сейчас работает — дефолтная менюшка по правому клику. По первости можно запускать программы из терминала, если их нет в меню:
Базовая настройка утилитой obconf
Первоначальную настройку рекомендую производить из графической утилиты obconf . Первая вкладка отвечает за тему обрамления окон (это называется декорациями).
Обратите внимание, что тема отвечает только за внешнюю рамку окна и меню на рабочем столе. Внутренностями окна занимается библиотека GTK или QT. Для настройки GTK рекомендую утилиту lxappearance :
Вернёмся к obconf. На вкладке “Внешний вид” настраиваются шрифты и набор управляющих кнопок в заголовке окна.
Можно разместить все кнопочки заголовка слева, как в Mac OS, или оставить только крестик, как вам больше нравится. Вариантов много. Размер кнопок, как и высота заголовка, зависит от размера шрифта. Если вам кажется, что рамка съедает ценное пространство, то можно её отключить. Позже я покажу как это сделать.
Окно сохраняет границу когда нет декорации (Windows retain a border when undecorated) — это тёмная однопиксельная рамка, которая отрисовывается вокруг окна, чтобы как-то отделить его от фона. Функция работает только если у окна выключены декорации.
Декорации включены на всех окнах
Без декораций, но с однопиксельной рамкой
Без всего — полный минимализм
На вкладке “Перемещение и изменение размера” настраивается прилипание границ окна к другим окнам или краям экрана.
Окно может автоматически переместиться на другой рабочий стол, если во время перемещения какое-то время подержать его у края экрана. Задержка указывается в милисекундах. Мне нравится когда подобные вещи можно указать с высокой точностью. В Windows и, уж тем более Android, у вас в лучшем случае будет выбор из трёх значений: быстро, средне, медленно.
Фокус на окне, когда курсор мыши перемещается по нему (Focus windows when the mouse pointer moves over them) — очень приятная опция, рекомендую включить. Особенно если вы часто работаете в нескольких окнах, расположенных рядом. С этой опцией окно становится активным, если переместить указатель мыши в его зону. С выключенной опцией надо ещё и кликнуть. Казалось бы, смешная экономия в один клик… Но без него переключение на другое окно проходит плавнее и быстрее.
Уже очень давно Linux поддерживает несколько виртуальных рабочих столов. Я рекомендую начать с двух. Если этого покажется мало, добавьте ещё один. Если и трёх не хватает, то это повод задуматься о замене монитора на больший или о покупке второго.
Отступ нам понадобится для панели, в моём случае это tint2.
Горячие клавиши
Горячие клавиши используются для запуска приложений и управления окнами. Дефолтный конфиг уже содержит наиболее распространённые комбинации, такие как Alt + Tab , Alt + F4 . Возможно вам захочется дополнить ассортимент своими комбинациями.
Для настройки горячих клавиш существует графическая утилита obkey , однако я и без неё отлично всё настроил руками в конфигурационном файле
/.config/openbox/rc.xml . Если в вашем домашнем каталоге нет этого файла, значит вы, скорее всего, не запускали obconf. В этом случае возьмите дефолтный конфиг из /etc/xdg/openbox/ .
Для правки конфига я рекомендую редактор Geany. Потому что там есть подсветка синтаксиса и классный фолдинг (Документ → свернуть все). Далее нам надо раскрыть секцию .
Обычные клавиши обозначаются своими привычными именами. Для клавиш-модификаторов используются обозначения:
S для Shift
C для Ctrl
A для Alt
W для Win
M для Meta
Если имя клавиши сложно определить по тому, что на ней нарисовано, спасёт утилита xev . Запускаем её в терминале, нажимаем нужную клавишу и смотрим вывод после слова keysim . Например, клавиша PageUp называется Prior :
Пример для запуска терминала lxterminal по Ctrl + Alt + T :
Здесь всё понятно кроме тэга startupnotify . Что это такое? Это оповещение “окружающего мира” о запуске приложения через механизм startupnotification. Мне известно только одно применение данного механизма: в промежуток времени между запуском приложения и появлением его окна курсор мыши меняет форму на песочные часы или крутилку (или нечто аналогичное). Некоторые приложения не поддерживают startupnotification — как правило либо древние (xterm), либо сделанные на скорую руку.
Практический совет: включать startupnotify стоит только для тяжёлых приложений, которым требуется несколько секунд для запуска. Т.е. в этом примере он не нужен.
А это пример перемещения окна на левую или правую половину экрана по хоткею Win + ← и Win + → соответственно:
Начало координат находится в левом верхнем углу экрана (или окна). Числовые значения координат и ширины можно указывать по-разному: в пикселях, в процентах, в виде простой дроби. Отрицательные числа имеют свой смысл, можно даже указать два знака +-3 . Подробнее см. вики на сайте проекта.
Больше примеров для изучения вы найдёте в дефолтном конфиге — он весьма неплохой.
Если что-то непонятно — читайте официальную документацию или русский перевод. Возможностей очень много. Реализованы практически все мыслимые операции над окнами. Есть даже условные конструкции (if.. then.. else.. ).
Единственное, чего не хватает лично мне в управлении окнами — несколько вариантов расположения окна по одному хоткею, как это сделано в WinSplit Revolution. Вместо множества хоткеев хочется иметь один, который будет циклически перебирать различные варианты расположения окна: левая треть, левая половина, две трети слева. Не отрицаю, что и это можно сделать при желании. Для чего-то же были добавлены условные конструкции.
Особые правила для приложений
Кастомные настройки для конкретных приложений задаются в секции конфига rc.xml .
Хотим, чтобы браузер всегда запускался в полноэкранном режиме и на втором рабочем столе:
Хотим, чтобы текстовый редактор Geany и pdf-смотрелка Evince всегда открывались раздвинутыми по вертикали (maximized vertical):
Здесь же можно отключить рамку (декорации) для всех окон и выиграть 30 пикселей по высоте:
Теперь управлять окнами можно только с клавиатуры:
Alt + F4 закрывает окно;
Win + ↓ сворачивает окно в панель задач (iconify);
Win + ↑ разворачивает окно на весь экран (maximize);
Alt +мышь перемещает окно по экрану;
Alt + пробел открывает контекстное меню окна, через которое можно изменить размер, закрепить поверх других окон или отправить на определённый рабочий стол:
Чтобы узнать параметры конкретного окна (name, class, role, type), поможет утилита obxprop :
Панель задач tint2
Без панели задач на помощь приходит средняя кнопка мыши и Alt + Tab , но всё равно с окнами работать не очень удобно. Арчвики рекомендует две панели: tint2 и pypanel . Можно взять lxpanel и получить почти LXDE. Я же влюбился в tint2.
Очень гибко настраивается. Регулируются габариты, размеры элементов, отступы, шрифты, цвета. Есть где развернуться в творческом порыве.
Умеет отображать задачи сразу всех рабочих столов, а не только текущего. Это позволяет видеть картину в целом: где что запущено и быстро переключаться между окнами.
Эффективно использует площадь. Можно выжать максимум из ширины монитора — нет лишних кнопок, ярлычков, отступов, декоративных элементов. Только список запущенных приложений, трей и часы! Хм… может и часы убрать?
Нет меню приложения по правому клику. Поначалу такое поведение может показаться топорным, но практика показывает, что это очень удобно. По крайней мере в Windows я это меню использую только чтобы закрывать окна. В tint2 всё просто и быстро:
- правый клик по задаче без всяких менюшек закрывает приложение,
- левый клик по неактивной задаче переводит фокус и делает окно активным,
- левый клик по активной задаче сворачивает соответствующее окно.
И да, это настраивается.
Ничего лишнего. Tint2 не умеет запускать приложения (в свежих версиях умеет?), не умеет показывать меню, не имеет плагинов. Конфигурация панели описывается в текстовом файле.
Для настройки панели есть графические утилиты tint2conf и tintwizard , но учтите — они удаляют все комментарии из конфига. Возможно сейчас уже нет, но лучше подстраховаться бэкапом.
Устройство панели
Вся панель состоит из нескольких объектов:
- панель быстрого запуска (launcher),
- панель задач (taskbar),
- трей (systray),
- индикатор заряда аккумулятора (battery),
- часы (clock).
Панель задач состоит из отдельных панелей для каждого десктопа, если включена соответствующая опция. И уже на этих панелях появляются задачи (tasks), которые могут находиться в состояниях:
- неактивном,
- активном,
- свёрнутом (iconified),
- требующем внимания (urgent).
Вот такая вот иерархия. Задачи в данном контексте — это окна приложений.
Каждому объекту панели задач нужно назначить набор свойственных ему параметров и стиль. Стиль определяет параметры фона и рамки:
- цвет фона,
- толщину рамки,
- цвет рамки,
- радиус скругления углов.
Все цвета имеют альфа-канал, он указывается через пробел.
В начале конфигурационного файла задаются стили без привязки к конкретным объектам. Явного объявления стилей в конфиге нет, меня это поначалу сбивало с толку. Они просто идут по порядку, начиная с единицы. Можно объявить столько стилей, сколько нужно. Стили присваиваются объектам при описании объектов. Подробнее о настройке панели читайте в официальном руководстве.
По клику на часах можно запускать некоторое приложение. Сложность в том, чтобы закрыть это приложение: надо как-то определять PID процесса, чтобы убить его. Если руки чешутся что-нибудь смастерить, то посмотрите в сторону календарей на dzen2 . А если возиться неохота, возьмите gsimplecal . По первому клику он покажет календарь, а по второму сам закроется.
Если вы будете переделывать панель по своему вкусу, то в процессе творчества вам понадобится заставить tint2 перечитать свой конфиг. Для этого надо убить существующий процесс и запустить новый:
Может пригодиться ключ -c — указать отличный от дефолтного конфиг.
Мой конфиг
Мой конфиг лежит на гитхабе. Ключевые особенности:
- Максимальное использование доступной площади.
- Опция mouse_right = close закрывает окно по правому клику на панели задач.
- Сразу видны окна всех рабочих столов.
- Высота панели — 28 пикселей. Это оптимальный размер, подобранный мной в процессе долгих поисков.
Почему я выбрал такие цвета? Именно такой серый цвет не отвлекает от работы, хорошо сочетается с редактором Sublime Text и дефолтным серым фоном. Хорошо читаются состояния задач, особенно активное окно.
Смена и индикация раскладки клавиатуры
Я долго не мог понять зачем линуксоиды назначают смену раскладки на CapsLock , а потом попробовал и… Восторг! Традиционный капс нафиг не нужен, а если вдруг приспичит, то его можно включить по Shift + CapsLock . Привыкнув переключать раскладку по CapsLock , вы уже не вернётесь назад.
Прописать клавиатурное комбо для смены раскладки можно в автостарт индивидуально для пользователя, либо в конфиг иксов — для всех пользователей. На моей машине в глобальном конфиге прописана смена по Alt + Shift :
А в автозапуске — по CapsLock :
В результате работают оба сочетания. Хорошая идея — использовать для индикации раскладки лампочку Scroll Lock на клавиатуре. Я даже перепаял светодиод с зелёного на красный по такому поводу.
На ноутбуке этой лампочки обычно нет и для индикации раскладки целесообразно использовать значок в трее. В линуксах традиционно это флаг страны.
Помимо индикации текущей раскладки жизненно необходимая опция — это запоминание раскладки для каждого окна. Например код я пишу на английском, а переписку в мессенджере веду на русском; переключаясь между окнами мне не нужно каждый раз менять язык.
Я могу посоветовать три утилиты, все умеют запоминать раскладку для окон.
- kbdd ничего не показывает в трее,
- sbxkb показывает флаги в трее, но не имеет никаких параметров — всё жестко прописано в коде, даже размер значков.
- xxkb аналогична sbxkb, но уже имеет конфигурационный файл.
Я долгое время использовал xxkb, но из-за изредко возникающих глюков пересел на sbxkb. Работает без сбоев, но при смене конфигурации экрана (поворот, разрешение) исчезает из трея, хотя процесс продолжает работать.
Отзывчивость клавиатуры
Раз уж я коснулся клавиатурной темы, расскажу про маленькую настройку, которая позволяет быстрее скроллить, перемещаться по тексту или стирать. Когда я хочу стереть что-то длинное, то зажимаю Backspace и смотрю как курсор бежит назад, забирая лишние буквы. Что при этом происходит? Как только я нажимаю Backspace , стирается один символ, затем идёт небольшая задержка, затем срабатывает автоповтор: Backspace убирает символы один за другим, как если бы я постоянно по нему стучал.
Я рекомендую вам отрегулировать задержку и частоту работы автоповтора под скорость своих пальцев. Задержка перед срабатыванием автоповтора нужна когда вы хотите удалить только один символ — она даёт вам время отпустить клавишу.
Слишком долгая задержка заставляет ждать автоповтора. Не настолько долго, чтобы раздражать, но достаточно, чтобы тормозить перенос мыслей из головы в компьютер. Слишком короткая задержка приведёт к тому, что автоповтор начнёт работать когда этого не требуется. Чем выше частота повтора, тем быстрее стирается текст, и тем сложнее успеть вовремя остановить этот процесс. Суть настройки заключается в поиске золотой середины.
Итак, волшебная команда:
190 — длительность задержки в миллисекундах,
20 — частота в количестве повторений в секунду.
Я рекомендую начать с этих значений и понемногу уменьшать задержку до появления ложных срабатываний, затем чуть-чуть вернуть назад. Если установить очень короткую задержку, то вы потеряете возможность пользоваться клавиатурой. Придётся перезагружать X-сервер или компьютер целиком. Так что будьте аккуратнее.
Чтобы параметры применялись самостоятельно, добавляем эту команду в
/.xinitrc до команды exec openbox-session или в
/.config/openbox/autostart . Первый скрипт выполняется при запуске X-сервера командой startx , второй — только при запуске опенбокса.
Настроить отзывчивость клавиатуры и скорость указателя мыши можно из графической утилиты lxinput , однако изменения действуют только до перезапуска X-сервера, т.к. lxinput сохраняет выставленные настройки в
/.config/lxsession/LXDE/desktop.conf , а этот файл кроме LXDE никто не смотрит.
Скорость указателя мыши задаётся командой xset m . Подробнее см. man xset .
Лончеры
Как программы-то запускать? Только горячими клавишами? Ведь нет ни “Пуска”, ни значков на рабочем столе! Суровые админы обойдутся одним лишь терминалом, но нас такой вариант не устраивает. Какие есть альтернативы?
- всё запихнуть в менюшку опенбокса,
- сделать ярлычки на панели tint2 ,
- сделать ярлыки на рабочем столе ( idesk , xfdesktop ),
- запускать приложения по имени из лончера ( dmenu , gmrun ),
- сделать красивые иконки снизу (а-ля Mac OS) средствами cairo-dock .
Для себя я нашёл оптимальный способ запуска программ — с клавиатуры.
Gmrun
Эта небольшая утилита написана на языке C с использованием библиотеки GTK+2. Минимум кода, минимум функционала, минимум настроек. По сути это аналог Ctrl + R в Windows.
Будет логично повесить gmrun на тот же хоткей. Для этого в конфиге опенбокса в секции добавляем строки:
Dmenu
Лончер на основе dmenu описан в отдельной статье.
Обои на рабочий стол
Хочу порекомендовать утилитку feh и такую строчку в автозапуск:
Теперь при старте опенбокса вы получаете случайные обои из папки
Однажды я два дня собирал коллекцию красивых обоев. А потом отключил их нафиг и удалил. Ибо отвлекает.
Как-то Сисадмин спросил:
— Учитель, не желаете ли красивую картинку для вашего десктопа? У меня есть коллекция “обоев для рабочего стола” со звёздным небом и моральным законом.
— Почему ты думаешь, что мой нынешний “wallpaper” хуже? — спросил в ответ Инь Фу Во.
— Я не знаю, какая у вас картинка сейчас. Я никогда не видел вашего десктопа. У вас всегда открыто множество окон.
— Я тоже его никогда не видел, — сказал почтенный Инь. — Я работаю.
Блокировка экрана
Чтобы никто не смог воспользоваться компьютером во время вашего отсутствия, включайте блокировку экрана. Голый опенбокс этого делать не умеет, но ему на помощь отлично приходит утилита slock . В заблокированном состоянии она ничего не выводит на экран. Во время ввода пароля заливает экран голубым цветом. Если пароль введён неверно, заливает экран красным. Цвета заливки не настраиваются, они жёстко прописаны в коде. Если вас это не устраивает, посмотрите на i3lock и его продвинутый форк.
Вместо простого запуска slock по хоткею Win + L я добавил в конфиг опенбокса чуть более интересную конструкцию:
Через секунду после блокировки выключается фоновая подсветка монитора (backlight).
Кстати, при вводе пароля выручает индикация раскладки лампочкой scrol lock, потому что пароль, набранный не в той раскладке, не подходит, а другой индикации текущей раскладки нету.
В заблокированном состоянии slock не даёт возможности переключиться на свободную консоль по Ctrl + Alt + F1…F6 . Так что обойти его нельзя. Но один способ всё-таки есть. Надо зайти на заблокированную машину по ssh и убить процесс:
О чём я мог бы написать, но не написал
- Полупрозрачность окон, по-моему абсолютно ненужная.
- Димминг (затемнение) неактивных окон. Я использовал compton , мне понравилось.
- Возможности меню по правому клику.
- Автозапуск приложений. Там вроде не сложно.
- Менеджер буфера обмена (clipboard manager). Вещь нужная, но у меня до неё руки не дошли.
- Приложения по-умолчанию для разных типов файлов (default applications).
- Тайлинг средствами pytile2. Я не пробовал.
Эту статью я писал очень долго, и на момент публикации уже отказался от опенбокса в пользу i3. Но готов ответить на ваши вопросы в комментариях.
Источник