Page 1 of 4

Hot Angles

Posted: Fri Sep 21, 2018 5:00 am
by theonlymirage
Hot Angles
Последняя версия утилиты: 0.3.7 от Oct 14, 2018
Выход предыдущих версий (history):
0.0 -- Sep 5, 2018 [начало работ, нет на svn, есть на видео]
0.1 -- Sep 18, 2018
0.2 -- Sep 19, 2018
0.3 -- Sep 22, 2018
0.3.1 -- Sep 23, 2018
0.3.2 -- Sep 24, 2018
0.3.3 -- Sep 25, 2018 [стабильная]
0.3.4 -- Sep 28, 2018 [нет на svn]
0.3.5 -- Oct 5, 2018
0.3.6 -- Oct 9, 2018
0.3.7 -- Oct 14, 2018
0.3.8 -- Oct 16, 2018

Hot Angles - название, выбранное сообществом. Утилита позволяет запускать приложения путём наведения курсора в угол экрана (угол рабочей области). Это аналог Hot Corners в других ОС. В комплект входят:
@HOTANGLES - основная утилита, позволяющая запускать приложения путём наведения курсора в угол экрана (угол рабочей области);
HACONFIG - утилита конфигуратор, позволяющая настроить действия на каждый угол и активировать/деактивировать эту опцию.
Файл конфигурации: RD/1/SETTINGS/HOTANGLES.CFG (где RD/1/ это тот же SYS - путь к системной директории). Файл состоит из пяти строк:
1) состояние активности опции: y - опция активна, n или любой другой символ - опция отключена;
2) команда (полное имя приложения) для верхнего левого угла экрана;
3) команда (полное имя приложения) для левого нижнего угла экрана;
4) команда (полное имя приложения) для правого верхнего угла экрана;
5) команда (полное имя приложения) для правого нижнего угла экрана.
Если необходимо настроить только часть углов, а остальные оставить без действия, то в конфигураторе или на нужной строке конфигурационного файла укажите знак минус (символ '-'). Пустое поле не допустимо (особенности актуальной версии).
Небольшая документация идёт в файле ReadMe.txt рядом с исходным кодом приложения (директория /programs/other/ha, ссылка на svn).
Как работает утилита можно увидеть из видео для версии 0.1.



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

Список пунктов для улучшения в следующих версиях:

Code: Select all

[+] переход на новый компонент EditBox из основной библиотеки -> сделано;
[+] используется маленький шрифт текста ->  увеличим;
[+] нет возможности запуска приложения с параметрами -> добавим;
[+] знак минус не влияет на попытку запуска в конкретном углу -> исправлено;
[+] пустое поле в конфигураторе и пустая строка в конфигурационном файле неверно обрабатываются; 
[+] добавить диалог выбора пути OpenDialog в конфигураторе;
[+] повреждение файла конфигурации после многократного вкл./выкл. опции Hot Angles;
[+] размазывание текста или его наслоение при вводе в поле EditBox'а (вероятно исправится с переходом на новый компонент).
Известная проблема текущей версии: повреждение файла конфигурации.
Решение:
Если на вашем компьютере уголки не заработали, то зайдите в директорию RD/1/SETTINGS и проверьте содержимое конфигурационного файла (HOTANGLES.CFG). Обычно он пуст (и размером 0 байт). Удалите или заполните его вручную, после чего запустите утилиту снова.
Конфигурация по умолчанию:

Code: Select all

y
/rd/1/HACONFIG
/rd/1/HACONFIG
/rd/1/HACONFIG
/rd/1/HACONFIG
Ожидайте исправления в ближайший месяц.

Пишите о возникающих проблемах и вопросах, о найденных вами багах/ошибках!

Re: Hot Angles

Posted: Fri Sep 21, 2018 8:34 am
by Siemargl
Такая функциональность меня очень раздражала в Win8, даже более расширенная - нужно начать с угла и потянуть мышь вдоль стороны монитора.
Вечно вылезало ненужные мне панели.

Хорошо, ее убрали в Win10.

Так что нужно продумать удобные настройки вызова - таймер задержки например, или клик мышей в углу.

Re: Hot Angles

Posted: Fri Sep 21, 2018 10:15 am
by theonlymirage
Win8 это просто ужасная функциональность и пример того, как делать не надо. Там оно решало другую задачу, и это было одно из самых кривых решений при работе с мышью.

Клик мыши в углу это не удобно (навести в угол и кликнуть значительное труднее, чем просто навести), даже если делать маленькую квадратную область в углу - это потенциально ложные срабатывания при работе с окнами/иконками и прочими элементами. Но...

Siemargl,
Могу предложить решение для тебя, и даже уверен ты такой не один, кто и вроде бы хотел бы пользоваться углами, но хотел бы, чтобы они активировались явно. Предложение добавить второй и третий режимы работы приложения:
1) классический, как сейчас: наводим курсор на угол - реакция;
2) клавишей активации: зажимаем горячую клавишу (например, shift), наводим курсор в угол - реакция;
3) жестом/направлением: зажимаем активирующую клавишу, после этого приложение анализирует мышь, в зависимости от направления движения мыши (от координат в момент активации опции) выбирается активируемый угол - реакция.

Если заинтересует, то я добавлю такой функционал в будущем.

Re: Hot Angles

Posted: Fri Sep 21, 2018 12:05 pm
by Siemargl
Вполне можно сделать настраиваемый выбор.

В бокслибе есть и чекбоксы и радиокнопки.

Re: Hot Angles

