Домашний arch’ик для учёбы и веселья: dotfiles. Ещё несколько скринов:
- на первом — менюшка rofi и статус-бар в кратком виде;
- на втором — уведомления pacman’а и статус-бар в расширенном виде;
- на третьем — автодополнение zsh и скрытый статус-бар (обычно так и использую);
- на четвёртом — firefox (почти дефолт), переводчик выделенного текста и ncmpcpp.
Все цвета взяты из темы gruvbox.
Если вам кажется, что на скринах всё какое-то большое, то это специально: так как у меня плохое зрение, я увеличил dpi (вроде бы по ГОСТ’ам комфортный размер символа 20’—22’ угловые минуты, но, как рассчитывать, уже не помню).
Программы
- i3wm — для тайлинга.
- i3status — для панельки.
- dunst — для оповещений.
- rofi — для менюшек.
- zsh — для шелла.
- rxvt-unicode — для эмулятора терминала (не очень нравится, как работает «вторичный экран»).
- ttf-ubuntu-font-family — для шрифтов (да, меня тоже бесит точка в нуле).
Также с переменным успехом использую: redshift, clipmenu, mpd+ncmpcpp, mpv, evince/zathura, texstudio, nautilus, steam, wine и прочее. Короче, установка не минимальная (за несколько лет использования система разбухла, но в целом терпимо).
zsh-cкрипты
.local/bin/genu
— скрипт с простым синтаксисом для вывода менюшек через rofi..local/bin/gstatus
— урезает статус-бар: i3bar запускает именно его, а он уже запускает i3status и убирает ненужные секции. При получении сигнала USR1 происходит переключение между полным выводом и кратким..local/bin/geck
— оповещает о доступных обновлениях (возможно, потом прикручу проверку пакетов из AUR’а)..local/bin/gtrans
— переводит выделенный текст (используется translate-shell).
Описание genu
Используется модифицированная тема gruvbox-dark-soft (оставлен только listview): .config/rofi/grznych.rasi
.
Функция rt
принимает массив, который задаёт, что́ будет отображаться, как оно будет отображаться и что будет происходить при выборе соответствующего пункта меню. Например:
# title key command
ex=(Shutdown wu systemctl\ poweroff
Reboot ru systemctl\ reboot
Suspend sa systemctl\ suspend
Lock l glock
Reload\ i3 e 'i3-msg reload && dunstify i3:\ reload'
Restart\ i3 t i3-msg\ restart
Config\ i3 c gedit\ ~/.config/i3/config)
- Первый столбец — заголовок: что́ будет отображаться.
- Второй столбец — ключи.
- Первый символ — хоткей: при нажатии на него будет выбран этот пункт меню, также этот символ будет подчёркнут в заголовке (если он не является первым символом), например: Shutdow̲n.
- Второй символ (необязательный):
- u, чтобы пункт меню был красный;
- a, чтобы пункт меню был жёлтый.
- Третий столбец — команда, которую нужно запустить.
Теперь, чтобы вывести эту менюшку, нужно передать имя массива в качестве параметра: genu ex
.
zsh-промпт
За всё отвечает функция precmd
в .zshrc
.
- Первый блок — время. Цвет:
- green, если от 10:00 до 22:00;
- red, если от 01:00 до 07:00;
- yellow, иначе.
- Второй блок — текущая директория. Цвет:
- cyan, если директория находится в хомяке;
- magenta, иначе (симлинки разрешаются, поэтому если в хомяке находится симлинк на директорию за пределами хомяка, то цвет будет маджента).
- Третий блок (отображается, если директория находится под контролем git) — текущая ветка и, если производится, текущая операция (merge, rebase). Цвета:
- blue, если нет никаких изменений (неотслеживаемые файлы не учитываются);
- green, если все файлы находятся в области подготовленных (осталось сделать коммит);
- yellow, если есть изменённые файлы;
- red, если есть изменённые файлы и файлы в области подготовленных.
- Символ
$
. Цвет:- green, если код возврата последней команды 0;
- red, иначе.
Правый промпт отображает код возврата последней команды: цвета аналогичны символу $
.
Статус-бар
- Первый блок — информация о wi-fi (имя сети и качество связи).
- Второй блок (не отображается в кратком виде) — занятое место на первом разделе (
/
). - Третий блок (не отображается в кратком виде) — занятое место на втором разделе (
/home
). - Четвёртый блок (не отображается, если батарея заряжена) — заряд батареи.
- Пятый блок — громкость.
- Шестой блок — время. В расширенном виде также отображается дата.
Цветами управляет сам i3status.
>>> Просмотр (1366x768, 219 Kb)