stacker-alpha-1
The future is now! :)

The future is now! :)

Пролог

Не так давно я нашёл в интернете очень полезную программку под названием “7Stacks”. Она позволяет создавать так называемые «стеки» — небольшие менюшки, в которые можно складывать ярлыки разных программ и документов. Эти менюши можно закреплять на новой панели задач Windows 7, что в итоге даёт эффект «автозапуска на стероидах». Конечно, эта идея далеко не нова, и пользователи мкинтошей лишь снисходительно улыбнутся. Но для нас, суровых виндузятников, такая фича может оказаться очень полезной.

Не всё так просто

У 7Stacks есть один недостаток: она работает весьма неторопливо. Особенно это заметно на слабеньких нетбуках, или при сильной загрузке процессора. В один прекрасный день мне надоели эти тормоза, и я решил… Ну, вы уже поняли :) . Сразу хочу сказать, что я не ставлю своей задачей полностью продублировать функционал 7Stacks, все эти навороты мне просто не нужны. В конечном счёте я хочу сделать удобный лаунчер, который будет быстро работать и легко настраиваться.

Сегодня я хочу представить на ваш суд первую альфа-версию Stacker. Функционал пока минимальный: только запуск программ и открытие документов, никаких свистелок и перделок :) . Конфигурация хранится в файле config.xml, который должен лежать в одной папке с программой. Диалога настройки пока нет, так что программы в стек придётся добавлять ручками :) . Формат файла очень простой, всё станет очевидно после просмотра конфига, идущего в архиве.

Plug and play. OK, compile, build, patch up a little, plug and then maybe play

Так как это всего лишь альфа-версия программы, придётся немного поплясать с бубном, прежде чем она начнёт работать :) . Но не бойтесь, далее идёт подробная инструкция с красивыми заголовками и большими картинками.

1. Создаём стек

Создать новый стек очень просто. Для этого нужно открыть файл config.xml в любом текстовом редакторе и немного его подредактировать. Вот как выглядит файл конфигурации, идущий в архиве с программой:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <stacks>
    <stack name="Test" caption="Yarrrrrrrr!!!">
      <item name="Calculator" command="C:\windows\system32\calc.exe" />
      <item name="Notepad" command="C:\windows\system32\notepad.exe" />
      <item name="Paint" command="C:\windows\system32\mspaint.exe" />
    </stack>
  </stacks>
</root>

Каждый из элементов <stack> представляет собой один стек (ну надо же! :) ). У него могут быть следующие атрибуты:

  • name — обязательный атрибут, «идентификатор» стека. В нём не должно быть пробелов
  • caption — заголовок, который будет показываться в верхней части стека. Необязательный параметр, при его отсутствии используется name.

Внутри элемента <stack> находятся элементы <item>. Это те самые программы, которые будут запускаться из нашего стека. Эти элементы поддерживают пока только два атрибута:

  • name — Название, которое будет отображаться в стеке
  • command — полный путь к запускаемой программе или открываемому документу

Как видите, всё просто. Надо только создать нужное количество элементов <item> для каждой программы.

2. Создаём ярлык

Чтобы сказать программе, какой именно стек мы хотим показать, используются параметры командной строки. Синтаксис простой:

Stacker.exe -s [stack name]

Где [stack name] — название стека (помните атрибут name?). Соответственно, нам нужно создать ярлык для запуска созданного нами стека. Для этого щёлкаем правой кнопкой на программу и жмём «Создать ярлык».

Создание ярлыка

Создание ярлыка

После этого щёлкаем правой кнопкой на новом ярлыке, нажимаем «Свойства» и переходим на зкладку «Ярлык». В поле «Объект» мы видим путь к программе. Дописываем после него строку -s [stack name], подставляя вместо [stack name] название нашего стека. Здесь важно соблюдать регистр, так как “Test” и “test” — это два разных названия.

Прописываем параметры

Прописываем параметры

3. Закрепляем ярлык на панели задач

Теперь осталось закрыть свойства ярлыка, щёлкнуть на него правой кнопкой мыши и нажать «Закрепить в панели задач».

Закрепляем!

Закрепляем!

Как видите, всё предельно просто :) . Если вы всё сделали правильно, то в панели задач у вас должен появиться стек, аналогичный приведённому на скриншоте в начале поста.

Ссылки для скачивания

Скачать программу можно отсюда: Stacker alpha 1 (64 Кб)

Планы на будущее

К следующей версии планируются следующие улучшайзеры:

  • «Эффект кнопки» при наведении указателя на пункт стека
  • Начало работы над человеческим диалогом настройки

Исходный код

Исходный код доступен в SVN: http://anonymous@thepretender.blogsite.org:8080/svn/cpp/Stacker/trunk/ (Проект в формате Visual Studio 2010 Beta 2. Да, вот такая вот я задница :) )
Также для компиляции нужен WTL и пара моих доморощенных классов: http://anonymous@thepretender.blogsite.org:8080/svn/cpp/framework/ (отсюда нужно только Service и WTL)

От так вот.От так вот. emoticon

Оставить комментарий