Минимализм на FVWM прошедший через года.
Привет, Лор!
Мой этап ковыряний FVWM давно позади, уже выкладывал скрин процесса в галерею с описанием вот здесь: FVWM для на ноуте
Начинал с экспериментов с fvwm-crystal, написал некоторое количество модулей на perl, но постепенно отказался от различных элементов окружения из-за ощущения их ненужности.
Позже сформировал для себя концепцию десктопа и живу с ней уже больше 10 лет. И вот стало интересно — что в её рамках можно ещё улучшить?
Из обыденного десктопного, но как по мне - ненужного:
- Значки на рабочем столе — не нужны, так как для запуска/деиконификации/иконификации основных используемых программ есть хоткеи. А для неосновных есть менюшка и rofi. Ну и когда всё свёрнуто, приятнее на чистую-красивую обоину втыкать.
- Несколько десктопов — не нужно, так как монитор всё равно один. И каждый раз на фуллскрин запущена какая-то конкретная прога. Нет смысл по хоткею идти на другой деск, когда по хоткею же можно развернуть другую прогу в текущей рабочей области.
- Тайлинг - не нужен, так как проще переключаться между полноэкранными приложениями - в моём воркфлоу не встречается ситуаций, когда мне нужно видеть сразу два окна разных приложений.
- Заголовки окон — не нужны, так как все действия с окнами удобнее совершать хоткеями.
- Бары со значками для запуска приложений — не нужны как и значки на рабочем столе.
- Бары с инфой о системе или вывод её поверх обоины (конки) — не нужно, так как можно открыть окно с такой инфой по хоткею (тот же конки) — пусть обоина остаётся чиста, а стороны дисплея — не заняты.
- файловый менеджер — не нужен, так как для большинства задач достаточно консоли с ls, cd и вот этим вот всем, а когда недостаточно (файлопомойка, где желательно видеть превьюхи картинок), использую xnview
Итого в остатке:
- Для часто используемых приложений есть хоткеи. По хоткею приложение если не запущено — запускается и максимизируется, если запущено и активно — сворачивается, если свёрнуто — разворачивается.
- Приложения разбиты на «группы исключений». Если разворачивется приложение из группы А, то если есть другое развёрнутое из этой же группы, то оно сворачивается. Но разворачивание аппы из А никак не сказывается на приложении группы Б. Удобно, допустим, все терминалы загнать в группу А, а браузер, в группу Б. Тогда упрощается совместное использование браузера и терминалов. Браузер может быть открыт всё время, а разными хоткеями открываю различные терминалы. После открытия нового терминала остальные сворачиваются, а окно браузера остаётся на месте. Для реализации таких групп написан модуль FvwmUpWindow.
- Приложения на хоткеях: conky, rofi (drun,run), skype, libreoffice, evince, xnview, chrome, calcoo, smplayer, audacious, urxvt. На 4 хоткея забито восемь отдельных сессий терминалов (win+U, win+I, win+O, win+P, win+shift+U …). Восьми терминалов «хватит всем», так что screen/tmux посчитал лишней сущностью. Бэкграунд терминалов подсвечен разными цветами, чтобы не путаться какой сейчас апнут.
- Так же на хоткеях изменение громкости, гаммы, движение, ресайз и прочее с окнами (завязано на hjkl) на тот случай, если не устраивает maximazed вариант.
- По хоткею — WindowList — увидеть, что уже запущено, что-то развернуть, закрыть.
- По хоткею — менюха с основными приложениями. Там и те, что заслужили хоткей и те, что нет, но тоже быстрый доступ удобен. Можно в принципе всё через rofi организовать и десктоп файлы, но пока влом.
- Compton — для спецэффектов: постепенное сворачивание окон, небольшая прозрачность на терминалы.
В ленивом туду:
- Сделать автомонтирование через udiskie
- Прикрутить dunst для оповещений - того же автомонтирования, может чего ещё.
- Ииии… всё. Фантазия закончилась. Вроде всё работает и всё устраивает. Возможности FVWM задействованы по-минимуму (~250 строк конфиг и ~100 — модуль на перле), и можно бы от FVWM отказаться, но не вижу смысла, да и иметь эти возможности про запас кажется разумным. Но вот стало интересно — куда в описанной парадигме можно двинуться дальше и чего такого удобного-прикольного замутить?
PS. Конфиг fvwm, compton, модуль, обоина и скрипт для старта, а также конфиг conky и .Xdefaults с конфигом urxvt - в архиве: https://drive.google.com/file/d/1IGeNjQGs3_oSPqZj8DW0FXOypYb72kwA/view?usp=sharing
>>> Просмотр (1920x2160, 1792 Kb)