Это старая версия документа.


fvwm-patched - это fvwm 2.5.28 и семнадцать патчей к нему, изменяющих некоторые аспекты поведения этого WM и добавляющих новый функционал. fvwm-patched существует в виде пакета в таких дистрибутивах, как Gentoo или Archlinux и без проблем собирается в Ubuntu.

Список патчей с описаниями:

- fvwm-translucent-menus.patch - добавляет возможность сделать в колорсете для меню цвет background прозрачным (translucent), пример:

Colorset 3 fg #888888, Translucent #241F1D 95, sh #3d3d3d, hi #3d3d3d

Прозрачность - «настоящая», сквозь background меню видно не рабочий стол, а окна, находящиеся под ним. Прозрачность пропадает в «оторванном» меню.

Скриншот

- ColourBorders.patch - позволяет задавать для каждого элемента рамки окна свой колорсет, пример:

Colorset 2 fg white, bg darkred Colorset 3 fg white, bg blue Colorset 4 fg white, bg orange Colorset 5 fg white, bg green

Style * FvwmBorder, BorderWidth 7, HandleWidth 7 Style * HilightBorderColorsetRegions 2 2 2 2 Style * BorderColorsetRegions 6 6 6 6 Style * HilightHandlesColorsetRegions 3 3 3 3 Style * BorderHandlesColorsetRegions 4 4 4 4

ResizeOutlineThin.patch - при изменении размеров окна видно «рамку» будущих размеров, а не «решётку», как по умолчанию, пример:

Style * ResizeOutline, ResizeOutlineThin

- Conditionals.patch - добавляет два новых условия - HasTitle и HasBorders для команд fvwm с условиями, пример:

All (CurrentPage, HasTitle, HasBorders) Echo $[w.name]

- FlatSeparators.patch - добавляет стиль меню FlatSeparators, при применении этого стиля разделители отрисовываются толщиной в один пиксель и тем же цветом, что и текст, пример:

MenuStyle * FlatSeparators

- BorderUnderTitle.patch - добавляет возможность отрисовать дополнительную рамку окна под тайтлбаром, стиль рамки - Flat, при скатывании окна в заголовок рамка пропадает, пример:

Style * BorderUnderTitle

- InactiveFont.patch - позволяет установить свой шрифт для неактивного окна (по умолчанию меняется только цвет), пример:

Style * InactiveFont «xft:sans:size=8»

- FluxRoundedCorners.patch - позволяет рисовать закруглённые углы окон и меню, все четыре, два верхних или два нижних, имеет две степени закругления, примеры:

Style * RoundedCornersTop, SlightlyRoundedCorners Слабо закруглённые верхние углы

Style * RoundedCornersBottom Сильно закруглённые нижние углы

Style * RoundedCorners Все углы сильно закруглены

MenuStyle * RoundedCorners, SlightlyRoundedCorners Все углы меню слабо закруглены

- TopBorder.patch - позволяет установить толщину верхней рамки окна, не затрагивая других сторон рамки, пример:

Style * !TopBorder

- ButtonWidth.patch - позволяет задавать в конфигурационном файле ширину кнопок деокрации окна, по умолчанию кнопки могут быть только квадратными. Пример:

TitleStyle ButtonWidth 20

- MultiBorder.patch - позволяет рисовать каждую сторону рамки окна со своей текстурой. Текстуры для углов прикрывают углы, текстуры для рамки рисуются на рамке только методом tiled, требуется указать восемь существующих картинок по часовой стрелке, пример:

BorderStyle Active MultiBorder NW.png N.png NE.png E.png \ SE.png S.png SW.png W.png – flat

или, для меню:

MenuStyle * BorderWidth 5 MenuStyle * menuface multiborder NW.png N.png NE.png E.png \ SE.png s.png SW.png W.png MenuStyle * Background White

- FvwmButtonsTips.patch - Нужна информация

- FvwmIconMan.patch - позволяет установить закруглённые углы кнопок в FvwmIconMan и установить расстояние между кнопками по горизонтали, пример:

*FvwmIconMan: RoundedCorners True *FvwmIconMan: Padding 3

- Hover.patch - позволяет задавать текстуры для кнопок декорации активного окна, находящихся под курсором мыши. Пример:

Buttonstyle Hover True AddButtonStyle 4 ActiveHover (Pixmap max-hover.png – flat)

- FirstItemUnderPointer.patch - нужна информация.

- TextOffset.patch - позволяет сдвигать текст в заголовке окна по вертикали относительно его нормального положения, пример:

TitleStyle TextOffset -1

- ThinGeometryProxy.patch - нужна информация

Я предпочитаю устанавливать fvwm-patched потому, что патчи позволяют улучшить оформление окон и несколько облегчить настройку, в частности, использовать темы для xfwm4 с минимальными изменениями.

Для установки fvwm-patched необходимо удалить fvwm, если он уже установлен.

Не забываем сделать бэкап всех конфигурационных файлов.

Скачиваем исходники и патчи:

ftp://ftp.fvwm.org/pub/fvwm/version-2/fvwm-2.5.28.tar.gz http://aur.archlinux.org/packages/fvwm-patched/fvwm-patched.tar.gz

Устанавливаем зависимости:

sudo apt-get install libstroke0-dev libgtk2.0-dev libpng12-dev libreadline-dev librplay3-dev libxpm-dev libxrender-dev librsvg2-dev libxt-dev

Распаковываем архивы с исходниками fvwm и патчами, я свалил их в одну папку.

Накладываем патчи:

В папке с исходниками и патчами:

patch -p0 < ./Имя_патча

./configure make sudo make install

Для того, чтобы появлась возможность запускать fvwm-patched из GDM, нужно сделать следующее:

sudo nano /usr/share/xsessions/fvwm.desktop

[Desktop Entry] Encoding=UTF-8 # This is the name you'll see for the session in gdm Name=FVWM-patched # This is the comment Comment=fvwm-patched # The command Exec=/usr/local/bin/fvwm Type=Application