tartan, ты в fvwm тайлинг случаем не делаешь? Про сторонние утилиты не знаю, но жесты мыши не такая уж незаменимая вещь, разные виды максимизаций окна хотела повесить. Ты не планируешь "конфиг этой темы" продолжить, чтобы для новичков был уже более-менее привычно выглядящий и работающий WM?
Перейти на другой рабочий стол
GotoDesk [ пред | арг1 [арг2] [мин макс] ]
Эта команда имеет 1-4 аргумента. Единственный аргумент рассматривается как относительный номер рабочего стола. Два аргумента понимаются как относительный и абсолютный номера рабочего стола. Три аргумента - относительный номер рабочего стола и минимум и максимум допустимого диапазона. Четыре аргумента определяют относительное, абсолютное, минимальное и максимальное значения (номера рабочих столов могут быть отрицательными). Если константа пред дана как единственный аргумент, будет использован номер последнего посещенного рабочего стола.
Если арг1 не ноль, то номер рабочего стола будет равен номеру текущего рабочего стола плюс арг1.
Если арг1 ноль, тогда номер нового рабочего стола будет арг2.
Если даны мин и макс, номер нового рабочего стола будет не меньше, чем мин, и не больше, чем макс. Значения вне этого диапазона будут усечены (при абсолютном номере рабочего стола) или возвращены в начало диапазона (при относительном).
Пример:
#переключаться между рабочими столами 0 и 1
GotoDesk 1 0 1
Номер следующего рабочего стола в данном случае равен предыдущему плюс арг1=1, но поскольку установлены границы диапазона (мин=0 и макс=1), то если номер текущего рабочего стола равен 1, следующим рабочим столом будет стол 0, а не стол 2.
MoveToDesk [ пред | арг1 [арг2] [мин макс] ]
Перемещает активное окно на другой рабочий стол. Аргументы такие же, как в команде GotoDesk. Без аргументов перемещает окно на текущий рабочий стол.
Список окон
WindowList [[расположение] [опции]]
Много вариантов расположения, я использую такой:
Root c c - список окон будет в центре экрана
Если расположение не указано, то список окон будет там, где указатель мыши
Опции:
CurrentDesk - окна только с текущего рабочего стола
CurrentDesk - активное окно будет последним в списке (иначе оно будет самым первым)
IconifiedAtEnd - свернутые окна в конце списка
NoCurrentDeskTitle - не выводить название рабочего стола
NoGeometry - не показывать размеры окон
NoHotkeys - не показывать хоткеи
MaxLabelWidth - максимальная ширина окна
Я без функции сразу привязываю к комбинации клавиш Alt+Tab
#список окон по центру, только с текущего рабочего стола, с привычным поведением
Key Tab A M WindowList Root c c NoGeometry MaxLabelWidth 40 NoHotkeys CurrentDesk IconifiedAtEnd CurrentAtEnd NoCurrentDeskTitle
Поведение субменю
MenuStyle название_стиля [опции]
Опции:
PopupOffset [арг1] [арг2] включает в себя два аргумента, которые указывают. где будет находиться субменю относительно основного. Если оба значения равны нулю, левый край субменю будет там же, где и левый край главного меню. Если первое значение не равно нулю, субменю будет смещено на столько пикселов вправо (влево, если значение отрицательное) от основного. Если второе значение не равно нулю, то субменю будет смещено на столько процентов ширины главного меню вправо (влево).
PopupDelay [число] - время появления субменю после наведения на него мышки (миллисекунды)
PopupImmediately - субменю появляется сразу при наведении мышки
#для всех меню субменю появляется спустя 0.4 секунды, на расстоянии трех пикселей от основного меню
MenuStyle * PopupDelay 400, PopupOffset 3
Стиль иконок свернутых приложений на рабочем столе
Style название_стиля [опции]
Опции:
!IconTitle отключает подписи к иконкам
IconTitleRelief - число между -50 и +50, определяет толщину рельефа вокруг заголовка иконки
IconBackgroundRelief - число между -50 и +50, определяет толщину рельефа вокруг самой иконки
IconBackgroundPadding - число между 0 и 50, определяет размер свободного места между границей иконки и самой иконкой
IconFill [арг1 арг2] - два аргумента, указывает, в каком направлении будет заполняться иконками экран
арг1 и арг2 могут принимать значения l, t, r или b, причем одно значение должно быть "вертикальным", а другое "горизонтальным".
l - слева, t - сверху, r - справа, b - снизу
Например, IconFill t r означает, что иконки будут выстраиваться сверху (t) вниз, а затем справа (r) налево (когда закончится колонка, следующая начнется слева от нее)
IconBox - область рабочего стола, которую могут занимать иконки
1 вариант:
IconBox [X_нач Y_нач X_кон Y_кон]
#область, которая начинается в 80 пикселах от правого края экрана и в 240 пикселах от верха экрана, а заканчивается слева внизу экрана
IconBox -80 240 -1 -1
2 вариант:
IconBox [ШИРИНАxВЫСОТАX_началаY_начала]
#область 1000 пикселов шириной и 70 высотой, которая начинается в верхнем левом углу экрана
IconBox 1000x70+1+1
IconGrid [арг1 арг2] - отвечает за "плотность" размещения иконок. По умолчанию сетка 3 на 3 пикселя, если нужно, чтобы иконки были дальше друг от друга, ставим большее значение.
IconSize [ширина высота [максширина максвысота ] ] устанавливает размер иконки. аргументы в пикселах. Если определены все аргументы, то ширина и высота определяют соответственно минимальную ширину и высоту иконки, а максширина и максвысота определяют максимальный размер. Если даны только два аргумента, они будут определять абсолютный размер иконки (ширину и высоту)
#пример использования
Style * !IconTitle, IconBox 1280x900-10+10, IconFill t r, IconBackgroundPadding 0, IconBackgroundRelief 0, IconGrid 10 10