Page 3 of 4

Re: Hot Angles

Posted: Fri Oct 05, 2018 4:05 pm
by 0CodErr
А где ж ему быть-то? Это системная настройка как-никак.
Я и говорю
0CodErr wrote:Предложи другой вариант.

Re: Hot Angles

Posted: Fri Oct 05, 2018 4:12 pm
by Leency
БЛИН. :)
Вот этот размер шрифта перебор http://prntscr.com/l2jpel - он слишком большой ИМХО. :)

Re: Hot Angles

Posted: Fri Oct 05, 2018 4:16 pm
by 0CodErr
Leency wrote:БЛИН. :)
Вот этот размер шрифта перебор http://prntscr.com/l2jpel - он слишком большой ИМХО. :)
Аааа... шрифт, используемый в самой программе :) Ну понял тогда.

Re: Hot Angles

Posted: Fri Oct 05, 2018 10:30 pm
by theonlymirage
revision #7436
Вот это самый ночной релиз из всех. В коде появилось много лишнего. В целом, код превратился в хаос, который можно и нужно улучшить в следующих версиях. Что нового в этом релизе:
Добавлен выбор приложений с помощью Open Dialog. Приложение конфигуратора (без сжатия) пожирнело значительно с 2Кб до 24Кб. Это было бы печально, если бы kpack не превратил всё это снова в 2Кб.
В утилите появился тестовый режим работы по горячей клавише. Для активации нужно завершить работу утилиты и вручную отредактировать файл конфигурации: заменить первый символ на символ '2'. После чего перезапустить утилиту. Клавиша активации тильда '~' или '`', изменить её в версии 0.3.5 нельзя. В этом режиме необходимо удерживать клавишу тильда и, одновременно, навести курсор в нужный угол экрана.

Re: Hot Angles

Posted: Fri Oct 05, 2018 10:39 pm
by 0CodErr
theonlymirage wrote:Приложение конфигуратора (без сжатия) пожирнело значительно с 2Кб до 24Кб.
Перемести неинициализированные данные, наподобие таких

Code: Select all

sys_path:      rb 4096
file_name:     rb 4096
plugin_path:   rb 4096
openfile_path: rb 4096
filename_area: rb 256
в самый конец, например, можно сделать как здесь http://websvn.kolibrios.org/filedetails ... %2Fkiv.asm

Re: Hot Angles

Posted: Fri Oct 05, 2018 10:44 pm
by theonlymirage
punk_joker wrote:Пожелания по утилите конфигурирования:
1. Шрифт покрупнее, например как в Run
2. Аналогично Run добавить диалог выбора файла с помощью OpenDialog аналогично как это сделано в Run
Пункт 2 реализован в новой версии.
Шрифт ждём в следующих версиях (скорее всего через одно обновление). Ребята ранее и выше уже накидали, как это можно решить, буду пробовать, какое решение будет в итоге - отпишусь с релизом.

0CodErr, это обязательно, плюс там ещё переменные блокировки можно объединить в одну. Код этой версии - жуть жуткая , никогда так не пишите. Зато есть много чего улучшать.

Re: Hot Angles

Posted: Tue Oct 09, 2018 6:55 pm
by theonlymirage
rev.7443
Добавлен выбор режима в конфигураторе, немного улучшена работа второго режима (по горячей клавише).
Реализован тестовый вариант 3-его режима работы. Клавиша активации в mode 3 это тильда '~'. Изменить клавишу нельзя. В этом режиме для активации угла необходимо зажать клавишу тильда и сместить курсор на расстояние 10 пикселей в сторону нужного угла. Спорные направления (вертикально вверх или вниз и горизонтально влево или вправо) игнорируются. Режим предполагает вызов из центра экрана, из угла эрана можно вызвать только противоположный ему по диагонали угол. Этот режим в файле конфигурации отмечается символом '3'.

Re: Hot Angles

Posted: Wed Oct 10, 2018 12:52 am
by Leency
Немного более стильный DropDown :)

Re: Hot Angles

Posted: Wed Oct 10, 2018 9:10 pm
by theonlymirage
Leency wrote:Немного более стильный DropDown :)
rev.7448
Патч принят, но я немного переделал твой lifehack. Кнопка белая, прямоугольник рисуется под символ-стрелку.
Актуализировано содержимое Readme.

Re: Hot Angles

