Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Здесь обсуждается всё, что касается макросов.
User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

Предыстория вопроса
Современный мир характеризуется большим количеством больших экранов.
А также длинными именами файлов, и прочими "многа букав"
В то же время, размер диалоговых окон в ФАРе, не менялся десятилетиями,
обладая слишком малой величиной, чтобы полностью соответствать современным вызовам.
Более того, не было никакой возможности расширить окошки до приемлимых размеров даже вручную.
Но эти эти горести остались в далеком темном прошлом (смахивает слезу)
поскольку сейчас у нас есть Автоматический Раздвигатель Окон!

https://github.com/dr-dba/LUA-FAR-STUFF ... .XeR0X.Lua

Last edited by Xerox on Fri 03 Jan, 2020 08:52, edited 47 times in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

Latest post of the previous page:

Добрый дедушка @XeRoX прислал подарков! :Yahoo!:
Теперь размеряльщик диалогов сохраняет заданные размеры между запусками,
т.е. при закрытии ФАРа и новом запуске.
Обращаю внимание, чтов в комплект входит самописный модуль для CRC32,
как обьяснил дедушка, оный нужен для диалогов и меню где не задан GUID,
тогда там с этим модулем вычисляется CRC32 и используется как GUID.

по просьбе администрации сайте сей атачмент удален, см. атачмент на последней странице темы
Last edited by citRiks on Wed 29 Apr, 2020 16:23, edited 3 times in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

@XeRoX wrote:Надысь скрипт прошел рефакторинг чуть менее чем полностью,
первоначальной целью было "чуть-чуть подправить", которая быстро сменилась на "так жить нельзя"
Еще обусловлено требованием к производительности которая становится критична.
когда приходится перебирать каждый элемент диалога на предмет его "натыканий" на каждый другой элемент
Основное допилено, но осталось еще подопиливать
Желающие могут брать с ГитХаба
https://github.com/dr-dba/LUA-FAR-STUFF
ГитХаба теперь нет и не будет, см. атачмент на последней странице
Last edited by citRiks on Wed 29 Apr, 2020 16:26, edited 1 time in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

@XeRoX wrote:Исправлены пара регрессий и некрасивостей, и все теперь работает как надо.
Остается вопрос, что делать, когда один и тот же ГУИД принадлежит разным диалогам\меню.
В принципе надо полностью доперевести все с ГУИДов на CRC32..
наверное на выходных будет и это доделано.
Если кому не терпится, то все на ГитХабе, там всегда стабильные и рабочие последние версии
Last edited by citRiks on Wed 04 Mar, 2020 23:13, edited 2 times in total.

User avatar
zg
zero-gravity
Posts: 5817
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by zg »

citRiks wrote:
Wed 04 Mar, 2020 23:11
Остается вопрос, что делать, когда один и тот же ГУИД принадлежит разным диалогам\меню.
это баг. если где-то обсуждать это у себя на кухне — само не вылечится.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

zg
шлет маляву:
@XeRoX wrote:если наткнусь - сообщу, воспроизвести не помнится-не удается.
кроме проблемы с тем что во всех главных меню (Commands, Options. Left, Right, etc),
есть такая анонимность:
----------------
Area.Current = "MainMenu"
Menu.Id = "00000000-0000-0000-0000-000000000000"
Dlg.Id = ""
OwnerGuid = "00000000-0000-0000-0000-000000000000"
Handle = "FarDialog (0x02fd4b58)"
----------------
Лечится?

Tакже неплохо бы приделать ГУИД или хотя бы хэндл к Серчу который анонимный и как чемодан без ручки:
-----------------
Area.Current = Search
Dlg.Id:
OwnerGuid: 00000000-0000-0000-0000-000000000000
Handle = 0
-----------------
так как было бы логично управлять размером и Серча, нельзя ли ему приделать хотя бы хэндл?
Как и к другим таким диалогам, чтобы по возможности у всех окошек был бы как минимум хэндл для управления и желательно ГУИД
Last edited by citRiks on Thu 05 Mar, 2020 10:31, edited 1 time in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

zg,
шлет такую весть, авторская орфография сохранена:
@XeRoX wrote:
Обнаружися Великий Баг такой, а может оное тайна сия есть,
и оному так и надобно быти, и повествую тако.
Заходиши ежели в настройки ПлугИнов , выбирамши НетБокс.
В оном НетБоксе конфигурацонное меню, обладаить:
Меню.Ид = "42E4AEB1-A230-44F4-B33C-F195BB654931"
Овнер.Ид = "42E4AEB1-A230-44F4-B33C-F195BB654931"
И тако кажити:

Code: Select all

 ╔══════════ NetBox  ══════════╗
 ║  Interface settings         ║
 ║  Confirmations              ║
 ║  Panel settings             ║
 ║  Transfer settings          ║
 ║  Background transfers       ║
 ║  Endurance settings         ║
 ║  Editor/viewer settings     ║
 ║  Logging settings           ║
 ║  Integration settings       ║
 ╟─────────────────────────────╢
 ║  About                      ║
 ╚═════════════════════════════╝
