PPL * Jbak TaskMan - инструкция по использованию ========================================== * Что это такое? Хм.. прога такая. Чтоб убивать и запускать другие проги. Это чтобы смартфону скучно не было. * На 9-ку будет? Уже есть. Файл необходимо подписать DevCert'ом * А под 8-ку будет? См. предыдущий пункт. * Платная/бесплатная версия. Через время планируется выход платной версии программы. При этом будет доступна облегчённая бесплатная версия, имеющая почти все те же функции. Скорее всего, в бесплатной версии будут убраны горячие клавиши. Пока до конца неизвстно, как оно будет. Как обычно, ожидается "раздача слонов" для активных багрепортеров, генераторов идей и прочее. Есть уже список из нескольких человек. Ну и так далее. Как обычно, проект может накрыться медным тазом, после того, как я получу устраивающий меня инструмент и потеряю к нему всякий интерес. * Дизайн программы Дизайн программы сделан автором за полчаса, и ему абсолютно наплевать на тех, кого дизайн не устраивает. Учитывая тот факт, что русский юзер - самый флудящий юзер, начиная с версии 0.94 при установке необходимо принять небольшое пользовательское соглашение. За последующую неделю из тех, кто не понял текста соглашения, было забанено двое, послано прямым текстом тоже двое. Это немного, а значит, соглашение работает. Вообще, дизайн меняться будет, например, будут настраиваемые цветовые схемы или что-то другое, но потом. * Установка программы. Самая ранняя публичная версия 0.50 требует обязательной выгрузки программы с помощью Меню->Выход. Более поздним версиям этого не требуется - достаточно ответить утвердительно на вопрос "Закрыть все приложения", который будет задан при установке. * Удаление программы. Программа удаляется стандартно, через диспетчер приложений. Остаются небольшие "Хвосты" - файл C:\System\Data\JbakTaskMan.ini На Symbian 6-7-8 кроме того могут остаться файлы автозапуска в C:\system\recogs (autorun.mdl и JbakTaskMan.cfg). * Работа программы. Программа запускается автоматически, как после установки, так и при перезагрузке. TaskMan активируется удержанием клавиши "меню". При сворачивании/разворачивании окна программы на Symbian 6-7-8 происходит сжатие памяти. Именно поэтому инструмент "сжатие памяти" показывает подозрительно маленькие цифры. Пока ещё не нашёл, чем может мешать такое поведение. * Функции программы. Главное окно программы состоит из 2-х меню, между которыми можно переключаться джойстиком вправо/влево: 1. Меню запущенных задач, из которого можно переключиться между задачами, либо выгрузить задачу. Задачи выгружаются убийством процесса - все прочие способы работают наполовину. Внимание! На Symbian 6-7-8 выгрузка процесса Phone.app приводит к перезагрузке, а на некоторых прошивках - к зависанию, что лечится только вытаскиванием аккумулятора. 2. Меню быстрого запуска. Сюда можно добавлять программы и документы для быстрого запуска. Первые десять пунктов можно запускать с цифровой клавиатуы клавишами 0-9. Элементы меню быстрого запуска можно двигать вверх/вниз (горячие клавиши ABC+стрелки вниз/вверх), при этом изменяются горячие клавиши быстрого запуска. Дополнительные инструменты (располагаются в меню Функции->Инструменты): 1. Список программ - меню запуска программ с фильтром. Первый запуск несколько дольше предыдущих, в этот момент кэшируются иконки программ. Горячая клавиша [#]. 2. Сжатие памяти. Может быть, будет упразднено. 3. Перезагрузка. Согласно документации, самая надёжная реализация, работающая на всех моделях. 4. Блокировка клавиатуры. Соответствует стандартной блокировке на рабочем столе. * Список программ. Это меню, из которого можно запустить любую установленную на телефоне программу. На Symbian 6-7-8 поодерживаются физически скрытые программы (Это делается ручной утановкой аттрибута "скрытый" на папку с программой, и, как говорят, сильно экономит оперативку). Этим списком можно заменить системное меню телефона (см. Настройки->Запуск программ), что прилично сэкономит оперативу. Меню снабжено быстрым поиском, который, в зависимости от настроек, может искать введённый текст с начала имени программы или с любой позиции. Если фильтр пуст - стрелки вправо/влево выполняют постраничную прокрутку меню. * Настройки программы. Пока так, вообще планируется всё это поменять, так как я сам уже путаюсь, где баг, а где "так настроено". Все настройки по умолчанию выключены. - Общие. + Запоминать позицию в телефонном меню. Если включено - при каждом вызове системного меню курсор стоит на последнем выбранном пункте. Если выключено - стандартное поведение. + Режим главного окна. Один из 3-х вариантов - обычный, полноэкранный и без нижней строки. + Показывать память в заголовке. Если включено - вместо надписи "JbakTaskMan" в заголовке пишется доступное/общее количество памяти в телефоне. + Отключить иконки. Если включено - не отображается ни одна иконка. Экономится около 100 Кб оперативки. Экономия начнётся после перезапуска программы + Показывать инфо-панель. На инфо-панели отображается состояние памяти телефона и память по каждой задаче. Подробнее - ниже. + 'Меню' открывает меню телефона. По умолчанию поведение программы напоминает стандартную утилиту переключения - нажатие меню выделяет следующую задачу, удержание - переключает на выбранную задачу. Если же опция включена, программа работает стандартно - по нажатию клавиши "меню" открывается меню телефона. + Плавное переключение по 'меню'. Включает хитрую возможность, описанную чуть ниже. - Менеджер задач. + Показывать меню. Если включено, и меню запущено - в списке задач будет отображаться меню. + Показывать рабочий стол. Если включено - в списке задач показывается рабочий стол (или Телефон) + Показывать UID. Включение опции позволяет показывать UID для каждой задачи + Показывать скрытые окна. Позволяет показывать задачи, помеченные как "скрытые" + Закрывать программы без запроса. По умолчанию, при выгрузке программы выдаётся запрос. Опция позволяет его отключить. - Быстрый запуск. + Компактное меню. Если включено - все пункты в меню быстрого запуска выводятся в одну строку. + Удалять без запроса. Если включено - элементы меню удаляются без подтверждения. - Запуск программ + Показывать все программы. Есть в системе множество программ, которых в меню нет. Опция позволяет всех их показывать. Настройка также влияет на добавление программ в меню быстрого запуска. + Фильтр с начала слова. По умолчанию, фильтр в списке программ ищется с любого места в названии. Включение опции позволяет искать текст с начала названия. + Замена системного меню. Вместо системного меню показывается список программ таскмана. + Сверху - последние запущенные. Если включено - вверху списка появляются программы, которые были недавно запущены из Jbak TaskMan'а. Также можно поменять задержку удержания меню и скорость плавного переключения окон, пока что ручным редактированием файла !:\System\Data\JbakTaskMan.ini ; Задержка вызова главного окна (т.е. время, которое нужно удерживать клавишу меню, чтобы вылезло главное окно) iTaskManDelay=400 ; Скорость плавного переключения окон iSwitchDelay=700 Время задаётся в милисекундах (по умолчанию 400 и 700). Файл должен быть в кодировке UNICODE, хотя понимает и другие. * Как вызвать системное меню и системную переключалку задач? Чтобы это сделать, достаточно открыть любое меню, например то, что по левому софту, и нажать клавишу 'меню'. Здесь она выполняет стандартное предназначение. Кроме того, стандартная переключалка вызывается зелёной трубкой, что, возможно, будет убрано в следующих версиях. * Функция "плавное переключение задач" Захотел такую функцию - держу какую-то кнопку и окна начинают плавно переключаться, когда открылось нужное - отпускаю кнопку. Разумеется, объектом этого издевательства стала всё та же многострадальная клавиша "меню". Итак, весь функционал клавии "меню" при включённой опции. С самого начала. Если кнопку быстро нажать и отпустить - откроется стандартное меню. Если кнопку чуть-чуть подержать (полсекунды) - откроется окно программы. Если "меню" не отпустить ещё в течении 0.7 секунды - начинают циклически переключаться задачи. Если всё же отпустить, не дожидаясь плавного переключения - то быстрое нажатие кнопки перемещает курсор, а удержание - переключит на выбранную задачу. Если при этом в течении 1,8 секунды дуть на экран - смартфон исполнит "Ave, Maria!", либо "Чёрный бумер", в зависимости от интеллекта юзера (шутка). Зато клавиша "меню" теперь по функционалу преплюнула весь джойстик, и её вообще страшно нажимать. Если телефон попадёт в руки злоумышленника - тот быстро съедет мозгами от всего этого. Поскольку функция требует вестибулярного аппарата космонавта, реакции спецназовца и железных нервов шпиона - по умолчанию она выключена. Включается, разумеется, в настройках - Общие->Плавное переключение по 'меню'. * Пару слов про память. Во всех менеджерах принято отображать оперативную память программы. При этом дотошный пользователь может удивляться - как же так? Было свободно 5 метров оперативы, запустил 2 программы, жрут они по полметра каждая, а памяти уже и нету... Куда она делась? Со счетов сбрасывается память, выделенная для загрузки исполняемого файла - она иногда бывает в разы больше, чем память, потребляемая программой. Особенно в программах на Java, где сама программа поедает считанные килобайты, в то время как процессы Java VM подсасывают мегабайты. Беда в том, что определить точно эту неучтённую память для каждого запущенного приложения сложно. Пока что ведутся поиски правильного решения. Кажется, с Java-программами решить проблему удалось, с программами на C++ не всё так гладко. Истинную картину того, что творится в памяти, можно увидеть, нажав в главном меню ABC+# - появится список всех блоков памяти с их размерами. Всё сказанное касается Symbian 6-7-8. В Symbian 9 запретили определение размера памяти процесса. Единственное, что доступно на 9-ке - определение размера запущенного exe-шника (для X-Plore показывает аж 3.4 кб). Сжатие памяти - то, что считалось сверхважной функцией в Symbian 6-7-8, и чего безвозвратно лишились пользователи Symbian 9 - на самом деле косметика. Но! Есть такие программы, которые при запуске могут проверить объём доступой памяти, и, если её мало - не запустятся. На Symbian 9 сжимается только собственная память программы. Из этого следует: если какая-то программа выдаёт высокие показатели сжатия - она либо врёт, либо неэкономно расходует память. Jbak TaskMan автоматически выполняет сжатие памяти при открытии и сворачивании окна. * Немного лирики. Всё началось с трудностей, как и всегда. В процессе разработки программ самое утомительное - это отладка на телефоне. Нужно скомпилировать программу, собрать sis, для Symbian 9 - подписать, потом слить на телефон, поставить, запустить... После чего оказывается, что суперсырая прога зависает, а потому нужно её снести и посмотреть лог. И повторить 120 раз. Каждое лишнее нажатие клавиши при таком процессе забирает килокалории энергии и кучу времени. Со стороны ПК всё огранизовано идеально - Far Manager+OpenObex позволили весь ПК-шный процесс от компиляции до отправки на смартфон свести к нажатию одной горячей клавиши. Со стороны смартфона оказалось похуже. Для запуска sis нужно открыть файловый менеджер. Для быстрого запуска одной и той же программы способы есть, как правило - через глобальные горячие клавиши, но.. Не люблю этого. По-быстрому кильнуть зависший процесс смартфон не умеет (лазание по меню в любом таскмане - это не быстро). Ну и просмотреть лог, лежащий всё время в одном и том же месте - нужен как минимум ещё один файловый менеджер. Griffon более-менее удобно решает все эти задачи при правильном подходе, но хочется ещё быстрее. После некоторых размышлений появилась идея программы, в которой можно было бы кильнуть и запустить в 2 кнопки из любого места. Ну а дальше - "были бы кости, а мясо нарастёт". * Планы на следующие версии. 1. Реорганизация настроек - будет сделано подменю, из него пойдут отдельные диалоги. Отдельным диалогом должна идти настройка клавиши меню, а то сейчас уже мало кто до конца понимает, как она работает и что должно вылезти при очередном нажатии на неё (автор тоже). 2. Хитрая суперфича - работа со списками программ. Ещё до конца не продумано, но должно быть интересно. 3. Возможно - быстрый SMS и быстрый звонок с быстрым поиском по контактам. 4. Отделение версии под Symbian 6 от версии под Symbian 7-8, с одной единственной целью - показывать иконки стандартных программ на N70. 5. Пройти геморройную процедуру подписи для Symbian 9. * История изменений (легенда: ! вылечено, + новое, * изменения функционала, i прочая инфа 29.02.2008 Версия 0.97 ---------------------- + Испанская и чешская локали + Правила для программ + Список процессов, с возможностью смены приоритета и просмотра потоков + Список потоков + Новые варианты для клавиши меню. * Всё, что касалось функционала клавиши меню - вынесено в отдельный настроечный диалог. * Высокий приоритет процесса, позволяющий нормально реагировать на нажатия клавиши меню. ! Для изменения настройки "показывать все программы в списке" требовался перезапуск. ! Подсос памяти при сохранении настроек ! Задачи вроде "Создания нового SMS" считались скрытыми. ! После некоторых действий дублировались цифровые горячие клавиши + (Symbian 6-7-8) В информации о программе пишется версия для некоторых программ. * (Symbian 6-7-8) Изменен автозапуск. 30.01.2008 Версия 0.96 ---------------------- i Очередная попытка подлечить баги. * Некоторые перетурбации в главном меню. * Автоматическое сжатие памяти происходит асинхронно, чтобы избежать некоторых тормозов при запуске. + Украинская и французская локализации. ! В списке программ не менялся индикатор языка ввода при смене внешними утилитами ! Список программ не обновлялся при вводе символов из диалога по звёздочке ! Программа падала под китайской и итальянской локалью ! (Symbian 9) Падение при удалении программы, а также при выходе из программы. ! (Symbian 9) Падение при добавлении программы в быстрый запуск ! Не работала настройка "Запоминать позицию в меню телефона" 28.01.2008 Версия 0.95 ---------------------- i В-основном исправление багов и оптимизация. + Если в списке программ строка фильтра пуста - стрелки влево/вправо листают постранично. * Меню "Добавить в меню запуска" и "Инструменты" теперь реагируют на стрелки влево/вправо * Программа реагирует на установку/удаление программ * Оптимизация по размеру exe-шника (~25 Кб) * Оптимизация по оперативе (~50-70 Кб) * Оптимизация по скорости. * На 100 ms увеличена скорость вызова главного окна. ! Необновление памяти в заголовке панелей. Кажется, ещё где-то есть. ! Проблема с удалением из быстрого запуска. ! (Symbian 9) кривая инфо-панель. ! Убраны многие (а то и все) лишние задачи, которые раньше отображались. ! Устранён подсос памяти ! Настройки+Отмена+Скрыть = падение 20.01.2008 Версия 0.94 ---------------------- ! Невозможность вызвать окно программы на зависшей задаче и в некоторых играх. Респект EQ! + Список программ может сдвигать последние запущенные проги вверх. Респект maxlerr! + Английская локализация. * (6-7-8) Программа показывает окно эмулятора vbag, прочие не пробовал ! Подправлен алгоритм определения скрытости окон ! Баги клавиши меню ! Запуск некоторых программ в фоне ! (6-7-8) Программа не сжимала память при показе окна. ! В ini-файле сбрасывались настройки iTaskManDelay и iSwitchDelay ! Кривое отображение быстрого запуска после добавления/удаления элементов ! # выводился в быстром запуске, как горячая клавиша 14.01.2008 Версия 0.93 ---------------------- i Первая публичная версия под Symbian 9 ! Попытка исправить "бешенное переключение окон". Вроде что-то получилось + Новый режим главного окна - без нижней строки * В заголовке при включённой опции "отображать память" теперь показывается доступная память + место на дисках. + Часы * Немного раскрасил прогу. + Возможность заменять системное меню на список прог из таскмана. + В менюшках программы клавиша "меню" работает как положено, т.е. вызывает системное меню и стандартную переключалку ! Баги запуска программ. ! По клавише "меню" перемещение было всегда в левом окне. 09.01.2008 Версия 0.92 --------------------- i Блин, так, глядишь и номерков к 1.00 не останется. ! Забыл отключить отладочный лог. Вручную удалить файл C:\Jtask.log + Функция "плавное переключение задач". ! В некоторых случаях, чтобы попасть в системное меню, нужно было 2 раза нажать клавишу "меню". + Написал инструкцию к программе. ! Некорректный старт программ, умеющих открывать документы, из списка. 08.01.2008 Версия 0.91 ---------------------- Исправлены всякие неприятные вещи: - отсутствие Java-прог в меню, - медленный запуск телефонного меню, - перезагрузка N70/72 - приколы с Abc Софт Изменена логика клавиши меню внутри программы, прежнюю логику можно вернуть из настроек. Частичная поддержка физически скрытых программ: - Они отображаются в списке - Их можно добавить в быстрый запуск через добавление документов. Вроде правильно считается общее потребление памяти для Java-программ. 25.12.2007-08.01.2008 Публичные версии 0.50 и 0.90+тестовые Где-то март 2007 - версия 0.01 в противозачаточном состоянии, заброшено. <* >