Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: FVWM - Строим свой wm (с преферансом и куртизанками)  (Прочитано 26843 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Oni-chan

  • Автор темы
  • Гость
Вопрос был у nikolorl
я на него ответил

Оффлайн nikolorl

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Isquariel, со страницами работает (спасибо), а со столами пока ни как(

Isquariel

  • Автор темы
  • Гость
Было бы неплохо отыскать список стандартных функций FVWM  с краткими описаниями.

Пользователь решил продолжить мысль 26 Февраля 2010, 17:58:37:
Тень текста в FVWM

Цвет тени задаётся в колорсете словом fgsh:
ColorSet 1 Background #dedede, Foreground #777777, Fgsh #abcdef
А такие параметры, как размер, отступ и положение задаются при задании шрифта. При чём, определение тени следует писать до определения самого шрифта (перед xft):
Style * Font "shadow=1 2 SW:xft:Trebuchet MS:size=8:minspace=False:antialias=True"Тень (shadow) будет размером 1 пиксель, смещена относительно текста на 2 пикселя в юго-западном направлении (SW).
« Последнее редактирование: 26 Февраля 2010, 17:58:37 от Isquariel »

tartan

  • Автор темы
  • Гость
Эээ... man fvwm?

Isquariel

  • Автор темы
  • Гость
Ман не везде ясный. Я до сих пор не разобралась с количеством десктопов и переключением. Мне нужно два рабочих стола, по одной странице каждый. Переключение на первый по Win+Left, на второй по Win+Right. Значит, что
# Комментарии отражают моё понимание команды
DesktopName 0 Развлеченiя # Определяем первый стол
DesktopName 1 Работа # Определяем второй стол
DesktopSize 1x1 # Задаём размер стола в страницах
Key Left A   4 GotoDesk 0 # Задаём переключение на первый стол
Key Right A   4 GotoDesk 1 # Задаём переключение на второй стол
На второй переключается, а на первый нет. И панель Tint2 считает, что у меня четыре рабочих стола.

tartan

  • Автор темы
  • Гость
Давайте попробуем статью для вики сделать. Потому что то, что я понаписал - вообще-то ерундистика, FVWM достоин более солидного описания. Попытаюсь выкроить время на днях.

Isquariel

  • Автор темы
  • Гость
В какую именно вики? На help.ubuntu.ru или на ЛОРе? Вики много. Готова присоединиться и работать сообща. Только опыта использования FVWM пока мало.

Оффлайн nikolorl

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Отличная идея)

tartan

  • Автор темы
  • Гость
help.ubuntu, я, помнится, мог её редактировать, просто сейчас в убунте то, что я более-менее знал, уже и само как-то настраивается, а вот про fvwm написать можно. Сегодня, видимо, уже не смогу, но пока буду на работе, набросаю кое-чего на бумаге, а там посмотрим.

Я пока представляю себе это не как развёрнутое описание с переводом мана, а скорее в форме "вопрос-ответ" с небольшими кусочками конфига.

И хочу рекомендовать сразу конфиг в виде отдельных файлов и вот такое меню:


Isquariel

  • Автор темы
  • Гость
Я думаю, что можно сделать хорошую вики-стать на базе FVWM Beginners Guide, расширив и углубив его.

tartan

  • Автор темы
  • Гость
Я бы хотел сделать какой-нибудь "базовый" конфиг, чтобы приятно выглядел. По большому счёту мне нужны кнопки _[]X для него и кусочки тайтлбара. Вообще, можно ваши скриншоты, кстати, посмотреть?

Надо выбрать что-нибудь на xfce-look.org.


Isquariel

  • Автор темы
  • Гость
« Последнее редактирование: 03 Марта 2010, 14:25:46 от Isquariel »

tartan

  • Автор темы
  • Гость
Для нетбука - самое оно. )

Isquariel

  • Автор темы
  • Гость
Про погоду в меню нашла Скрипт на питоне+меню для опенбокса. Нехитрыми преобразованиями скрипт будет выводить fvwm-меню. Осталось вывод скрипта прикрутить к меню.

tartan

  • Автор темы
  • Гость
Цитирую свой конфиг:

AddToMenu Basic foo title
+ DynamicPopupAction Function MakeBasicMenu

AddToFunc MakeBasicMenu
+ I DestroyMenu recreate Basic
+ I PipeRead 'echo "AddToMenu Basic \'$(date +%d.%m) - $(date +%H:%M)\' Popup Calendar"'
+ I AddToMenu Basic "" Nop
+ I AddToMenu Basic "Gedit" Exec exec gedit
+ I AddToMenu Basic "Qtcreator" Exec exec qtcreator
+ I AddToMenu Basic "Firefox" Exec exec firefox
+ I AddToMenu Basic "Terminal" Exec exec gnome-terminal
+ I AddToMenu Basic "Nautilus" Exec exec nautilus --no-desktop --browser
+ I AddToMenu Basic "Gtkpod" Exec exec gtkpod
+ I AddToMenu Basic "Pidgin" Exec exec pidgin
+ I AddToMenu Basic "" Nop
+ I AddToMenu Basic "Applications" Popup Apps
+ I AddToMenu Basic "Places" Popup Places
+ I AddToMenu Basic "Preferences" Popup Preferences
+ I AddToMenu Basic "" Nop
+ I AddToMenu Basic "Restart" Restart
+ I AddToMenu Basic "Exit" Popup Exit
....
#!/bin/bash
 function calRow() {
   cal | gawk -v row=$1 '{ if (NR==row) { print $0 } }'
 }

cat << EOFMENU
   + '`date +%A,\ \ %B\ %d`'
   + "" Nop
   + '`calRow 2`'
   + '`calRow 3`'
   + '`calRow 4`'
   + '`calRow 5`'
   + '`calRow 6`'
   + '`calRow 7`'
   + '`calRow 8`'
   "" Nop
EOFMENU

Не могу сейчас детально объяснить, но вторая строка - пример PipeRead, а само меню - пример динамически воссоздаваемого меню, для корректной работы скриптов с актуальной информацией нужно именно такое, чтобы не получать, например, вывод date на момент первого запуска меню вместо текущего.

После многоточия - скрипт calendar.sh, а кусок меню с календарём будет примерно такой:

DestroyMenu Calendar
AddToMenu Calendar
+ I PipeRead 'sh /path/to/calendar.sh'

Hope this helps.

 

Страница сгенерирована за 0.03 секунд. Запросов: 23.