Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Да не, ни к чему это, для этой задачи ini вполне достаточно.
А как это будет выглядеть?
Сейчас:

Код: Выделить всё

[8449BB92]
Ver=32
Left=599
Top=394
Width=715
Height=380
В новой варианте:

Код: Выделить всё

[1024x600 (8x16)]
8449BB92_Ver=30
8449BB92_Left=500
8449BB92_Top=300
8449BB92_Width=700
8449BB92_Height=300

[1024x768 (10x20)]
8449BB92_Ver=32
8449BB92_Left=599
8449BB92_Top=394
8449BB92_Width=715
8449BB92_Height=380

[LastResolution]
Res=1024x600 (8x16)
Res будет указывать на секцию с последним разрешением, если секция с текущим будет отсутствовать.
Так?
Loopback писал(а):Идентификаторы это хэш от строки, включающей имя класса и все условия.
Удобно закомуфлировал. :)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Удобно закомуфлировал.
Ага. Но главное работает быстро.

Предполагаю как-то так:
[8449BB92]
Version=32
Screen=1024x768
Left=500
Top=300
Width=700
Height=300

Хэш для разных разрешений будет разный. Можно было бы и размеры экрана не выносить в секцию, но так можно организовать уборку неиспользуемых секций (для этого и Version). А может и не буду выносить, все равно автоматическая уборка теперь будет неэффективна.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Хэш для разных разрешений будет разный.
Хм. Т.е., как ни крути, получается либо много хэш-ключей в секциях разрешений либо много хэш-секций. Т.е. без разницы. ОК.
Но LastResolution при отсутствии всё равно нужен. И, конечно, уменьшение и/или сдвиг до границ экрана при выходе за них, что ты изначально предлагал.
Loopback писал(а):(для этого и Version)
А как ты будешь узнавать, в какой секции её искать?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Но LastResolution при отсутствии всё равно нужен.
А вот нужен ли? Лучше пусть эту работу тотал сделает. Если плагин ничего не будет двигать под новым разрешением, тотал сам уменьшит размер окна так, чтобы оно уместилось.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):А вот нужен ли?
Да. Т.к. дело не в "уместилось", а в исходном увеличении некоторых диалогов без необходимости снова дёргать за их границы. Тем более, что у нас есть /CENTER.

А насколько целесообразно здесь учитывать размер шрифтов, как в ТС?
Структура файла wincmd.ini писал(а):[1024x768 (10x20)] Данные, зависящие от разрешения экрана и размера шрифта (размер шрифта определяется числами в скобках: (8x16) — для нормального и уменьшенного шрифта, (10x20) — для крупного шрифта).
Про Version поясни, пож-та.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):а в исходном увеличении некоторых диалогов
По-моему это совершенно излишне, как будто ты по десять раз на дню меняешь разрешения (и все разные) и настраиваешь их. Все равно под другие разрешения скорее всего придется корректировать. Ну ок, давай громоздить излишества, одним больше, одним меньше...
Flasher писал(а):А насколько целесообразно здесь учитывать размер шрифтов, как в ТС?
Да я уже не знаю ,что тут еще считать целесообразным.
Flasher писал(а):Про Version поясни, пож-та.
Это было сделано для уборки неиспользуемых секций, чтобы плагин мог знать, в какой версии, 32 ил 64 битной версии секция была создна. Теперь это уже не понадобится, с таким количеством параметров и привязок все равно ничего не очистишь, уберу ее нафиг.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а): как будто ты по десять раз на дню меняешь разрешения (и все разные) и настраиваешь их.
Это было бы справедливо, если бы окон было пару штук, а когда их пару-тройку десятков и ты не знаешь, в какой момент ты доберёшься до того или иного, то лучше иметь приемлемый вариант без лишней нервотрёпки (мол, ну вот опять я что-то забыл и т. п.).
Loopback писал(а):Ну ок, давай громоздить излишества, одним больше, одним меньше...
Ну, знаешь. Одна секция и один ключ — это так себе излишество. ;)
Loopback писал(а):Да я уже не знаю ,что тут еще считать целесообразным.
Да это я на всякий спросил, не запаривайся. :)

