Это старая версия документа.
Содержание
Установка fvwm-patched в Ubuntu 9.10
fvwm-patched - это fvwm 2.5.28 и семнадцать патчей к нему, изменяющих некоторые аспекты поведения этого WM и добавляющих новый функционал. fvwm-patched существует в виде пакета в таких дистрибутивах, как Gentoo или Archlinux и без проблем собирается в Ubuntu.
fvwm-patched имеет смысл устанавливать, если нужны обеспечиваемые патчами функции. Например, патчи RoundedCorners.patch
и ButtonWidth.patch
позволяют использовать для декорации окон в fvwm темы от xfvw4 - оконного менеджера XFCE.
Список патчей и описание их функций
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 и патчи соответственно можно скачать по этим ссылкам:
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 build-essential
Распаковываем архивы с исходниками fvwm и патчами в одну папку.
Накладываем патчи:
В папке с исходниками и патчами:
patch -p0 < ./Имя_патча
./configure make sudo make install<code> Для того, чтобы появлась возможность запускать fvwm-patched из GDM, нужно создать файл ''/usr/share/xsessions/fvwm.desktop'': <code>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