kolibrios/programs/other/ha
IgorA 9a54fc6aed tinygl: add some double functions, add bcc32 example
libimg: small optimize

git-svn-id: svn://kolibrios.org@8408 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-14 16:48:32 +00:00
..
extra Extra for Hot Angles: utility MIN 2018-09-25 03:15:15 +00:00
SETTINGS Hot Angles 0.3.7: support parameters for running programs; improved mode 3; more settings supported by the configurator; updated readme 2018-10-14 02:39:53 +00:00
build.bat
HACONFIG.ASM tinygl: add some double functions, add bcc32 example 2020-12-14 16:48:32 +00:00
HOTANGLES.ASM @HOTANGLES fix code in trim (symbol "tab") 2018-10-14 04:48:50 +00:00
ReadMe.txt HA Config 0.3.9: bigger font 2020-04-11 17:56:21 +00:00
Tupfile.lua

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Hot Angles

Version 0.3.8: Oct 16, 2018
RU

Комплект утилит (аналог Hot Corners в других ОС) для расширения возможностей рабочего стола пользователя. Название выбрано путём голосования. В комплект входят две утилиты:
@HOTANGLES - основная утилита, позволяющая запускать приложения путём наведения курсора в угол экрана (угол рабочей области);
HACONFIG - утилита конфигуратор, позволяющая настроить действия на каждый угол и активировать/деактивировать эту опцию.
Файл конфигурации: RD/1/SETTINGS/HOTANGLES.CFG (где RD/1/ это тот же SYS - путь к системной директории). Файл состоит из девяти строк:
1) состояние активности опции (один символ): 
   1 или y - опция активна, активирован классический режим работы уголков,
   2 - опция активна, активирован режим работы по горячей клавише,
   3 - опция активна, активирован режим жеста при зажатой активационной клавише,
   n или 0 - опция отключена,
   любой другой символ - поведение по умолчанию (зависит от версии), в большинстве версий означает "опция отключена"; 
2) команда (полное имя приложения) для верхнего левого угла экрана;
3) команда (полное имя приложения) для левого нижнего угла экрана;
4) команда (полное имя приложения) для правого верхнего угла экрана;
5) команда (полное имя приложения) для правого нижнего угла экрана;
6) клавиша активации (для режимов 2 и 3): '0'..'9','a'..'z','A'..'Z',Space,Shift,Alt,Ctrl,'~' (примечание: клавиши Shift,Alt,Ctrl не работают в версии 0.3.7);
7) сканкод клавиши активации (десятичное число, используется @HOTANGLES);
8) радиус срабатывания жеста от начальной точки в момент нажатия клавиши (для mode 3);
Если необходимо настроить только часть углов, а остальные оставить без действия, то в конфигураторе или на нужной строке конфигурационного файла укажите знак минус (символ '-').
Примечание: До версии 0.3.6 включительно файл конфигурации состоял только из 5 первых строк.

Обе утилиты содержат защиту от повторного запуска.
Утилита @HOTANGLES добавлена в автозагрузку ОС (но отключена в собственном файле конфигурации на последних версиях сборок Колибри). Строчка из файла автозапуска (AUTORUN.DAT):
/SYS/@HOTANGLES         ""      0       # Start Hot Angles
@HOTANGLES не запустится, если конфигурационный файл отсутствует или был переименован.
HACONFIG при отсутствии конфигурационного файла выставляет все поля по умолчанию, но не создаёт файл конфигурации самостоятельно (для этого необходимо нажать кнопку "Применить", тогда отсутствующий файл конфигурации будет создан, а существующий перезаписан).
При первом старте утилиты все углы рабочей области настроены на запуск конфигуратора, где вы можете настроить утилиту под себя или отключить её.
Hot Angles начиная с revision #7392 включен в состав дистрибутива и добавлен в автозапуск при старте системы. Поддержка русского языка добавлена в revision #7395. Начиная с версии 0.3.5 добавлен второй режим работы утилиты и возможность выбора программ через Open Dialog. В версии 0.3.8 заработала опция задания размера текста, но пострадал код и качество интерфейса.

В директории extra, рядом с исходным кодом утилит, расположены дополнительные функциональные блоки. На текущий момент директория содержит: 1 утилиту.
MIN - минимизировать/свернуть все окна (кроме системных). Вы можете назначить запуск MIN на любой активный угол вашего рабочего стола, чтобы одним движением курсора в этот угол свернуть все окна на экране.
См. подробнее раздел "Extra-расширения функциональности".


Режимы работы:
--------------------------------------------------
Текущая версия конфигуратора и утилиты работают стабильно только в классическом режиме.
В классическом режиме угол активируется путём наведения курсора. Всё происходит автоматически. Вы наводите мышь в заданный угол рабочего стола, и запускается приложение, связанное с этим углом.
Этот режим активируется символом '1' в начале конфигурационного файла.

