- Ubuntu 20.04 LTS
- i3wm
Минималистичный, не самый красивый конфиг, но довольно функциональный.
Приложения делятся по рабочим столам:
1 — браузер
2 — ide, терминал и т.д для работы
3 — мессенжеры
4 и дальше — остальные приложения
Такое разделение позволяет с любого открытого окна перейти в нужное окно одним нажатием шортката (super + номер рабочего стола).
Вторая концепция навигации, которую я пробовал — это window меню для rofi. Что-то типа спотлайта на макоси, вводишь пару букв с названия окна, жмешь Enter и попадаешь к этому же окну. Но от такого решения решил отказаться, так как при тайлинговом wm удобнее и быстрее первое.
Комбинации клавиш немного упрощены, по сравнению с дефолтной в i3wm.
Навигация по принципу vim сделана, через hjkl (по умолчанию смещено на одну клвишу вправо).
Как альтернатива i3 рассматривался bspwm, но отсутствие таббирования окон с коробки оттолкнуло. Да и в целом i3 показался удобнее и понятнее.
Статус-бар — polybar. От него почти ничего не требуется, долго вообще на i3bar сидел. Решил сменить потому что polybar предоставляет больше возможностей, правда на текущий момент мной не востребованный.
Файловый менеджер — ranger (основной и единственный).
Для запуска приложений rofi с настройками из репы на git adi1090x/rofi.
Скриншотилка — flameshot (хотелось бы что-то на scrot, но требуется редактирование скринов минимальное, поэтому решил остановиться на flameshot). Из репозитория работала не корректно, собрал с исходников.
Пользуюсь ide от jetbrains (pycharm, phpstorm) с distraction free mod, material ui, а так же vim плагином. С этим очень выручает i3, потому что все ide нужны мне на втором рабочем столе, а их запуск довольно длительный по времени. Возникает ситуация, когда начал запуск на втором рабочем столе, переключился на другой и уже там появилось окно.
Но wm позволяет запускать окна с определенным классом на определенном воркспейсе:
for_window [instance="jetbrains-*"] move container to workspace $ws2;
Получается, что как бы я не запускал приложения от jetbrains они окажутся на втором рабочем столе.
Для клавиатуры использую переключения языка по capslock:
setxkbmap -layout "us,ru" -option "grp:caps_toggle"
Когда была потребность в 3-х разных раскладках (англ, ру и укр) использовал модифицированные раскладки таким образом, чтобы caps переключал ру -> англ и наоборот, а scroll lock англ -> укр и наоборот.
Задумка в том, чтобы переключать языки одной кнопкой и иметь возможность в одно нажатие с текущего языка переключиться на любой другой.
Для буфера обмена использую copyq. Он предоставляет множество возможностей с разными скриптами и т.д. К примеру выгрузка картинок с буфера обмена на какой-то сервер и замена картинки в буфере на ее ссылку. Но мне от него нужна только история и поиском и управлением в vim-раскладке. Есть возможность забиндить открытие меню трея на шорткат (при этом оно рисуется рядом с курсором), что очень удобно. Сам шорткат у меня Ctrl+Shift+Z — сложилось исторически, на старой клавиатуре с высокими кейкапами было удобно нажимать одним пальцем. Сейчас на низкопрофильной клавиатуре ноутбука одним пальцем это не нажать, но все равно устраивает.
Сетевой менеджер network-manager с nm-applet с гнома, за неимением альтернативы получше. (буду рад, если подскажете, что лучше). Второй вариант — сделать сетевое меню через rofi и nmcli, но я пока не уверен, что это покроет все сценарии. Хотя возможно с vpn конекшенами справится.
Bluethooth через blueman, тоже за неимением альтернативы получше.
Для управления яркостью подсветки пришлось пользоваться софтиной c гитхаб репы multiplexd/brightlight. Она по сути просто меняет значение в /sys/class/backlight/amdgpu_bl0/brightness. Такое решение используется потому, что остальные да в моем случае не работали.
Для перехода по папкам проектов используется множество алиасов, сделанных по принципу cd + первая буква-две названия проекта.
Также есть несколько решений сделанных на junegunn/fzf (тоже репа гита). Это скприпт для очень удобного поиска, который возвращает в stdin путь к наденому файлу. На основе этого сделаны следующие алиасы:
1. alias rs="ranger "$(find. -type d | fzf)""
2. alias cds="cd "$(find. -type d | fzf)""
3. alias vs="vim "$(find. -type f | fzf)""
1 — Ищет по папкам и открывает нужную в ranger
2 — То же но для cd
3 — Ищет по файлам и открывает в vim
Большой плюс fzf в том, что он может превратить coni3co в .config/i3/config, что очень ускоряет навигацию по файлам и папкам.
Живой пример: ввожу rs, печатаю pflasflat, попадаю в папку ./Projects/flask_app/flaskr/templates открытую в ranger
По опыту использования линукса в целом — перешел на него пару лет назад скорее по работе. Мой стек технологий на лиунуксе куда лучше работает, к тому же в итоге все хостится на linux серверах, так чего бы на и не разрабатывать на нем?
В итоге это оказалось настолько удобно и лучше чем винда, что я втянулся польностью и сейчас у меня вообще нету компьютера с виндой, даже в качестве второй системы.
Большинство вещей предпочитаю делать через термнал. У меня даже нету файлового мененджера или тедактора текста (помимо ide) c графическим интерфейсом.
Когда нужно было часто и активно работать с файлами на серверах, пользовался Mightnight commander. Так как он позволял удобно довольно работать с сетевыми протоколами (ftp, sftp и т.д.), а так же с архивами. Но от него оказался сначала за ненадобностью, а потом еще и потому, что он немного наружает концепцию, к которой я стремлюсь — маленький софт для узких задач, отказ от комбайнов и тяжелого софта, ну и vim-style раскладка. Сейчас предпочитаю rsync, scp и curlftpfs.
Есть еще кое-какие скрипты и уловки, но они уже довольно специализированные.
На этом все, спасибо за внимание!
Комментарии
18:40
19:04
00:25
19:22
А то давно смотрю в сторону qtile или чего-то подобного
19:29
ну и я помню для полибара тоже есть настройка на каком экране (или на всех) отображать бар
00:55
понятно, что если каждый день с новым монитором работать, это не очень удобно, но в общих случаях катит.
полибар может даже на каждый монитор отдельный бар выводить, как я и делал.
на ноуте небольшой бар с скрина, на мониторе (сейчас без монитора пользуюсь, но раньше с ним был) бар побольше и немного иначе расположены элементы на нем
00:30
19:22
Тоже юзаю капслок очень удобно когда две расскадки (где ты был полгода назад искал какое обозначение капслока в конфиге))) )
Полибар клевая тема но там надо сидеть и заморачиваться, ренжер так и неосилил не зашел мне вим поэтому только мс
for_window [instance="jetbrains-*"] move container to workspace $ws2;
тоже юзаю - единственно что когда мне надо открыть два окна шторма то не могу расположить на разных столах
00:35
а насчёт шторма - ты же не делаешь два проекта одновременно. открывай как табы и хорошо будет
02:57
19:59
Парочка альтернатив fzf:
https://github.com/jhawthorn/fzy - C
https://github.com/lotabout/skim - Rust
P.S. Во второй раз ссылки не исчезнут? :)
00:58
20:05
22:09
23:11
23:18
Я на Kubuntu такое исполнял когда я скриптом прибивал Kwin и вместо него запускал i3 и было очень интересно у меня была кдешная панель и тайлинговые окна
00:39
раньше был ещё нетинсталер на 80мб, который все по сети тянул. но для 20.04 такого почему-то нет, или я плохо искал.
ставится все очень просто с консоли, много готовых гайдов есть уже
08:09
08:32
htt p://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/
22:25
23:21
00:33
Просто забавно, что человек стремится к минимализму, что аж mc для него оказался "комбайном", но при этом продолжает работать за ide...
00:47
00:54
00:46
а доп утилиты ide я не использую. т.е. это просто редактор для меня, хоть и очень крутой.
но к отказу от иде я понемногу стремлюсь
00:52
А так я том, что просто многие не использует и половины возможностей ide. А для начинающих ide вообще противопоказаны.
01:11
а про начинающих не очень согласен. если цель - научиться, то да, лучше обойтись редактором, а если цель - быстро погрузиться в технологию и начать работать, то без ide никуда
01:14
здесь далеко не все всё знают))
01:18
как только соберусь, сделаю
01:24
22:41
скриншот не блещет,
но почиталка под ним - просто ОТЛИЧНАЯ!
пять минут удовольствия. СПС.
00:49
спасибо за отзыв)
10:13
10:39
хотя именно этот софт, наверное из-за того, что на java сделан, что в снэпах, что без них работает одинаково.
хотя остальное, к примеру Insomnia, в deb куда лучше чем в снэп
10:49
15:14
ничего подобного, просто ничего выдающегося.
отсутсвие "эффекта ВАУ!"
PS. на днях глянул на свой - ощущение "полной серости". но мне так нравится ибо ничего не раздражает.
22:47
00:30
09:44
11:17
11:24
Пс. Или просто настроить его и прописать в автозапуск. В i3 так
exec --no-startup-id redshift-gtk
11:37
11:41
08:23
10:31
первая - меняем настройки не часто, тогда один раз все растроил и забыл, здесь лучше конфиги текстовые, ибо непонятно зачем весь этот мусор в системе, если им не пользуешься.
вторая: меням настройки часто, тогда быстро запомнишь где какой конфиг лежит и что за что отвечает. опять же лучше и быстрее текстовые конфиги.
сам из этого всего использую только nm, потому что прийдя в какую-то кафешку последнее, что хочется делать - это писать несколько терминальных команд, чтобы приконнектиться к wifi
13:26
https://www.reddit.com/r/unixporn/
15:51
02:13