
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)



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