LINUX.ORG.RU

Будни NetBSD-раба

 emacs-like, , , , vi-like


5

2

Обычный будничный вечер. На скриншоте процесс допиливания напильником одного из пакетов в pkgsrc/wip.

За скриншотом, очевидно, пыхтит NetBSD-8.0. Нравится эта ОС. Правда из-за нехватки рук имеет небольшую кучку всяких недоработок. Например, устаревшее fuse API, из-за которого теперь не работает fuse-ntfs (читать NTFS можно, но не писать). В видосиках присутствуют постоянные дропы. Не знаю с чем это связано. Возможно с устаревшей MesaLib (в NetBSD собирается лишь 7-ая версия).

Ещё немного расстраивает, что само pkgsrc-сообщество теперь не очень сильно обращает внимание на эту систему. Хотя pkgsrc произошёл изнутрей и является ключевой частью NetBSD. Одним из самых вопиющих примеров на моей памяти было то, что у пакета firefox52 по-умолчанию была включена опция alsa, а не oss (уже исправлено). То есть, чтобы получить звук в Файерфоксе на Нетке, нужно было пересобирать его пакет с нужными опциями.

Но, тем не менее, притягивает она чем-то меня. Прямо ХОЧЕТСЯ ВЗЯТЬ И ЗАЩИТИТЬ ДОРАБОТАТЬ, так сказать.

Рабочее окружение

Тут всё довольно просто. У меня работает связка herbstluftwm+sxhkd. herbstluftwm с отключёнными хоткеями отвечает за управлением окнами. Обработка хоткеев возложена на sxhkd.

Почему sxhkd? Потому что у sxhkd есть такая уберудобная вещица, как аккорды (chords), т.е. к нему возможно прикрутить emacs-like управление. А единственный оконный менеджер, у которого есть аккорды - StumpWM (идейный наследник emacs'а в мире WM). Благодаря тому, что аккорды sxhkd не завязаны на всякие контролы и прочие не очень приятные клавиши, то они выглядят в миллиард раз более удобным вариантом, чем классические хоткеи. Более того, они не только освобождают руки от сложных клавиатурных комбинаций, но и увеличивают возможное их количество в разы. Плюс ещё они позволяют делать логичные и легкозапоминаемые комбинации (типа Meta+e; a; b, где Meta+e - execute, a - application, b - browser).

Следовательно, благодаря большему возможному количеству комбинаций, управление можно разделить на несколько слоёв: один слой управляет запуском приложений (например Meta+e; a; b - вызов браузера), а другой окнами с помощью vi-like комбинаций (например Meta+d; l - переместить фокус влево, или Meta+d; g; w - перейти на воркспейс под названием «web»). На этом можно даже не останавливаться, но моя фантазия смогла выдавить лишь такое.

Сам herbstluftwm почти (если не) полностью настраивается из шелла, что делает его связку со sxhkd очень гибкой.

И благодаря такой связке, vi-like приложениям и соответствующему менеджменту окон, я при работе с кодом не прикасаюсь к мыши от слова совсем, что для меня очень удобно.

Хочется написать ещё свой графический vi-like тулкит, чтобы на него перевести или переписать нужные мне приложения. Но это мечты.

Панелек нет. При необходимости, вызываю dzen для отображения нужной информации. Как в правом верхнем углу на скриншоте.

Из используемых приложений можно выделить:

  • ranger

    Очень удобный файловый менеджер. На седьмой Нетке добился его полной работоспособности в том числе и превьюшек картинок. На восьмой сломался. Какая-то проблема с curses. И пока я чесал репу над ней, набрёл на такое перспективное чудо.

    Без ranger'а живётся, кстати, очень и очень плохо.

  • vim - очевидно
  • mpd + ncmpc

    Раньше пользовался, но mpd как-то сильно разжирел и начал требовать шестой gcc, которого в Нетке из коробки нет. Есть в pkgsrc, конечно. Но что-то не в настроении ради одного mpd ставить ещё один компилятор. Сейчас использую mpv для музыки. Выглядит примерно так.

    Больновато, конечно, после mpd и ncmpc, но как есть. Склоняюсь сейчас ко cmus'у. Но нужно посмотреть ещё какие-нибудь плееры с vi-like управлением и возможностью демонизации.

  • Собственно, mpv

    Не только для аудио, но и для видосиков и загнивающего Ютуба.

  • zathura - книжки.
  • Firefox 52 ESR + Vimperator

    Понимаю, что Фурфокс мёртв и нужно искать что-то ещё. Но что-то пока не находится. В самых ближайших кандидатах стоит luakit, но меня очень сильно напрягает постоянное чтение диска при любом скролле. Как я понял, это проблема всех webkit-gtk based браузеров.

Впринципе, всё основное рабочее окружение.

Если хочется понаркоманить, то можно сделать что-то типа такого. Даже в таком случае вполне комфортно работать. Но всё же намного удобнее расфасовать всё по воркспейсам, коих у меня около 13-ти и больше.

>>> Просмотр (1920x1080, 184 Kb)

Deleted

Проверено: Shaman007 ()
Последнее исправление: sinePowder (всего исправлений: 8)

Ответ на: комментарий от Deleted

Отмечу, что проблема, как оказалось, была именно при проигрывании mp3, ибо, например, тот же flac проигрывается нормально. Также отмечу, что mpg123 в mp3-шках работал нормально.

Это очень странно. Думаю дело таки в либе которую использует mpv для декодирования mp3.

Из недавнего: тамошняя функция strstr() не могла найти фрагмент текста в файле.

Попробуй для теста ужать код до минимального размера чтобы можно было нормально воспроизвести ошиибку. Затем прогони под valgrind-ом, либо дебаггером. А лучше вообще с -fsanitize=undefined.

Если ты уверен что проблема именно в strstr(), попробуй заменить на другую реализацию, благо, их сейчас много и можно откуда-то прямо из интернета скопипастить.

А вообще все эти проблемы попахивают каким-то железным баглом. Ну не верю что ребята из netbsd в стандартной библиотеке обосрались с strstr()!

reprimand ★★★★★
()
Ответ на: комментарий от Odalist

Что с ним не так? Как только в него завезли работающий vaapi, я с удовольствием дропнул mpv и перешел на vlc

Deleted
()
Ответ на: комментарий от Deleted

Что с ним не так?

Раньше был не плохой, а сейчас одно большое глюкалово. Простые .avi, .mkv файлы обрывает, качество картинки отстой. С SMPlayer такого не наблюдается. Отличное качество картинки, и все такое. Даже тот самы старичек MPlayer в разы лучше этого вашего vlc.

Odalist ★★★★★
()
Последнее исправление: Odalist (всего исправлений: 1)
Ответ на: комментарий от Odalist

vlc2 не использовал, т.к. vaapi в нем не работал. в vlc3 поправили, перешел на него

Deleted
()
Ответ на: комментарий от Odalist

Я согласен, что всегда нужно пилить свой внеочередной велосипед с блекджеком и тян. И потом как в мире фронтендера на js - 100500 фреймворков и каждый пилит очередной для себя. Но имхо тренировка всегда хороша и как примерный показатель, как не стоит делать тоже. Гуд лак.

dengolius
()
Последнее исправление: dengolius (всего исправлений: 1)
Ответ на: комментарий от dengolius

Я согласен, что всегда нужно пилить свой внеочередной велосипед

Но ведь SMplayer лучше. Или я не прав?

Odalist ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.