Posted: Sun Oct 14, 2018 5:55 am
by theonlymirage
rev.7459
Добавлена поддержка параметров для запускаемых приложений (через символ "|").
Доработан режим 3, теперь им удобно пользоваться.
Конфигуратор получил возможность настраивать клавишу активации (для режимов 2 и 3) и настраивать радиус для режима 3.
По умолчанию приложение отключено (с помощью конфигурационного файла, но не убрано из автозагрузки).
Немного обновлено содержимое Readme.

Поддержка размера шрифта в разработке, будет в следующей версии.

Файл конфигурации теперь состоит из девяти строк:

Code: Select all

1) состояние активности опции (один символ): 
   1 или y - опция активна, активирован классический режим работы уголков,
   2 - опция активна, активирован режим работы по горячей клавише,
   3 - опция активна, активирован режим жеста при зажатой активационной клавише,
   n или 0 - опция отключена,
   любой другой символ - поведение по умолчанию (зависит от версии), в большинстве версий означает "опция отключена"; 
2) команда (полное имя приложения) для верхнего левого угла экрана;
3) команда (полное имя приложения) для левого нижнего угла экрана;
4) команда (полное имя приложения) для правого верхнего угла экрана;
5) команда (полное имя приложения) для правого нижнего угла экрана;
6) клавиша активации (для режимов 2 и 3): '0'..'9','a'..'z','A'..'Z',Space,'~','`';
7) сканкод клавиши активации (десятичное число, используется @HOTANGLES);
8) радиус срабатывания жеста от начальной точки в момент нажатия клавиши (для mode 3);
9) размер элементов окна конфигуратора:
   a - auto, автоматически в зависимости от разрешения экрана;
   значение от 1 до 7 - нужный размер на основе размера текста;
   s - в зависимости от системных настроек (опция по умолчанию).
Первый символ "|" в строке команды отделяет параметр от имени приложения. Пример строк запуска приложений с параметрами:

Code: Select all

/rd/1/SHELL | /rd/1/tinypad
/rd/1/SHELL|pwd
Пробелы и табуляции в конце имени программы отсекаются. Параметр может содержать сколько угодно символов "|".

Думал по поводу использования второго режима по умолчанию, чтобы исключить ложные попадания некоторых пользователей. Пришёл к мнению, что такое поведение программы не подходит для первого знакомства с пользователем, проще отключить опцию и дать возможность пользователю самому её найти (и разобраться в ней). Надеюсь, что Колибри это не только ночные сборки, но и релизы. И моё мнение: в релизе с большей вероятностью следует активировать классический режим работы уголков. Режимы 2 и 3 для первого и случайного знакомства с программой не подходят (лишь с натягом, как системную опцию, можно представить вариант второго режима Shift+наведение в угол). Поэтому с ещё чуть меньшей вероятностью следует отключить эту опцию. Отключенная опция уголков наиболее удобна в ночных сборках, так как нет смысла настраивать уголки ради нескольких часов работы. Во всех вариантах, опыт и знакомство пользователя с Hot Angles и необходимость этой утилиты для его повседневных нужд играет наименьшую роль в выборе работы по умолчанию из коробки.
Если совсем кратко, то рекомендация автора утилиты: в ночных сборках - отключаем, в релизе - ставим классический режим.

Re: Hot Angles

Posted: Tue Oct 16, 2018 7:07 am
by theonlymirage
rev.7469
Добавлено последнее не достающее звено - изменение размеров элементов интерфейса в конфигураторе. Добавлено так криво, что лучше этого не видеть. Немного пострадал интерфейс, и много пострадал код.

В общем, есть опция в конце конфигурационного файла (1 байт):

Code: Select all

   a - auto, автоматически в зависимости от разрешения экрана;
   x - в зависимости от sc.work_text (наиболее распространённый размер текста в программах Колибри 2018 года);
   значение от 1 до 7 - нужный размер увеличения на основе базового размера текста (кол-во раз сколько размер будет умножен на 2);
   s - в зависимости от системных настроек (опция по умолчанию).
Все опции, кроме 'x' и 'a', являются попыткой масштабирования/ресайзинга всех элементов. Работает криво.
x - это тот шрифт, которого вы ждали.

s - получает системный шрифт, делит на 2, затем это число раз ресайзит размеры в 2 раза.
a - выбирает в зависимости от разрешения экрана: использовать x или один из масштабов от 0 до 7.
Более подробно об автоматическом выборе: получаем размеры экрана и выбираем большую из сторон, теперь сравниваем её значение со следующими константами.