Начиная с версии 0.3.5 утилита @HOTANGLES поддерживает второй режим работы - активацию углов по горячей клавише. Активируется режим символом '2' в начале конфигурационного файла. Изменить клавишу активации нельзя, по умолчанию это символ тильда '~' или '`'. В этом режиме для активации угла требуется зажать клавишу тильда и, одновременно с этим, навести курсор в нужный угол рабочего стола.

Начиная с версии 0.3.6 поддерживается третий режим работы - активация жестом при зажатой активационной клавише. Этот режим находится в тестировании. Клавиша активации - тильда '~'. Изменить клавишу нельзя. В этом режиме для активации угла необходимо зажать клавишу тильда и сместить курсор на расстояние 10 пикселей в сторону нужного угла. Спорные направления (вертикально вверх или вниз и горизонтально влево или вправо) игнорируются. Режим предполагает использование из центра экрана, из угла экрана можно вызвать только противоположный ему по диагонали угол. Этот режим в файле конфигурации отмечается символом '3'.

'n' и '0' в начале конфигурационного файла отключают утилиту. Начиная с версии 0.3.6 в конфигураторе HACONFIG есть возможность выбрать любой из этих 4 режимов работы Hot Angles.


Прочие рекомендации:
--------------------------------------------------
Некоторым пользователям может быть удобно настроить открытие меню при попадании в угол его расположения. Например, если у вас кнопка "Меню" расположена в левом нижнем углу, то задайте для этого угла команду:
/rd/1/@MENU


Extra-расширения функциональности:
--------------------------------------------------
Утилита MIN - сворачивает окна на рабочем столе (кроме окон системных процессов с именем, начинающимся с символа @). MIN можно назначить как действие для запуска в Hot Angles, тогда при наведении курсора в заданный угол все окна будут свёрнуты. MIN, как и остальные (extra-расширения) функциональные блоки, не входит в дистрибутив. К тому же утилита очень проста и дублирует функционал панели задач (taskbar). Каждый сам решает о необходимости её использования. 
СКАЧАТЬ MIN (rev.7417): 
http://websvn.kolibrios.org/dl.php?repname=Kolibri+OS&path=%2Fprograms%2Fother%2Fha%2Fextra%2FMIN&rev=7417&peg=7417


Влияние на производительность:
--------------------------------------------------
Если вы используете систему в задачах реального времени или в задачах с высокой нагрузкой на CPU отключите эту опцию. Так же, если вы желаете добиться максимальной скорости работы ОС, то использование этой опции не рекомендуется.
Приложение может увеличивать нагрузку на систему в два раза при обычном использовании мыши (перемещение курсора, клики в определённых областях экрана). 
При выполнении основной функции (запуск любого приложения при наведении курсора в угол экрана) нагрузка на систему возрастает естественным образом.

Известные недоработки, которые будут исправлены в следующих версиях:
[+] отсутствие русского языка;
[+] используется маленький шрифт текста;
[+] нет возможности запуска приложения с параметрами;
[+] знак минус не влияет на попытку запуска в конкретном углу;
[+] пустое поле в конфигураторе и пустая строка в конфигурационном файле неверно обрабатываются; 
[+] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles;
[+] режим явной команды клавишей активации: зажимаем горячую клавишу (например, shift), наводим курсор в угол - происходит реакция;
[+] режим жеста/направления: зажимаем активирующую клавишу, после этого приложение анализирует мышь, в зависимости от направления движения мыши (от начальных координат в момент активации опции) выбирается активируемый угол - происходит реакция;
[+] добавить диалог выбора пути OpenDialog в конфигураторе;
[+] переход на EditBox из библиотеки box_lib;
[+] размазывание текста или его наслоение при вводе в поле EditBox'а;
[+] после запуска приложения, все поля находятся в фокусе (это фича из-за бага в компоненте EditBox);
[+] присутствует неисправленный баг в компоненте EditBox;
[+] приложение конфигуратора не добавлено в системную панель.

Обозначения:
[-] не исправлено
[+] исправлено

Поддержать разработчика, ссылка для доната:
https://money.yandex.ru/to/410011935289152

По найденным ошибкам, вопросам технической помощи и поддержки обращайтесь на
E-Mail: theonlymirage@gmail.com

Процесс создания Hot Angles частично запечатлён на видео:
https://youtu.be/l6mZflqOTJo
https://youtu.be/ssYuJSoBGrk
https://youtu.be/4slBjIoYJis
https://youtu.be/N69_Cky1vB0


Утилиты полностью написаны на FASM. Автор: Сергей Ефременков.
Лицензионное соглашение:

 Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage
 All rights reserved.
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright  notice,
    this list of conditions and the following disclaimer in the documentation and/or
    other materials provided with the distribution.
    * Neither the name of the <organization> nor the names of its contributors may
    be used to endorse or promote products derived from this software without
    specific prior written permission.

 THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
 INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.