Про Version понял.
Последний раз редактировалось Flasher Чт мар 07, 2019 15:37, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Одна секция и один ключ —
Где же одна, когда это надо делать под каждый диалог отдельно?

Теперь для каждого диалога будет по десятку секций - одна "последняя" для него и под разные разрешения. И при каждой записи позиций писать надо в две секции - в текущего разрешения и "последнюю". Иначе как потом при переходе на новое разрешение плагин узнает, какое разрешение было раньше и откуда надо брать данные?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

А если использовать предложенный мной вариант с секциями разрешений без добавки их в хэш? Тогда и не придётся плодить сущности.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А если использовать предложенный мной вариант с секциями разрешений
Уже смотрел, нет, это не проще.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Тут ключевое "без добавки их в хэш". Что именно усложнит ситуацию?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Сегодняшнаяя версия.

+ сделал сохранение позиций зависимой от разрешения
- убрал очистку секций

Всё, это "последняя китайская хотелка", больше ничего глобального не добавляю. Иначе я за себя не ручаюсь, брошу вообще как есть :)

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

В pos-файле есть три ключа:
ScreenResDependent=1 - если 1, будет зависимость от разрешения, если 0 не будет (как в предыдущей версии).
RestoreFromLastRes=1 - если 1, при смене разрешения берутся размеры окна из предыдущего разрешения, если 0 - окно позиционирует тотал
NoRestartToCreate=1 - если 1, при смене разрешения секция создается сразу в той же сессии, если нет - нужен перезапуск тотала

Кстати, там еще хэш неправильно создавался, старый файл лучше стереть.

Справку не обновлял.

Avada
В пылу спора пропустил сообщение :) Хорошо, добавлю.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Супер. Спасибо! :P
1. Немного потестил. Почти то, что надо, только при смещении окна за левую границу оно не смещается до левого края. С правой границей всё в порядке.
2. Почему для каждого окна создаётся по две секции с одинаковыми данными?
3. Сперва не удалял pos, секция Common и три указанных ключа появились. После удаления файла и новых тестов секция не появилась.
4. С "Выбор команды" интересная ситуация: если сперва использовать Win+Right, а потом Win+Left, то при следующем открытии окно прыгает из стороны в сторону, хотя сам ТС не должен запоминать ни один из вариантов. :?:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):только при смещении окна за левую границу оно не смещается до левого края.
Ок, поправлю, но не сегодня.
Flasher писал(а):Почему для каждого окна создаётся по две секции с одинаковыми данными?
Это норма. Одна секция "независимая от разрешения", играет роль "последней" для данного диалога, она же работает, если отключить зависимость от разрешения. Две они создаются только вначале, потом каждое новое разрешение будет добавлять только одну секцию.
Flasher писал(а):Сперва не удалял pos, секция Common и три указанных ключа появились. После удаления файла и новых тестов секция не появилась.
А тотал перезапускал? Ключи создаются только при запуске, если есть хотя бы один диалог с сохранением.
Flasher писал(а): С "Выбор команды" интересная ситуация
Не знаю, значит что-то все-таки сохраняет. Я двигаю один раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Ок, поправлю, но не сегодня.
Я и не рассчитывал. На моих до конца сегодня полчаса осталось. Отдыхать надо'с. :wink:
Loopback писал(а):Это норма.
А как происходит чтение? При каждом вызове любого окна считываются все хэши на предмет класса и разрешения? Это разве не замедляет процесс в сравнении с переходом к одной секции с нужным разрешением, как я предлагал?
Loopback писал(а):Ключи создаются только при запуске
Понял. Вижу.
Loopback писал(а):Не знаю, значит что-то все-таки сохраняет.
Действительно. Иногда, если переключаться таким образом, ТС восстанавливает половинчатое окно. Это ещё поймать надо. В иных ситуациях, будь окно полностью развёрнуто или восстановлено в дограничном варианте, а после спозиционировано по одной из указанных комбинаций, запоминания не происходит никогда.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить