Страница 1 из 3

[WFX] Environment Variables Ex

Добавлено: Вс май 27, 2012 14:34
SPeller
http://wincmd.ru/plugring/envvars.html
Ссылка для скачивания: http://wincmd.ru/download.php?id=envvars
FS-плагин для Total Commander. Предназначен для просмотра и редактирования переменных окружения текущего процесса (TC), текущего пользователя и системы.

Сделан по образу и подобию плагина Environment Variables, но со следующими отличиями:

- Исправлена ошибка, из-за которой невозможно редактировать переменные с длинными значениями (например, PATH).
- Плагин полностью юникодный.
- Добавлена х64 версия.
- Добавлена поддержка файловых операций с переменными как с обычными файлами: копирование из и в плагин, переименование, перемещение. Поддерживается загрузка значений переменных как в кодировке ANSI, так и в Unicode (UCS-2).
- Добавлено отображение значения переменных в отдельной колонке для лучшей работы с файлами и показа значений переменных без преобразований.
- Добавлен диалог повышения прав, если их не хватает для редактирования переменной.
Прошу пощупать и проверить ) И отписаться о проблемах и предложениях.

Плагин имеет формат языковых файлов такой же, как и в оригинальном Environment Variables, с тем лишь отличием, что файлы в формате Unicode. Файл настроек тоже имеет тот же формат, но в юникоде и под другим именем. Поэтому если просто положить старые файлы - ничего не получится, нужно преобразовать в юникод (блокнот в помощь).

Ваши файлы локализации выкладывайте на форуме, или на мыло speller@yandex.ru

Добавлено: Вс май 27, 2012 17:42
MVV
Запрашивать права администратора умеет? Без этого в 7 уже никуда.

Удобно INI-файлы использовать для локализации и настроек - API одинаково хорошо читают как ANSI, так и Unicode-файлы.

Добавлено: Вс май 27, 2012 18:03
Mellomann
{ПКМ по envvars в fs-плагинах -> "Свойства"} не работает, и, следовательно, на русский переключить не представляется возможным.
Подсовывание конфиги от старой версии ничего не дало.

Добавлено: Пн май 28, 2012 01:32
SPeller
MVV
MVV писал(а):Запрашивать права администратора умеет? Без этого в 7 уже никуда.

Удобно INI-файлы использовать для локализации и настроек - API одинаково хорошо читают как ANSI, так и Unicode-файлы.
Не умеет, но можно и научить, в принципе. Пока целью было сделать рабочий аналог по функционалу. Но elevate тоже полезно будет сделать. Сам я пользуюсь исключительно стандартным функционалом, поэтому его пока и реализовал.

Про ини - давно решил послать лесом все национальные кодировки. Кроме utf-8 и ucs-2 ничего не признаю ) Поэтому настроек в ansi не будет ) Через системное апи читаю только конфиг, языковой файл уже руками парсится.

Mellomann
Mellomann писал(а):{ПКМ по envvars в fs-плагинах -> "Свойства"} не работает, и, следовательно, на русский переключить не представляется возможным.
Подсовывание конфиги от старой версии ничего не дало.
В Первом сообщении я написал:
Нет окошка настроек
Поэтому, идем в папку c плагином и ручками прописываем язык. Точнее, раскомментируем там одну строчку, которая русский и включит.
Старые файлы и не будет понимать, об этом в первом сообщении и писал, хоть и не прямо, сейчас поправил.

Добавлено: Вт май 29, 2012 17:28
SPeller
http://wincmd.ru/download.php?id=envvars

Обновил плагин.

Запилил диалог настроек, сделал отображение значений отдельной колонкой, добавил поддержку основных файловых операций: переименование, копирование, перемещение и т.п. Можно загружать в плагин обычные файлы - их содержимое будет занесено в переменную окружения с именем, равным имени файла. Как следствие - можно нажать F4, отредактировать значение в текстовом редакторе, сохранить, и загрузить обратно в плагин, чтобы применить изменения. Пока никаких проверок на содержимое не делается, кроме попытки определить загружаемый файл как Unicode путем поиска BOM. Если BOM не найден, то файл читается как ANSI. Размер ограничен в 4КБ (взял с потолка, если надо изменить - скажите). Создавать переменные по Shift+F4 нельзя - это ограничение ТС, только через внутренний диалог создания.

Добавлено: Ср май 30, 2012 08:36
mrmerak
SPeller
интересный плагин. При вызове настроек получаем это:
---------------------------
Total Commander 8.0
---------------------------
Exception in envvars.wfx:FsExecuteFile!
Access violation at address 00000000. Read of address 00000000
Windows 7 SP1 6.1 (Build 7601)

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000005
Stack trace:
00000000
46E3A5 46E47E 4030D0 4030D0 653B88 655504
>555A03 63822A 447253 445D99 446716 423EA8
445CD7 423EA8 429574 42960C 6D7C34
Raw:
4030D0 46DCB9 46DCB9 425B84 40767A 46E3A5
46E3BB 40208E 4023DB 425B84 46E47E 4030D0
4030D0 410080 4030D0 46DCB9 444FFE 46DCB9
444FFE 445CD7 40767A 46E3A5 46E3BB 40208E
4023DB 445CD7 46E47E 4030D0 4030D0 653B88
6860C2 652F86 423EA8 6532C8 6533F1 446A8F
4447C5 4469E5 445D27 435E02 445D27 445D99
446716 446739 6D49F7 655504 445CD7 423EA8
6D454B 69AFFF 63006C 560066 63006C 560066
4079AA 4023DB 4026A4 4036AD 403796 407CC6

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Да Нет
---------------------------