Code: Select all

значение:
до 1300 это размер 0
до 1899 это x
до 2047 это размер 1
до 4095 это размер 2
до 8191 это размер 3 (дальше для современного человека не актуально)
до 16383 это размер 4
до 32767 это размер 5
до 65535 ставим размер 6
иначе ставим размер 7
Это почти финальная версия. Что нужно исправить в будущем:
  • скорректировать расположение элементов при выборе параметра 'x'
  • реализовать поддержку клавиш Shift, Alt и Ctrl (для использования в режимах 2 и 3)
  • исправить серьёзные баги, если они найдутся
  • местами переписать и оптимизировать код
Изначально проект был обучающим для ютуба, я не планировал поддержку трёх режимов, запуск приложений с параметрами и ресайзинг элементов. Поэтому задача уже перевыполнена в три раза. Реализация всех фишек заняла месяц.
Спасибо за внимание к проекту! ;)

Re: Hot Angles

Posted: Tue Oct 16, 2018 12:19 pm
by Leency
Запутанно описано как работает изменение размера шрифта.
Откуда берется системная настройка? Я меняю http://prntscr.com/l6n8zk и ничего не происходит.
В приложении все еще мелкий шрифт.
Я ожидал изменение шрифта как в http://board.kolibrios.org/viewtopic.php?f=24&t=3767

Re: Hot Angles

Posted: Tue Oct 16, 2018 7:32 pm
by theonlymirage
Системная настройка от системы и берётся (прямо с того твоего скрина). Просто используется не увеличение шрифта а его ресайз (x 2), поэтому эта настройка округляется в меньшую сторону (чтобы заметить изменения ставьте в системе: 9, 18, 27,..)

Ещё попробуй в файле конфига вручную поправить последний символ, поиграйся с 's', 'a', 'x', '1', '0', ...

Re: Hot Angles

Posted: Fri Oct 19, 2018 10:18 am
by theonlymirage
Есть вариант поменять названия режимов в конфигураторе (текст на русском) с текущего:

Code: Select all

"отключено"
"классический режим"
"режим горячей клавиши"
"режим жеста по клавише активации"
на такой:

Code: Select all

"отключено"
"классический режим"
"навести с зажатой клавишей"
"жест при зажатой клавише"
По сути первый вариант называет режимы, второй описывает их действия.
Пишите, что думаете. Вопрос, как понимаете, не горит.

Re: Hot Angles

Posted: Sat Oct 27, 2018 9:57 pm
by Leency
theonlymirage wrote:rev.7469
Добавлено последнее не достающее звено - изменение размеров элементов интерфейса в конфигураторе. Добавлено так криво, что лучше этого не видеть. Немного пострадал интерфейс, и много пострадал код.

В общем, есть опция в конце конфигурационного файла (1 байт):

Code: Select all

   a - auto, автоматически в зависимости от разрешения экрана;
   x - в зависимости от sc.work_text (наиболее распространённый размер текста в программах Колибри 2018 года);
   значение от 1 до 7 - нужный размер увеличения на основе базового размера текста (кол-во раз сколько размер будет умножен на 2);
   s - в зависимости от системных настроек (опция по умолчанию).
Все опции, кроме 'x' и 'a', являются попыткой масштабирования/ресайзинга всех элементов. Работает криво.
x - это тот шрифт, которого вы ждали.

s - получает системный шрифт, делит на 2, затем это число раз ресайзит размеры в 2 раза.
a - выбирает в зависимости от разрешения экрана: использовать x или один из масштабов от 0 до 7.
Более подробно об автоматическом выборе: получаем размеры экрана и выбираем большую из сторон, теперь сравниваем её значение со следующими константами.

Code: Select all

значение:
до 1300 это размер 0
до 1899 это x
до 2047 это размер 1
до 4095 это размер 2
до 8191 это размер 3 (дальше для современного человека не актуально)
до 16383 это размер 4
до 32767 это размер 5
до 65535 ставим размер 6
иначе ставим размер 7
Это напоминает Машину Голдберга. Такой код что читать, что поддерживать сложно, а опции вряд ли пригодятся. Целесообразно было бы выпилить это масштабирование из программы и просто переделать под шрифт 8х14.