Раскрытие окна на весь экран – приятная штука. Иногда. Особенно, когда экран невелик. Вот только есть эта фича не везде, где нужно. Но, “мы не можем ждать милостей от природы, взять их у нее — наша прямая задача”, так, кажись, дедушка мичурин говорил. Посему, вместо того, чтобы надеяться на разработчиков того или иного софта на предмет полноэкранного режима, такое вот решение для fvwm
Позначка: fvwm
FVWM и переводы gettext
в fvwm есть хорошая штука – встроенная поддержка gettext. все сроки описанные как $[gt.String]
являются переводимыми. одна проблема, как это все извлечь и запихать в .po файл. руками – неспортивно, писать отдельную тузлинку – как-то чрезмерно. наиболее оптимальный вариант – внедрить поддержку этого дела в какой-нибудь из существующих инструментов.
я выбрал пакет intltool. везде его использую, реализован он на perl-е, что весьма лепо, и для подобных задач самое оно. патчик получился на удивление простеньким
Read в конфиге FVWM
в man fvwm
по поводу команды Read написано следующее – This looks for file config in $FVWM_USERDIR and $FVWM_DATADIR directories, as described in Read.
но вот чтобы работала таки $FVWM_DATADIR, т.е. переменная окружения, а не FVWM_DATADIR, т.е. макрос m4, определяемый и используемый на момент compile-time, не неизменяемый в runtime, приходится таки напильничать.
надфиль следующий
--- fvwm-2.6.7/fvwm/read.c.orig 2016-12-07 14:12:09.000000000 +0200 +++ fvwm-2.6.7/fvwm/read.c 2016-12-07 14:19:43.728814143 +0200 @@ -239,8 +239,14 @@ if((f = fopen(full_filename, "r")) == NULL) { - full_filename = CatString3( - FVWM_DATADIR, "/", filename); + char *datadir = getenv ("FVWM_DATADIR"); + + if (datadir) + full_filename = CatString3( + datadir, "/", filename); + else + full_filename = CatString3( + FVWM_DATADIR, "/", filename); f = fopen(full_filename, "r"); } }
FVWM и буфер обмена
В связи с переходом на gtk3 встал вопрос о менеджере буфера обмена. Всякие parcellite и клоны, мягко говоря, дерьмецо. Заточены в основном под gtk2. Да и хренова туча всякой дополнительной лабуды в них мне и в хер не уперлась. Пришлось воротить что-то свое. В принципе, все, что мне нужно – это хранить некую не очень большую историю и иметь возможность выбрать нужный кусок.
В результате родилось следующее. Небольшой скриптик, использующий xclip для управления буферами и fvwm для его периодического дергания и организации меню выбора нужного куска.