Wharf 2.1.0
Введение:
Wharf - это панель, объединившая в себе Панель Microsoft Office и Wharf-панель оболочки AfterStep.
На панели можно разместить ярлыки к любимым приложениям, часто используемым !командам, или же
апплет - модуль, специально написанный для Wharf-панели. Функциональное предназначение уже существующих
апплетов варьируется от индикаторов системных ресурсов и часов до игр, CD-плееров. (Существует даже апплет
управления ТВ-тюнером! правда, весьма специфичным :( ).
Кроме того, на Wharf-панель могут быть загружены VWM или Systray-модули.
Системные требования:
Теоретически модуль должен работать даже под Windows 95 (должен быть установлен Internet Explorer 4.0 или выше)...
Использование:
Содержимое Wharf-панели задаётся в следующем виде:
*Wharf [Caption] [image.bmp] Folder
*Wharf [Caption] [image.bmp] [Action]
*Wharf [Caption] [image.bmp] [@Module]
*Wharf ~Folder
Где:
Folder/~Folder
Ярлык будет открывать специальную папку Wharf-панели,
содержимое которой и описывется между Folder и ~Folder.
[Caption]
Заголовок элемента панели, который будет показываться во всплывающей подсказке.
Замечание: Если вы не хотите, чтобы у данного элемента была всплывающая
подсказка, укажите в качестве значения поля Caption пустую строку - "".
[image.bmp]
Путь к файлу изображения или значок, заданный с помощью .extract=, который будет
отображаться в качестве ярлыка. Пример:
*Wharf WordPad .extract=c:\windows\write.exe,0 write.exe
*Wharf NotePad note.bmp notepad.exe
Если требуется взять значок файла, на который ссылается поле [Action], то используйте
просто '.extract'
[Action]
!Команда или путь к файлу (не обязательно .exe).
[@Module]
Путь к Wharf-апплету, который будет загружен вместо ярлыка.
Одиночный символ "@" обязательно должен предварять путь, иначе
это будет ярлык на .dll или .app-файл.
Пример:
@"$ModulesDir$lstime.dll"
Замечание: Если вы собираетесь распространять тему с Wharf-панелью, не забывайте
добавлять строчку NetInstallModule для каждого апплета с расширением .dll, а
апплеты с расширением .app рапространять вместе с темой. Например:
*NetInstallModule ckVWM-1.41 ; Wharf-апплет - ckVWM.dll
*Wharf "VWM" .none @"$ModulesDir$ckVWM-1.41.dll"
; а здесь NetLoadModule.dll не сможет распрознать wharfanoid.app как модуль,
; поэтому придётся скопировать сам апплет в папку \theme\misc\
*Wharf "Game" .none @"$MiscDir$wharfanoid.app"
Пример настройки:
;==========================================================
; Wharf Bar config
;----------------------------------------------------------
; flags and settings
WharfFolderBackPix folderback.bmp
WharfBevelWidth 0
WharfPressOffset 0
WharfTitleBack 802020
WharfTitleFore FFFFFF
WharfTitlePix popup-bottom.bmp
WharfTitleBarPix wharftitle.bmp
WharfAutoUnpress
WharfAutoClose
WharfCloseOnSwitch
; panel content
*Wharf Internet internet.bmp Folder
*Wharf "Browser" web.bmp "$Browser$"
*Wharf "Mail client" mail.ico "$Email$"
*Wharf "Instant Messenger" im.png "$IM$"
*Wharf "IRC" .extract "$IRC$"
*Wharf "Dialer" .extract "$DUN$"
*Wharf "Manage..." .extract compmgmt.msc
*Wharf ~Folder
*Wharf "Tray" .none @"$ModulesDir$systray2-2.0.4.dll"
*Wharf "Current Tasks" tasks.bmp !WharfTasks
*Wharf "VWM" module.bmp @"$ModulesDir$ckVWM-1.41.dll"
*Wharf "Time" .none @"$ModulesDir$lstime2-2.0.dll"
Настройка:
Флаги и параметры:
WharfAutoUnpress [false/true]
Отжимать ярлыки, не дожидаясь когда пользователь отпустит кнопку мыши.
По умолчанию: false
WharfAlwaysOnTop [false/true]
Отображать Панель поверх всех других окон.
По умолчанию: false
WharfSlidersOnTop [false/true]
Отображать папки Панели поверх всех других окон
По умолчанию: true
WharfNoAutoClose [false/true]
Не закрывать открытую Wharf-папку пока пользователь повторно не нажмёт на её ярлыке.
По умолчанию: false
WharfNoTitlebar [false/true]
Не показывать заголовок Wharf-панели.
По умолчанию: false
WharfStartRolledUp [false/true]
Развернуть понель при загрузке
По умолчанию: true
WharfTitlebarPix [изображение]
Рисунок, использующийся в качестве заголовка Панели.
По умолчанию: none
WharfCapHeight [размер]
Высота (в пикселах) заголовка Панели.
По умолчанию: 16
WharfTitleFore [цвет]
Цвет текста ярлыков Панели.
Используется только если установлен флаг WharfAllTitles.
По умолчанию: FFFFFF
WharfTitleFont [шрифт]
Шрифт для текста ярлыков Панели.
Используется только если установлен флаг WharfAllTitles.
По умолчанию: Arial
WharfTitleFontSize [число]
Размер шрифта для текста ярлыков Панели.
Используется только если установлен флаг WharfAllTitles.
По умолчанию: 8
WharfTitleFontWeight [число]
Толщина шрифта, используемого для текста ярлыков Wharf-панели.
Чем больше, тем шрифт жирнее. Максимум - 1000. Обычный ПОЛУЖИРНЫЙ текст - это 600.
Используется только если установлен флаг WharfAllTitles.
По умолчанию: 400
WharfAllTitles [false/true]
Если этот флаг установлен, то заголовок, указанный в строках *Wharf,
будет прорисован на ярлыках как текст.
По умолчанию: false
WharfTileSize [16, 32, 64]
Размер ярлыков Панели в пикселах.
Настройка используется как для высоты, так и для ширины,
а значит ярлыки могут быть только квадратными. Допустимые значения: 16, 32 и 64.
По умолчанию: 64
WharfShadeButton [число]
Размер заголовка Панели во время перетаскивания,
заданный как отношение к обычному размеру.
Допустимые значения: от 1 до 63
По умолчанию: WharfTileSize, делённый на 2.
WharfTitleBarLeftClick [действие]
!Команда, которая будет выполнена при щелчке левой кнопкой мыши на заголовке.
По умолчанию: !WharfRollup
WharfTitleBarRightClick [действие]
!Команда, которая будет выполнена при щелчке правой кнопкой мыши на заголовке.
По умолчанию: !none
WharfDblClickXPosition [число]
При двойном щелчке на заголовке Wharf-панель сдвинется относительно правой границы
экрана на WharfDblClickXPosition пикселов
По умолчанию: 0
WharfDblClickDockOnLeft [false/true]
Перемещать Wharf-панель к левой границе экрана при двойном щелчке на заголовке.
По умолчанию: false
WharfBevelWidth [число]
Толщина бордюра вокруг каждого из ярлыков Панели.
По умолчанию: 1
WharfNoAnim [false/true]
Не анимировать сворачивание/разворачивание Панели.
По умолчанию: false
WharfAnimStep [число]
Размер шага при анимации.
По умолчанию: 64
WharfAnimDelay [число]
Интервал между шагами анимации (в миллисекундах).
По умолчанию: 10
WharfAutoHide [false/true]
Автоматически скрывать Wharf-панель по прошествии промежутка времени, заданного
WharfAutoHideDelay.
По умолчанию: false
WharfAutoHideDelay [число]
Интервал времени (в миллисекундах), после которого Wharf-панель автоматически скрывается.
Используется только если установлен флаг WharfAutoHide
По умолчанию: 300
WharfAutoShowDelay [число]
Интервал времени (в миллисекундах), который должен пройти для того, чтобы Панель выехала
из-за границы экрана при нахождении курсора мыши на этой самой границе.
По умолчанию: 300
WharfHiddenWidth [размер]
Ширина полоски, показываемой когда Панель скрыта.
По умолчанию: 1
WharfPressOffset [число]
Насколько сдвигать изображения ярлыков, когда они нажаты
По умолчанию: 1
WharfNoHints [false/true]
Не показывать всплывающие подсказки
По умолчанию: false
WharfCloseOnSwitch [false/true]
Закрывать Wharf-папку если другое окно стало активным
По умолчанию: false
WharfOpenSound [sound.wav]
Звук, проигрываемый при открытии Wharf-папки
По умолчанию: нет
WharfCloseSound [sound.wav]
Звук, проигрываемый при закрытии Wharf-папки
По умолчанию: нет
WharfMinSound [sound.wav]
Звук, проигрываемый при сворачивании Wharf-папки
По умолчанию: нет
WharfMaxSound [sound.wav]
Звук, проигрываемый при разворачивании Wharf-папки
По умолчанию: нет
WharfSnapToEdges [false/true]
Wharf будет "прилипать" к границам экрана, когда приблизится на
расстояние, указанное в параметре WharfSnapSensitivity.
По умолчанию: false
WharfSnapSensitivity [число]
Расстояние, на которое Wharf-панель должна приблизиться к границе экрана
чтобы прилпнуть.
Настройка используется только если установлен флаг WharfSnapToEdges.
По умолчанию: 16
WharfDefaultBackPix [изображение]
Рисунок, отображаемый по умолчанию под ярлыками первого уровня.
По умолчанию: нет
WharfFolderBackPix [изображение]
Рисунок, отображаемый под ярлыками в Wharf-папках.
По умолчанию: нет
FolderPix [изображение]
Дополнительное изображение, накладываемое на ярлыки Wharf-папок.
Например, небольшая стрелка "влево".
По умолчанию: нет
WharfStartHidden [false/true]
Скрыть Панель при запуске?
По умолчанию: false
ModulesINI [файл]
Путь к файлу, в котором будут сохраняться изменяющиеся параметры Wharf-панели
(на данный момент - только местоположение)
По умолчанию: $LiteStepDir$modules.ini
WharfModulesINI [файл]
Аналог ModulesINI, который следует использовать, если требуется разделить
настройки разных модулей.
По умолчанию: значение ModulesINI
!Bangs:
Полный список доступных !команд:
!WharfRollup
Свернуть/развернуть панель. В свёрнутом состоянии отображается только
заголовок панели.
!WharfHide
Скрыть Wharf-панель.
!WharfShow
Показать Wharf-панель.
!WharfTasks
Псевдо-!команда, работающая как и !PopupTasks в модуле Popup2.
Используется в строчке *Wharf, если требуется задать папку, содержащую
список текущих запущенных задач
Пример:
*Wharf "Current Tasks" tasks.bmp !WharfTasks
Журнал изменений:
Версия 2.1.0, 23.05.2004 (Seg@)
Настройка ModulesINI продублирована с помощью WharfModulesINI.
Приоритет WharfModulesINI выше!
Неиспользующиеся или устаревшие поля в структуре wharfDataType будут забиваться просто нулями:
trayIconSize <- TrayIconSize
taskBarFore <- LSTaskBarFore
taskBarBack <- LSTaskBarBack
taskBarText <- LSTaskBarText
taskBarFore2 <- LSTaskBarFore2
taskBar <- NoTaskBar
showBeta <- NoShowBeta
usClock <- UsClock
vwmVelocity <- VWMVelocity
VWMDistance <- VWMSecurityDistance
VWMNoAuto <- VWMNoAuto
pixmapDir <- szImagePath
vwmBackColor <- VWMBackColor
vwmSelBackColor <- VWMSelBackColor
vwmForeColor <- VWMForeColor
vwmBorderColor <- VWMBorderColor
Изменение не повлияет на работоспособность существующих модулей,
так как сама концепция Wharf-панели с 98ого года радикально изменилась.
Вычистил код (классы так классы, да и избыточности было много)...
выиграл 10% от размера .dll'ки, правда, тут же их потратил на
STLport (который лучше работает с многопотоковыми [threaded] приложениями
и StrSafe - автоматическую проверку границ строк... кстати, все внутренние строки
теперь ограничены 4096 байтами вместо 256. Длинные !команды - тоже команды...)
Добавил поддержку 32-битных значков с альфа-каналом, а значит под Windows XP вернулись тени
В !WharfTasks добавлен значок по умолчанию
Добавлена поддержка Drag&Drop (точнее, только Drop =) ... зато с возможностью
автоматического разворачивания папок)
Значение по умолчанию для WharfSlidersOnTop изменено на TRUE
Добавил VersionInfo
Версия 2.0.1, 09.05.2004 (Seg@)
Вместо проблемного HWND_TOPMOST всплывающие подсказки используют безопасный WS_EX_TOPMOST
Переименовал некоторые настройки:
SnapToSensitivity -> WharfSnapSensitivity
DefaultBackPix -> WharfDefaultBackPix
FolderBackPix -> WharfFolderBackPix
FolderPix -> WharfFolderPix
SetDesktopArea -> WharfSetDesktopArea
AutoHideWharf -> WharfAutoHide
AutoHideDelay -> WharfAutoHideDelay
AutoShowDelay -> WharfAutoShowDelay
SnapToWharf -> WharfSnapToEdges
местоположение modules.ini теперь задаётся с помощью параметра ModulesINI
(по умолчанию как и прежде $LiteStepDir$modules.ini)
улучшена работа .extract:
a) значки теперь извлекаются не только для .exe-файлов, но и для всех остальных
b) теперь можно использовать короткие пути, а .extract всё равно будет работать
(например, "explorer" вместо "$WinDir$explorer.exe"
или "compmgmt.msc" вместо "$WinDir$system32\compmgmt.msc")
!WharfTasks заново переписана и теперь должна работать с LiteStep версии 0.24.7
Теперь папки отображаются поверх всех окон только если установлен флаг WharfSlidersOnTop.
Ну и ещё несколько исправлений касающихся z-order'а
Исправлен вывод RevisionID
Version 2.0, 2003-10-07 (all coders ever involved in 0.24.6)
Initial release as a non-core module
!WharfTasks no longer works and needs to be fixed (it never worked with 0.24.7
and is now commented out entirely to avoid crashes).
Разработчики:
Handle :
The LiteStep Development Team
Web :
http://dev.litestep.net/
Handle :
The IndieStep Development Team
Web :
http://indiestep.sourceforge.net/
Handle :
Сергей Гагарин a.k.a. Seg@
E-Mail :
inform-sega@freemail.ru
Web :
http://www.litestep.bip.ru/
ICQ : 162261148