соляризованная цветовая схема alsamixer

соляризованная цветовая схема alsamixer

Так что я просто изменил цветовую тему терминала (термита) на solarized(light), но, похоже, это не повлияет alsamixer. Я хотел бы иметь светлый фон. Я изменил конфигурацию termiteи .Xresourcesна solarized color-theme...

введите описание изображения здесь

решение1

Это потому, что alsamixerактивно устанавливает свой фоновый цвет на черный. С точки зренияEscape-коды ANSIэто означает, что он отправляет ^[[40mпоследовательность. Вы можете убедиться в этом, поигравшись с его выводом:

  1. Запустить alsamixer, перенаправив вывод в файл:

    $ alsamixer > alsamixer.ansi
    

    Используйте Escили Ctrl+Cдля выхода. Вы также можете использовать

    $ alsamixer | tee alsamixer.ansi
    

    если вы хотите одновременно увидеть результат.

  2. Удалите проблемные части:

    $ sed -r -e 's/^[\[40m//g' -e 's/^[\[H^[\[2J.{,80}$//' < am.ansi
    

    первое регулярное выражение удаляет черный фон, а второе удаляет последовательность для очистки экрана при выходе. Обратите внимание, что ^[на самом деле это один символ ESC, в терминале обычно создается Ctrl+V Esc. Последний экран alsamixer теперь должен отображаться с фоном по умолчанию.

Вы также можете попробовать объединить это в цепочку:

    $ alsamixer | sed -u 's/^[\[40m//g'

который в некоторых случаях может время от времени показывать вам alsamixer - проблема здесь в том, что вывод производится в одну строку и, таким образом, sedначинает обрабатывать ее только после того, как ее внутренний буфер достаточно заполнится. Таким образом, вы можете забыть об интерактивности.

Что касается вашего вопроса: исправление — это либо перекомпиляция, либо фильтр, который удалит последовательности с минимальной буферизацией.

Связанный контент