Basic Configuration
There’s an absolutely insane amount of configuration that you can do with i3wm, so it’s only possible to cover the basics here. These are some of the more common things that you’d want to do.
After creating the default configuration on your first run, it was placed in the “/etc/” directory. You have to copy it to your home to customize it.
Don’t forget to change the ownership of the file to your user. The user and group name should both match your username.
Colors
Changing the colors is easy. i3wm uses hex values for colors like CSS. There are a couple of different classes that each have a border, background, text, and indicator value. You can lay them out in a table and plug in the color values that you want.
Applications
In the i3wm configuration, creates a new hotkey. launches programs. You can put them together to make your own hotkeys to launch the programs that you use most without using the launcher. For example:
You can run applications at startup, too. Just use for those.
Status Bar
The status bar is one of the most important parts of your desktop. It displays your workspaces as well as loads of other vital information. With i3wm there are a ton of options for your status bar.
Near the bottom of the configuration file you’ll find a block called “bar.” Everything for the status bar will go in there.
First, you’ll find the “status_command.” It dictates which status bar is used. The default is i3status, but you can use a load of others like i3blocks, lemonbar, and polybar. They are all different and have their own unique benefits and drawbacks.
You can change the position of the bar here, too.
You can create a separate “colors” block here that you can use just like the other color configuration to customize i3’s color scheme.
i3 and the rest of your software world
8.1. Displaying a status line
A very common thing amongst users of exotic window managers is a status line at
some corner of the screen. It is an often superior replacement to the widget
approach you have in the task bar of a traditional desktop environment.
If you don’t already have your favorite way of generating such a status line
(self-written scripts, conky, …), then i3status is the recommended tool for
this task. It was written in C with the goal of using as few syscalls as
possible to reduce the time your CPU is woken up from sleep states. Because
i3status only spits out text, you need to combine it with some other tool, like
i3bar. See for how to display i3status in i3bar.
Regardless of which application you use to display the status line, you
want to make sure that it registers as a dock window using EWMH hints. i3 will
position the window either at the top or at the bottom of the screen, depending
on which hint the application sets. With i3bar, you can configure its position,
see .
8.2. Giving presentations (multi-monitor)
When giving a presentation, you typically want the audience to see what you see
on your screen and then go through a series of slides (if the presentation is
simple). For more complex presentations, you might want to have some notes
which only you can see on your screen, while the audience can only see the
slides.
8.2.1. Case 1: everybody gets the same output
This is the simple case. You connect your computer to the video projector,
turn on both (computer and video projector) and configure your X server to
clone the internal flat panel of your computer to the video output:
xrandr --output VGA1 --mode 1024x768 --same-as LVDS1
i3 will then use the lowest common subset of screen resolutions, the rest of
your screen will be left untouched (it will show the X background). So, in
our example, this would be 1024×768 (my notebook has 1280×800).
8.2.2. Case 2: you can see more than your audience
This case is a bit harder. First of all, you should configure the VGA output
somewhere near your internal flat panel, say right of it:
xrandr --output VGA1 --mode 1024x768 --right-of LVDS1
Now, i3 will put a new workspace (depending on your settings) on the new screen
and you are in multi-monitor mode (see ).
Because i3 is not a compositing window manager, there is no ability to
display a window on two screens at the same time. Instead, your presentation
software needs to do this job (that is, open a window on each screen).
8.3. High-resolution displays (aka HIDPI displays)
See https://wiki.archlinux.org/index.php/HiDPI for details on how to enable
scaling in various parts of the Linux desktop. i3 will read the desired DPI from
the Xft.dpi property. The property defaults to 96 DPI, so to achieve 200%
scaling, you’d set Xft.dpi: 192 in ~/.Xresources.
If you are a long-time i3 user who just got a new monitor, double-check that:
-
You are using a scalable font (starting with “pango:”) in your i3 config.
-
You are using a terminal emulator which supports scaling. You could
temporarily switch to gnome-terminal, which is known to support scaling out of
the box, until you figure out how to adjust the font size in your favorite
terminal emulator.
Основное использование#
Для начала попробуем использовать простое, но важное сочетание клавиш:
Ну и конечно, замените на то, что вы выбрали в качестве клавиши $mod в этом примере (по умолчанию клавиша Windows).
Это откроет новый терминал.
Чтобы открыть другое приложение, вам нужно будет использовать dmenu. Для этого нажмите следующее сочетание клавиш:
После чего вы можете найти приложение, например Firefox. Нажмите enter, когда будете готовы открыть приложение.
Firefox откроется и настроится на использование половины ширины вашего монитора.
Но что, если вы хотите разделить свои окна, чтобы ваш терминал находился поверх окна браузера Firefox? Без проблем.
Для следующего окна будем делить экран по горизонтали, при помощи сочетания:
По началу может показаться, что никаких изменений и вовсе не последовало, однако, вам нужно будет открыть новое окно,
чтобы увидеть их.
Вновь откройте dmenu, используя сочетание клавиш:
Теперь найдите другое приложение, например evince (открывает PDF файлы). Нажмите Enter, как только найдёте его. После
чего у вас должно быть три окна на вашем экране, как отображено ниже.
Считаете, что вам нужно использовать весь экран и хотите, чтобы на весь экран было только одно окно? Легко! Выберите
окно и нажмите для перехода в полноэкранный режим:
Чтобы вернуть прежнее расположение окна, повторно нажмите это же сочетание.
Если же вам нужно закрыть окно, то воспользуйтесь следующим сочетанием клавиш:
Или
В других ОС или настольных средах вы можете нажать:
Для того чтобы закрыть окно в i3 воспользуйтесь:
Вновь откройте dmenu:
Найдите “xkill” и нажмите Enter. Теперь курсор вашей мыши изменится на “X” и любое окно, на которое вы нажмете, закроется.
Чтобы создать новый рабочий стол, например, если старый переполнен окнами, нажмите следующее сочетание клавиш:
Вместо # введите любую цифру от 1 до 9. Это перенесет вас в новое рабочее пространство на вашем виртуальном рабочем столе.
Если вы хотите переместить уже существующее окно в новое рабочее пространство, выберите окно, которое вы хотите переместить,
и нажмите:
Настройка i3WM
После запуска нас встретит окно выбора mod клавиши. Будет два варианта Meta (windows кнопка) и Alt. После запуска перед собой мы будем видеть только i3bar с запущенным в ней i3status и больше ничего.
Окно выбора Mod клавиши
В качестве терминала по умолчанию используется xterm — запускается комбинацией Mod+Enter
. Не будем пока зацикливаться на управлении, уясним лишь то, что бы закрыть окно нужно нажать Mod+Shift+q
, а что бы перезапустить i3 — Mod+Shift+r
.
Теперь давайте проясним для себя то что нам надо
- Обои — Для этого будем использовать Nitrogen
- Лаунчер приложений — Тут есть много вариантов, рассмотрим мы только самые популярные
- Анимации и VSync — Для этого нам понадобится композитор, я предлагаю Compton потому что он легкий и стабильный
Памятка стандартных хоткеев i3WM
Will You Stick With i3?
That’s all folks! With this first overview of i3, you should be able to do whatever you want without having a cumbersome desktop environment going in your way.
In this article, we learned:
- i3 is a very light and minimalist windows manager, yet powerful and flexible.
- What are workspaces, containers, fixed and floating windows.
- How to configure i3.
- How to configure the lock screen i3lock.
- How to create a shutdown menu.
- How to personalize the status bar.
- How to manage your screen config with ARandR.
There’s much more to discover about i3 and I invite you again to go through its very complete documentation.
Внешний вид
Рамки окон
Кнопки управления окном в i3wm заменены хоткеями
Изменить размер рамок окна по умолчанию можно с помощью new_window pixel <Размер рамки в пикселях> — я себе поставил 1, только чтобы видеть границы окон.
Цвет рамок окна можно задать по шаблону
<Класс окна> <Цвет границы> <Цвет фона> <Цвет текста> <Цвет индикатора>
Классы окон:client.focused — окно в фокусеclient.unfocused — окно вне фокусаclient.focused_inactive — окно в фокусе но не активноclient.urgent — окно требует внимания (всплывающее уведомление например)
Пример настройки цвета;
# class border backgr. text indicator child_border client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a client.unfocused #333333 #222222 #888888 #292d2e #222222 client.urgent #2f343a #900000 #ffffff #900000 #900000 client.background #ffffff
Ну и думаю стоит привести пример настройки цветов i3bar — все по той же схеме, только немного другие теги.
Классы индикаторов рабочих столов:
- focused_workspace — Рабочий стол в фокусе;
- active_workspace — Активный рабочий стол;
- inactive_workspace — Неактивный рабочий стол;
- urgent_workspace — На рабочем столе есть приложение которое требует внимания;
Примернастройки цветов для i3bar:
bar { colors { background #000000 statusline #ffffff separator #666666 focused_workspace #4c7899 #285577 #ffffff active_workspace #333333 #5f676a #ffffff inactive_workspace #333333 #222222 #888888 urgent_workspace #2f343a #900000 #ffffff } }
Внешний вид приложений
Логотип Qt
Для настройки внешнего вида приложений надо будет попотеть.
Начнем с простого — настройки GTK+
Все что нам надо, это лишь программа lxappearance,в ней можно настроить иконки , тему GTK и курсора.
Теперь сложнее — настройка Qt.
Для настройки Qt нам нужно будет всего два приложения qt4config и qt5ct.
Запускаем qt4config — выбираем тему , шрифт и т. п. — все.
Но вот если мы запустим qt5ct то увидим сообщение о отсутствии переменной среды. Чтобы исправить нам надо будет отредактировать файл Xsession, т.к я использую sddm — то у меня он находиться по адресу /usr/share/sddm/scripts/Xsession. В него нам надо добавить строчку export QT_QPA_PLATFORMTHEME=»qt5ct» — после чего перелогинимся и уже спокойно можем запустить qt5ct и там провести настройку
По мимо стандартных тем для Qt можно выбрать движок тем
Советую обратить внимание на Kvantum — это SVG based движок для Qt. Простой в настройке, тем пока что мало, но то что есть выглядят очень круто и футуристично
Анимации и VSync
Логотип CompizFusion
Мы с вами уже условились что для обеспечения красивой анимации будем использовать композитор compton, сейчас я не буду писать про то как надо настраивать его, т.к пост про i3WM а не про compton, просто покажу с чего стоит начать.
Добавим в конфигexec compton -f —vsync drm
И после перезапуска получаем красивые переходы, прозрачность и главное вертикальную синхронизацию, все очень просто !
Обои
Интерфейс Nitrogen
Про обои мы тоже договорились что будем использовать nitrogen. Запускаем его, выбираем обоину и радуемся, все что остается, это только добавить в конфиг exec nitrogen —restore
Conky
Conky достаточно популярный виджет в мире Linux
Это необязательный пункт, но я подумал что стоит и его упомянуть, тут я просто покажу как надо запускать коньки в i3wm
exec conky -c ~/.config/i3/conky_c
Информации по настройке коньков в интернете уйма, от себя добавлю лишь то — что стоит исключить их из обработки теней в compton.
Лаунчер Приложений
Вообще под Linux есть уйма различный лаунчеров, рассмотрим самые популярные.
- Dmenu — каноничный лаунчер, по факту это выпадающая строка терминала с автодополнением. Минималистичный и легкий.
- Xfce AppFinder — лаунчер приложений из окружения XFace, основан на GTK+ , не сказать что удобное решение, но он простой и понятный.
- Rofi — Достаточно гибкий лаунчер, по мимо простого запуска приложений умеет навигацию по окнам и ssh клиент.
Погода в строке состояния
Строка может отображать огромное количество разной информации. Но чего в ней нет, так это средств для вывода информации о погоде. К счастью, проблему можно решить с помощью скриптов.
Для начала скачаем скрипт weather.py:
$ mkdir ~/bin
$ cd ~/bin
$ wget https://raw.githubusercontent.com/calzoneman/i3-weather/master/weather.py
$ chmod +x weather.py
Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Логотип i3WM
В современных графических оболочках концепция тайлига очень сильно недооценивается, примитивный тайлинг есть и в Windows и в таких оболочках как KDE, Gnome, XFce. Но все это лишь частичная поддержка тайлинга. По настоящему тайлинг отлично реализован в таких оконных менеджерах как Awesome, DWM, i3WM. И сегодня как раз поговорим о последнем.
Один из самых легких, удобных и гибких в настройке оконных менеджеров Linux это несомненно i3WM. Львиную долю своей популярности он получил благодаря очень простой настройке, и в этом гайде мы разберем конфиг i3wm с примерами конфигурации оконного менеджера.
Думаю многие читатели этого поста уже знают что такое динамический оконный менеджер
— коим и является i3WM. А те кто не знает — сообщаю, оконные менеджеры (составная часть любого DE) делятся на два типа, стековые (плавающие окна) и фреймовые (окна располагаются мозаикой). А если все это смешать, то получиться гибрид в виде динамических оконных менеджеров, в которых окна могут переключаться из плавающего режима в фреймовый.
Не важно почему вы выбрали именно i3wm среди многих других динамичных оконных менеджеров… Будто простота настройки (в чем вы убедитесь ниже), его легкость по сравнению с другими или же просто по совету более опытного линуксойда. Для начала я предлагаю рассмотреть что мы будем иметь из коробки после установки i3wm:
-
i3
— Собственно сам оконный менеджер -
i3bar
— «Родная» панель в i3wm все что умеет это отображение рабочих столов и строку терминала -
i3status
— Отображение некоторой информации строчкой терминала -
i3lock
— Экран разблокировки компьютера
Теперь давайте разберемся со всем по порядку.
Использование
Запуск приложений
i3 использует dmenu в качестве запуска приложений, которое вызывается по умолчанию . В качестве альтернативы, можно использовать AUR из AUR которое имеет намного больше возможностей, включая прозрачность и поддержку шрифтов Xft.
содержит i3-dmenu-desktop, Perl оболочку для dmenu который использует desktop entries для создания списка всех установленных приложений. Кроме того, пакет AUR может быть использован; это небольшая замена i3-dmenu-desktop, но более быстрая .
Назначение клавиш
В i3, команды вызываются с помощью клавиши модификатора, называющейся . По умолчанию (Mod1) это , с популярной альтернативой (Mod4), которая известна как .
Контейнеры
Эта статья или раздел нуждается в
i3 управляет окнами в виде древовидной структуры, с контейнерами, как со строительными блоками. Эта структура филиалов с горизонтальным или вертикальным разделением. Контейнеры по умолчанию тайловые (tiled), но могут быть установлены как стэковые лэйауты (stacked layouts), таки в плавающем режиме (floating) (например для диалоговых окон). Плавающие окна всегда поверх.
Использование
Горячие клавиши
Рисунок 1 — Ключи для использования с $ mod (Alt)
Рисунок 2 — Ключи для использования с Shift + $ mod
Стандартные горячие клавиши, работающие по умолчанию (см. рисунки 1, 2):
- mod+Enter — открытие терминала;
- mod+d — запуск dmenu (меню сверху экрана, которое по мере ввода с клавиатуры *название приложения* предлагает варианты для запуска);
- mod+Shift+Q — закрытие активного окна;
- mod+Shift+r — перезапуск i3wm;
- mod+v — включение режима вертикального тайлинга (делит экран горизонтально);
- mod+h — включение режима горизонтального тайлинга (делит экран вертикально);
- mod+w — включение режима вкладок (каждое окно на рабочем столе занимает весь экран, сверху видны вкладки);
- mod+s — включение стекового режим (заголовки окон один под другим, каждое окно занимает весь экран);
- mod+e — возвращение стандартного режима;
- mod+Shift+Space — переключение окна в плавающий режим и обратно;
- mod+Left/Right/Up/Down — перемещение фокуса в пределах рабочего стола;
- mod+Shift+Left/Right/Up/Down — перемещение текущего окна в пределах рабочего стола;
- mod+1 и т.д. — переключение на рабочий стол с указанным номером;
- mod+Shift+C — чтение настройки из файла конфигурации;
- mod+Shift+E — выход из i3wm на экран ввода имени пользователя и пароля.
Herbstluftwm
Оконный менеджер с ручным статическим тайлингом, который использует Xlib
и Glib. Работа с окнами осуществляется через разбиение пространства на фреймы,
то есть неперекрывающиеся области, примерно так же как и в ion3. Так же как
и в ионе могут динамически создаваться рабочие столы. Каждый рабочий стол имеет
собственную раскладку фреймов.
-
Что хорошо: Современных оконных менеджеров со статическим тайлингом не так
много что уже хорошо. Управляется через IPC вызовы от herbstclient, так что
вся конфигурация может быть сделана даже обычным шелл-скриптом(непрямая
аналогия с wmii). -
Что плохо: ion3 в целом более фичаст, проект почти перестал развиваться, не
всегда адекватная реакция на ewmh-события, особенно которые связаны
с плавающими “мониторами”(местный аналог скратчпадов), делать много вызовов
herbstclient расточительно в плане процессорного времени.
Как выглядит:
(скриншот конфигурации milomouse)
Настройка конфига i3wm
При первичной загрузке вы увидите примерно такое сообщение:
Нажмите 2 раза на Enter — это создаст конфигурационный файл, который мы потом будем менять.
Вы увидите просто черный экран и возможно курсор мыши :)))
Не пугайтесь все нормально, система работает и вы сделали все правильно.
Зачастую можно видеть символ загрузки, который постоянно вращается (до 60 сек.) — система пытается запустить какой-то процесс.
Если вас это раздражает, то можно убрать прописав перед запуском программ код:
Прописываем автозагрузку программ кодом
Назначаем свои горячие клавиши
Прописываем запуск программ на определенных горячих клавишах:
Я, к примеру, использую консольный вариант проигрывателя VLC, запуская его горячими клавишами. При этом, радио начинает играть автоматом. Авто подключение радио потока прописано в настройках vlc.
И т.к. программа запускается без GUI, ее удобнее выключать горячими клавишами, которые просто убивают процесс vlc.
Как найти название клавиш
Тут возникает вопрос, что за клавиша такая “Prior”, которую мы использовали выше и как вообще найти название клавиш, которые нам хотелось бы использовать.
Клавиша “Prior” — на моей клавиатуре это клавиша Pg Up/■ . Используется для управлением проигрывателя (старт, стоп, пауза, перемотка и т.д.)
Для того, чтобы найти название клавиш используем утилиту xev, вбив в консоли команду:
После запуска, вы увидите белый экран с квадратом вверху
Подведите курсор мышки к квадрату и не уводя с него, нажмите на нужную клавишу. В терминале увидите ее название.
Или же используйте вот эту команду, которая покажет только то что нужно, урезая все лишнее.
Думаю тут все понятно не вызовет никаких трудностей. Идем дальше.
Открытие программ в плавающем окне
Если определенную программу нужно открыть не в тайлинге, а в плавающем окне используйте код
Где “Xfce4-terminal” это название программы.
Открытие программ в нужном рабочем столе
В i3wm есть фишка, которую я не встречал в других DE/WM — это запуск программ на определенном рабочем столе. Удобно, когда вы знаете, какая программа и на каком рабочем столе она запускается.
Данный код запустит Firefox на 3-м рабочем столе
Название программ нужно писать с заглавной буквы, иначе не сработает.
Настройте автоматическую запись разговоров.
Устройства Realme, такие как Realme XT, оснащены функцией автоматической записи разговоров. С его помощью вы можете записывать все входящие звонки или записывать звонки только с неизвестных номеров (номеров, которые не хранятся на вашем телефоне).
Чтобы включить его, откройте Dialer и нажмите на значок настроек в правом верхнем углу. Затем нажмите «Запись звонка» и выберите «Автоматическая запись».
После этого нажмите «Добавить», чтобы добавить контакты, от которых вы хотите записывать звонки, и все готово.
Отказ от ответственности: Это руководство предназначено исключительно для личного использования. В некоторых регионах запись телефонных разговоров без согласия другого человека является уголовным преступлением. Прежде чем включить эту функцию, ознакомьтесь с законами своей страны.
А почему i3?
Ведь есть много других графических
окружений рабочего стола (Desktop Environment, или коротко DE).
И действительно, выбор на linux довольно велик,
чего не скажешь конечно ни о Windows, ни о MacOs, где нет подобной
гибкости в кастомизации. Я перепробовал разные окружения, и возможно в
дальнейшем подробно расскажу о тех, с которыми имел дело.
В целом у каждой оболочки есть свои плюсы, свои минусы.
Своя история, философия, назначение, и целевая аудитория.
А ставлю я все равно i3, и на это есть ряд причин.
Во — первых i3 — это не DE, а только оконный менеджер.
Отличие в том, что в отличие от DE, оконный менеджер не имеет
предустановленного ПО, программ по управлению и настройкой оболочки.
Что отлично ложится
в философию арча и под мои задачи, когда требуется по кирпичикам
собрать минималистичную систему только с тем, что действительно нужно.
i3 поддерживает возможности отрисовки окон, управления их
расположением, работа с рабочими столами. Все остальное по
кирпичиком собирается из других программ, которые можно заменить
на аналоги, если что — то не устраивает.
Во — вторых, i3 относится к категории “тайлинговых” оконных менеджеров.
Это означает, что окно по умолчанию разворачивается на весь экран, занимая
все свободное пространство. Оболочка позволяет размещать несколько окон
на экране, окна пропорционально делят пространство экрана. Тут проще показать,
чем описать словами. В youtube или просто поиском по картинкам
можно найти кучу видео и изображений с красиво настроенными и не очень
окружениями i3. Я приведу скриншот своего экрана
Данный тип окружения с первого взгляда конечно может отпугнуть. Но
на самом деле, используя все предоставляемые возможности, можно
эффективно работать. Дело привычки и вкуса. К слову i3 не единственная в своем классе,
есть и другие вроде , , и т.д
Кстати любителям тайлинга
советую обратить внимание на , который набирает популярность.
Он содержит все фишки i3, только работает под графическим сервером вместо
стремительно устаревающего и уходящего
В-третьих, i3 создан для работы с клавиатурой, и в работе с ним волей
не волей пользуешься горячими клавишами. Горячие клавиши тут имеют
важную роль. И любителям все делать через клавиатуру должно понравиться.
В-четвертых, i3 благоволит минималистичности. Минимум UI нагроможденностей.
Все настройки системы производятся из файловых конфигов.
Можно использовать любые программы конечно же, но очень хорошо тут
заходят именно минималистичные, консольные утилиты вроде ranger как
файловый менеджер, и тому подобное.
В-пятых, это минимальные системные требования. Сам i3 легковесен и не
прожорлив. Потребляет минимум оперативной памяти. Если у Вас слабое железо,
то это несомненно большой плюс. У меня допустим в мак нет возможности добавить оперативной памяти, т.к. она распаяна.
А сменить ноутбук пока не получается. Были попытки, но пока неудачные,
возможно позже расскажу об этом в отдельной статье.
В-шестых это наверное уникальность. Из — за не большой распространенности
как самого линукса, так и арча (по сравнению с убунто подобными), так и
самой i3, выглядит оболочка довольно экзотично. И это не может не радовать) Когда вокруг у всех винда, маки,
или “убунты на гномах”, i3 выделяется из толпы, как ни крути. И то, как
быстро и удобно можно быстро укрощать с помощью нее свои задачи,
поражает глаз случайных свидетелей. А это всегда повод завести беседу
Итак я насчитал шесть причин. Возможно что — то упустил, но суть такова,
что стоит один раз попробовать самому, а там уже решить, стоит оно того,
или нет) Ведь действительно тайлинг не каждому зайдет.
Устройство конфига в i3WM
По умолчанию конфиг i3WM находится в папке ~/.config/i3
Вообще для того чтобы виртуозно работать с конфигом i3wm надо всего лишь знать что все что идет после # — комментарий, и еще три вещи :
1) Запуск программ происходит с помощью exec, для того чтобы наш оконный менеджер что то запустил используем следующий шаблон
exec <команда>
- Пример
exec compton
При запуске i3 — запуститься и композитор compton - Пример
exec ~/script.sh
При запуске i3 — запуститься скрипт который лежит в домашней папке под именем script.sh - Пример
exec nitrogen — -restore
При запуске i3 — запуститься nitrogen с опцией restore
2) Установка переменных. В i3wm можно создать переменные, работает это все как define в C++. На место переменной встанет заданная ей строчка. Переменные можно задать с помощью set.
set $<имя переменной> <значение>
- Пример
set $color #023537
Переменной $color задано значение #023537 - Пример
set $fileManager pcmanfm-qt
Переменной $fileManager заданное значение pcmanfm-qt
Переменные удобно использовать создавая блок настроек, дабы потом не бегать по конфигу i3wm и не искать нужный пункт.
3) Комбинации клавиш задаются с помощью bindsym, синтаксис предельно прост
bindsym <комбинация> <действие>
- Пример
bindsym $mod+1 workspace 1
При нажатии mod клавиши и цифры 1 — мы перейдем на рабочий стол 1. - Пример
bindsym XF86Tools exec firefox
При нажатии кнопки Tools — запустится FireFox - Пример
set $press XF86Search
set $search dmenu
bindsym $press $search
При нажатии заданной в переменной кнопки — будет выполнена заданная в другой переменной программа.
В начале конфига стоит поправить пару строчек на свой вкус :
set $mod Mod4 # Установка mod клавиши
font pango:xos4 Terminus 8 # Установка шрифта для рамок окна
Теперь давайте поглубже копнем в создание горячих клавиш.
Скорей всего у вас на клавиатуре будет 6той ряд клавиш, который хочется использовать по полной. Что бы узнать имя клавиши я использую xev.
Запустите xev , и наведя на белое окно нажимайте нужную клавишу что бы узнать ее имя. Для удобства анализа 6го ряда запускайте его так
xev | grep XF
Этого было бы достаточно если бы не пару проблем с которыми я столкнулся когда пытался настроить некоторые клавиши.
1) Регулировка громкости. Я использую pactl для этих целей, и для работы кнопок +- и переключения состояния микрофона и звука я использую вот такие бинды
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle
bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle
2) Регулировка яркости. Вообще вряд-ли это будет проблемой, но для того что бы более менее избавить вас от гугления — я просто покажу как это делается
bindsym XF86MonBrightnessUp exec xbacklight -inc 6
bindsym XF86MonBrightnessDown exec xbacklight -dec 6
Вывод
Прочитав этот гайд вы точно сможете настроить оконный менеджер i3WM под себя, и иметь неповторимую среду рабочего стола. Лично от себя могу добавить что именно благодаря знакомству с i3WM я осознал насколько гибок Linux, и что можно работать именно с теми инструментами которые тебе удобны. В этом плане i3WM тебя не ограничивает, надо лишь только посидеть за конфигом.
В отличие от awesome его настройки записываются в обычном текстовом файле.
Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.
Установка
i3wm представлен в репозиториях Debian, Arch, Gentoo, Ubunto, FreeBSD, NetBSD, OpenBSD, OpenSUSE, Mageia, Fedora и Exerbo. Я буду рассказывать на примере Ubuntu 12.04.
Нужный пакет называется i3, поэтому:
# apt-get install i3
Теперь на экране ввода пользователя и пароля можно выбрать «i3» в качестве оконного менеджера.
Настройка
При первом запуске вам предложат выбрать клавишу-модификатор. Я выбрал win для совместимости с большинством приложений.
Добавим переключение на русскую раскладку по Alt+Shift, автозагрузку dropbox, переключение между рабочими столами по mod+Control+Left/Right, блокировку экрана по mod+Control+l и спящий режим с блокировкой экрана при выходе из него по mod+Control+s.
Переключение раскладки клавиатуры настроено с помощью setxkbmap. Для этого служит
$ setxkbmap «us,ru» «,winkeys» «grp:alt_shift_toggle»
Чтобы не вводить её каждый раз после перезагрузки, создадим в корневой папке пользователя файл.xsessionrc, сделаем исполняемым и приведем к виду:
#!/bin/sh
exec setxkbmap «us,ru» «,winkeys» «grp:alt_shift_toggle»
Для автозагрузки Dropbox .xsessionrc будет выглядеть так:
#!/bin/sh
exec setxkbmap «us,ru» «,winkeys» «grp:alt_shift_toggle» &
dropbox start &
Теперь при следующем заходе в i3wm будут доступны русская и английская клавиатура.
Настройка i3 обычно производится с помощью пользовательского конфига. Создадим папку ~/.i3 и скопируем в нее шаблон конфигурации:
$ cp /etc/i3/config ~/.i3/config
Использование
Некоторые стандартные горячие клавиши, которые работают по умолчанию:
mod+Enter
открывает терминалmod+d
запускает dmenu (меню сверху экрана, которое по мере ввода с клавиатуры названия приложения предлагает варианты для запуска)mod+Shift+Q
закрывает активное окно
mod+v
включает режим вертикального тайлинга (экран будет делиться горизонтально)mod+h
включает режим горизонтального тайлинга (экран будет делиться вертикально)
mod+w
включает режим вкладок (каждое окно на рабочем столе занимает весь экран, сверху видны вкладки)mod+s
включает стековый режим (заголовки окон один под другим, каждое окно занимает весь экран)mod+e
возвращает стандартный режимmod+Shift+Space
переключает окно в режим плавающего и обратно
mod+Left/Right/Up/Down
перемещает фокус в пределах рабочего столаmod+Shift+Left/Right/Up/Down
перемещает текущее окно в пределах рабочего стола
mod+1
и т.д. переключает на рабочий стол с указанным номером
mod+Shift+C
читает настройки из файла конфигурацииmod+Shift+E
выходит из i3wm на экран ввода имени пользователя и пароля
Полные возможности по настройке и использованию i3wm описаны в документации .
Бонус
Если у вас два монитора, или встроенный экран нетбука и внешний монитор, как у меня, то i3wm отлично будет работать на них. Самое главное, что для этого не требуется никаких дополнительных настроек.
Cписок доступных мониторов:
$ xrandr -q
Настроем их работу в паре:
$ xrandr —output LVDS1 —mode 1366×768 —pos 0x0 —output VGA1 —mode 1280×1024 —pos 1366×0
где LVD1 — встроенный в нетбук монитор, его разрешение 1366×768 и он прижат к левому верхнему углу, VGA1 — внешний монитор, его разрешение 1280×1024 и он смещен на 1366 пикселей вправо относительно левого верхнего угла.