И далее, чего бы не выбирати, все одно будет БеседноеОкно тако:

Code: Select all

Dlg.Id = "42E4AEB1-A230-44F4-B33C-F195BB654931"
OwnerGuid = "42E4AEB1-A230-44F4-B33C-F195BB654931"
Handle = FarDialog (0x033b1680)
и вопрошаем, бого-угодно ли, чтобы даже ручка была у таких БеседныхОкон была одна и та же у всех надписана FarDialog (0x033b1680)?
PS
Как правильно отметил ZG:
zg wrote:
Thu 05 Mar, 2020 19:08
а написали бы, что во всех диалогах настройки нетбокса одинаковые гуиды
проблема в одинаковых ГУИДах НетБокса.
Отмечу лишь что еще @XerRoX-у мешают одинаковые "ручки" (то бишь handles) во многих разных диалогах.
И мешает совсем отсутствие Гуида в главном меню.
И предлагает добавить "ручки" (=handle) к диалогу Search, а то изменение размера совсем никак не сделать без этого.

Ну не может он говорить умно и по-иностранному, а я слабоват в скриптинге.
Ну как смогли обяснили вам, извиняйте если что.
 ! Message from: John Doe
Часть темы отделена в viewtopic.php?f=15&t=12058
Last edited by citRiks on Thu 05 Mar, 2020 20:45, edited 2 times in total.

Shmuel
Posts: 6124
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Shmuel »

Last edited by HaRT on Fri 06 Mar, 2020 00:07, edited 1 time in total.
Reason: Спрятан офтопик

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

Last edited by HaRT on Fri 06 Mar, 2020 00:07, edited 1 time in total.
Reason: Спрятан офтопик

User avatar
HaRT
Moderator
Posts: 9419
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by HaRT »

 ! Message from: HaRT
Дискуссия про баны отделена. Прошу не офтопить (там тоже не).
Фар есть инструмент, а не нянька. © 2009 DrKnS

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

@XeRoX wrote: спроси ты друг, у благочестивых братьев на форуме,
использует ли кто​​ ReXiZeR с пользой, или уже можно оставить эту затею?
какъ продолжение того же вопроса, ​​ есть ли перспектива попасть в "​полезныя​ скрипты",
и от чего или кого это зависит?

Если же интереса не будетъ,
то я лишь для порядка, можетъ быть, собираюсь интегрировать с "aligner"-ом.
МОЖЕТ БЫТЬ.
или как возможно просто детектированіе любых ручных манипуляций​ с размеромъ и положением диалогов,
с целью восприятия и сохраненія их как "custom position+size".
Прямо сейчас, если двигать диалоги НЕ средствами этого скрипта,
и если хотим сохранить это изменение позиции/размера на будущее аки кастомное​​,
то тогда надо вдобавок сдвинуть окно СРЕДСТВАМИ скрипта хотя бы на одну позицію,
и тогда сохранится как ​​кастомное (можно сдвинуть на одну позицію и обратно)
Но лучше бы, чтобы alignment сохранялся какъ alignment, а не какъ сейчасъ абсолютная позиція.
Опять же, въ зависимости отъ общественнаго интереса

Аминь.
Админу спасибо за актуализирование этого сообщения, если можно передвиньте его еще раз в конец
Last edited by citRiks on Sat 07 Mar, 2020 11:01, edited 3 times in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

@XeRoX wrote: по предложению брата нашего А. Буняка, и в силу его великих заслуг на форуме, и из христианского нашего миролюбия,
добавлено восстановление усекновенного имени файла в разных БеседныхОкнах где оно усекается, как то:
* БеседноеОкно копирования
* БеседноеОкно передвижения/переименования
* БеседноеОкно атрибуций

и также починка багов имевших место быти.

Аз есмь, аминь.



по просьбе администрации сайте атачмент удален, см. атачмент на последней странице темы
Last edited by citRiks on Wed 29 Apr, 2020 16:22, edited 6 times in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

Приаттачена тестовая версия, идентификация по овнеру если он есть и сигнатуре,
т.е. ГУИД приходится игнорировать если есть Овнер.

(этого пока нет, в планах:)
UserMenu и MainMenu будут идентифицироваться по CRC32 пунктов выбора,
в них пункты выбора если и меняются, то редко
реализовано, смотреть атачмент на последней странице темы
Last edited by citRiks on Wed 29 Apr, 2020 16:17, edited 2 times in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

PS
очень может быть что стоит перейти целиком на идентификацию по сигнатуре,
так стабильных свойств елементов диалога набралось приличное количество,
скорее всего достаточное для создания уникальлного хэша


User avatar
John Doe
Бюрократ
Posts: 12820
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 286 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by John Doe »

Для чего вы плодите вложения, если в шапке есть ссылка для скачивания?
https://t.me/FarManager — Telegram чат

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

John Doe,
по многим причинам из них первая что ссылка неправильная.
далее, когда есть что новое или починенное, то стоит об этом написать
можете мне дать редактирование заголовка - тоже вариант

Post Reply

Return to “Обсуждение макросов”