Posted: Sat Sep 22, 2018 3:06 am
by theonlymirage
Siemargl wrote:Вполне можно сделать настраиваемый выбор.
В бокслибе есть и чекбоксы и радиокнопки.
Окей, ожидай будущих версий. После исправления основных ошибок, попытаюсь что-то из этого добавить.

В revision #7403 осуществлён переход на компоненты (EditBox и CheckBox) из библиотеки box_lib. Это закрывает такие пункты ошибок как:
  • задача перехода на новый компонент EditBox из основной библиотеки;
  • размазывание текста или его наслоение при вводе в поле EditBox'а;
  • уязвимость доступа к памяти приложения через поля ввода (вот эта).
Тестируем и отписываемся в теме! ;)

Re: Hot Angles

Posted: Sat Sep 22, 2018 1:27 pm
by Leency
> переход на компоненты (EditBox и CheckBox) из библиотеки box_lib
Быть может старые инклуды, которые ты использовал, удалить, чтобы не было подобных ошибок в будующем?
Или у них есть еще какая-то ценность?

Re: Hot Angles

Posted: Sat Sep 22, 2018 9:38 pm
by theonlymirage
Копию файлов из директории Hot Angles я удалил. Остатки в коде, что я закомментил, я удалю в след. обновлении.
Удалять ли эти inc'и из других директорий - это вопрос поддержки каждой программы. Например, в директории programs/develop/examples лежат примеры с этими inc'ами: их(примеры) нужно перевести на библиотеку и после этого спокойно удалить inc'и (вряд ли на них завязаны ещё какие либо приложения). Наверняка есть ещё ряд приложений использующих копии старых компонентов editbox и checkbox. Последний кстати вполне работоспособен.

Re: Hot Angles

Posted: Sun Sep 23, 2018 11:16 am
by Leency
У меня заработал HotAngels :)
Надо бы его убрать со стороны меню, он там часто вызывается по ошибке.

Re: Hot Angles

Posted: Sun Sep 23, 2018 12:08 pm
by 0CodErr
theonlymirage, может быть стоит добавить диалог выбора пути OpenDialog в конфигураторе?
Можно посмотреть пример в приложении @ICON http://websvn.kolibrios.org/listing.php ... t]загрузка необходимой библиотеки http://websvn.kolibrios.org/filedetails ... #line-1078
инициализация http://websvn.kolibrios.org/filedetails ... 7#line-153
вызов http://websvn.kolibrios.org/filedetails ... 6#line-378[/list]

Re: Hot Angles

Posted: Sun Sep 23, 2018 3:02 pm
by theonlymirage
Leency wrote:У меня заработал HotAngels :)
Хорошая новость, но всё же интересно почему у тебя до этого не работали углы? И да, опечатка классная "HotAngels" - горячие ангелы!
Для угла меню в конфиге поставь минус '-'. Мне кажется при запуске утилиты нет смысла определять в каком углу у тебя меню (ведь оно может быть где угодно, или совсем оболочка другая).
0CodErr wrote:theonlymirage, может быть стоит добавить диалог выбора пути OpenDialog в конфигураторе?
Можно посмотреть пример в приложении @ICON http://websvn.kolibrios.org/listing.php ... t]загрузка необходимой библиотеки http://websvn.kolibrios.org/filedetails ... #line-1078
инициализация http://websvn.kolibrios.org/filedetails ... 7#line-153
вызов http://websvn.kolibrios.org/filedetails ... 6#line-378[/list]
Добавил в список на будущее.

Re: Hot Angles

Posted: Mon Sep 24, 2018 3:46 am
by theonlymirage
В revision #7412 обновлён конфигуратор HACONFIG, теперь можно оставлять поле ввода пустым, знак минус '-' подставится автоматически при нажатии кнопки "Применить".

Это не распространяется на случай, если вы редактируете файл конфигурации вручную - в этом случае всё ещё требуется ставить минус, так как все пустые строки будут пропущены.

Re: Hot Angles

Posted: Mon Sep 24, 2018 10:04 am
by Leency
theonlymirage
Меню может быть или сверху или снизу слева, но не в других положениях.
Дефолтные настройки меняют редко, потому надо просто выключить HotAngles в левом нижнем углу.

Re: Hot Angles

Posted: Mon Sep 24, 2018 2:56 pm
by theonlymirage
Leency wrote:theonlymirage
Меню может быть или сверху или снизу слева, но не в других положениях.
Дефолтные настройки меняют редко, потому надо просто выключить HotAngles в левом нижнем углу.
Идея плохая, и вот почему:
По умолчанию при наведении курсора в любой угол запускается конфигуратор.
По умолчанию при наведении курсора в любой угол, кроме левого нижнего угла, запускается конфигуратор.

Чувствуешь возникшую кривость в описании? После такого исправления пользователю уже просто и понятно не объяснишь (придётся говорить, что там было меню и так как большинство попадали мимо, то для удобства мы этот угол отключили в настройке по умолчанию, но ты всё так же можешь его настроить в конфиге). Дальше будет больше. Проще тогда отключить совсем или убрать из дистра, чем рушить целостность поведения приложения.

Re: Hot Angles

Posted: Mon Sep 24, 2018 3:18 pm
by Leency
Кривость в описании одно, а неудобство использования другое. Второе намного важнее, чем первое.
Вообще следует указать в угол чего.
При наведении курсора в угол экрана запускается конфигуратор. По умолчанию активны все углы кроме левого нижнего.

Re: Hot Angles

Posted: Mon Sep 24, 2018 3:40 pm
by paulcodeman
Я думаю лишнее запускать диалог настройки в случае если не определены настройки. Да и глупо как-то, такое чувство что пользователей за дураков считают, которые не смогут сами найти программу настройки.