Добавлено: Ср май 30, 2012 10:29
SPeller
Интересно. Проверю. В 8-й версии не тестировал... Это сходу при вызове настроек такая беда?

Добавлено: Ср май 30, 2012 12:11
mrmerak
SPeller
да

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

Да, забыл сказать, я юзаю только один *.wfx-файл

Добавлено: Ср май 30, 2012 13:03
wOxxOm
У меня в TC8 (релиз) настройки открываются, в списке, правда, только Default.
Если выйти с открытым плагом и запустить тотал, то при след запуске все показывается.
Есть проблемка - если настраивать ширину колонок вручную, то после перезапуска ТС первая колонка становится очень широкой и значения не видно в окошке ТС, а колонка с значениями опять становится стандартной ширины.

Плагин конечно стал гораздо удобнее оригинала благодаря отдельной колонке значений, круто!

Как насчет опции, чтобы сразу показывались переменные последней использовавшейся ветки? Ну или выбранной в опциях ветки (с папками перехода на другие ветки вверху)?

Добавлено: Ср май 30, 2012 13:38
Mellomann
wOxxOm писал(а):Есть проблемка - если настраивать ширину колонок вручную, то после перезапуска ТС первая колонка становится очень широкой и значения не видно в окошке ТС, а колонка с значениями опять становится стандартной ширины.
Подтверждаю, настройки вообще не сохряняются после выхода (ни в wincmd ни в конфиге плагина). Пожелания - сохранять настроеное значение в конфиге плагина и сделать ширину колонок где-то около "250,40,300".

Добавлено: Ср май 30, 2012 14:58
MVV
Вы правда верите, что тотал сообщает плагину, какие ширины колонок ставит пользователь? :D
И более того, даже если плагин захочет их узнать, он никак не сможет этого сделать.

Пробуйте сохранять настройки в тотале после изменения ширины колонок.

Добавлено: Ср май 30, 2012 15:05
wOxxOm
Сохранил - не помогло...
А может ли плагин задавать сам ширины колонок? Тогда можно было бы ввести опцию "растягивать колонки во всю ширину окна"

Добавлено: Ср май 30, 2012 15:55
SPeller
Mr.Merak писал(а):+еще если выйти из ТС с запущенным плагином при след. запуске он ничего не будет отображать
Это колонки почему-то расползаются... Еще не понял, отчего так у меня получилось...
Mellomann писал(а):Подтверждаю, настройки вообще не сохряняются после выхода (ни в wincmd ни в конфиге плагина).
Должно в конфиге плагина сохранять, я там их однажды даже видел, но вот сейчас, видимо, где-то что-то поправил не туда, и вот такие траблы...
wOxxOm писал(а):А может ли плагин задавать сам ширины колонок?
Вообще - может, но я еще не понял, когда и как. При первом запуске - точно. А вот дальше - не понятно.

Добавлено спустя 18 минут:
wOxxOm писал(а):настройки открываются, в списке, правда, только Default.
Архив собирал ночью и как-то так получилось, что папку Lang в него не добавил... )

Добавлено спустя 9 минут:

http://wincmd.ru/download.php?id=envvars

Сделал еще обновку. Поправил работу с файлами (были косяки, что не всегда копировало-перемещало), попробовал побороть косяк с колонками, прошу проверить. Если будет по старому - попробуйте удалить плагин из ТС, а потом установить снова.

Добавлено спустя 7 минут:
wOxxOm писал(а):Как насчет опции, чтобы сразу показывались переменные последней использовавшейся ветки?
Сделаю, но уже после релиза. Сейчас пока основной функцинал надо отладить.

Добавлено: Ср май 30, 2012 16:03
MVV
Вообще, единственное место, где плагин может указать тоталу набор колонок - это при первом входе в папку плагина. Тотал тогда вызывает функцию FsContentGetDefaultView, которая может вернуть пользовательский режим колонок. Там можно задавать ширину полей, но нельзя растянуть поле на всю доступную ширину окна, т.к. ширина окна плагину неизвестна.

Добавлено: Ср май 30, 2012 16:20
SPeller
ТС каждый раз эту функцию вызывает, при каждом входе в плагин. Ширину панели плагин - да, не знает. Сохранить настройки - можно, через меню Save position. Но при запуске плагина снова вызывается FsContentGetDefaultView и снова дефолтные настройки применяются... В общем, как-то там мудрённо сделано, еще не разобрался до конца.

Добавлено спустя 6 минут:

Чтобы настройки сохранялись - надо зайти в редактирование колонок "Configure this custom columns view" и сохранить изменения. После этого ширина колонок будет сохраняться и при ручном изменении и вызове меню Save Position.