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"

  • up
    Пример настройки:
    ;==========================================================
    ; 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"
    up
    Настройка:
    Флаги и параметры:
  • 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
  • up
    !Bangs:

    Полный список доступных !команд:

  • !WharfRollup
    Свернуть/развернуть панель. В свёрнутом состоянии отображается только заголовок панели.
  • !WharfHide
    Скрыть Wharf-панель.
  • !WharfShow
    Показать Wharf-панель.
  • !WharfTasks
    Псевдо-!команда, работающая как и !PopupTasks в модуле Popup2. Используется в строчке *Wharf, если требуется задать папку, содержащую список текущих запущенных задач
    Пример:
      *Wharf "Current Tasks" tasks.bmp !WharfTasks
  • up
    Журнал изменений:
    Версия 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).
  • up
    Разработчики:
    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
    up