Named Folders — Именованные директории

Здесь можно обсудить ваш любимый плагин.
User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Post by Wave »

Latest post of the previous page:

IGR wrote: 2. Я сделал небольшое открытие! :)

Теперь в винде можно создавать ссылки на каталоги в виде файлов. Файлам "*.cd" указана ассоциация на команду "cd:!"...
Класс! Вот не додумался, а идея стоящая! Особенно в моём случае (раздел защищён от изменений by ShadowUser - то, что в Висте судя по всему подаётся под соусом теневого копирования) - помимо прочего записи в реестре живут только до перезагрузки. Симлинками пользоваться без необходимости не хочу (хотя иногда приходится), а вот такой способ для меня убирает сильно мешающий плагину фактор.

Вот за что и люблю этот форум - то и дело проскакивают какие-нить макросы или извращения способы работы, а после думаешь, и как же раньше я без этого обходился? :)
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
Tim Sobolev
Posts: 705
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 2 times

Post by Tim Sobolev »

wingspan
Маленькое засечание к сборке плага:
заюзай ключи /O2 /Ox /Gs /Gy /GS-
также можешь использовать wcrt.lib для минимизации размера плага -- а то такая громадина...

pult
Posts: 23
Joined: Tue 11 Apr, 2006 16:31
Location: Kyiv
Contact:

Post by pult »

IGR

> @name.cd"


асоциация в фаре на @*.cd:

macro:post CtrlEnter CtrlLeft Left CtrlO ShiftEnd Del Home Del c d : End CtrlO Enter
Vadim

wingspan
Posts: 27
Joined: Wed 15 Feb, 2006 11:55
Location: Krasnoyarsk, Russia
Contact:

Post by wingspan »

=Tim Sobolev= wrote:wingspan
заюзай ключи /O2 /Ox /Gs /Gy /GS-
также можешь использовать wcrt.lib для минимизации размера плага -- а то такая громадина...
Плагин использует с++ные хидеры <cassert> <cmath> etc. Wcrt.lib не прокатывает. Ключи для оптимизации размера я подбирал. А большие размеры из за того, что напихано туда уже слишком много... Плюс активно используются boost и stl. Я и так постарался свести набор используемых шаблонов к минимуму. Не спорю, простор для оптимизации есть всегда. Но стоит ли упираться из-за 10-20 кб :) ?

wingspan
Posts: 27
Joined: Wed 15 Feb, 2006 11:55
Location: Krasnoyarsk, Russia
Contact:

Post by wingspan »

IGR wrote:1. О глюках.

Согласно справке в псевдониме можно использовать, например @, ( и #. Но на деле - хрен вам, не перейдет никто никуда по команде "cd:(name)" или "cd:#name". Еще и глюки в плагине будут при попытке переименовать псевдонимы с такими символами (появится каталог). Но на это можно забить, работает и ладно.
Пофиксил.

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Post by Wave »

Предлагаю вашему вниманию нестандартное (читай "извращённое") использование плагина Named Folders!
Какое-то время назад здесь проскочила мысля делать файлы *.cd с ассоциацией cd:!
Мол, тогда при нажатии на такой файл произойдёт переход в именованную папку, псевдоним которой совпадает с именем файла *.cd.
Поскольку у меня на системе установлен ShadowUser, пользоваться плагином не очень удобно. Из-за того, что всё хранится в реестре. Конечно, можно было бы запускать ФАР через батник, который заодно вносит в реестр файл с нужными мне вещами. Или макрос, который при старте ФАРа делает то же самое. Можно пользоваться *.lnk файлами и соответствующим плагином. Но мы не ищем лёгких путей!
Значит так. Ассоциация на *.cd такая (четыре пробела в начале, чтобы не заносилось в историю команд плагина AltHistory):
____PR:CtrlAltDelEsc
Соответственно, должен стоять плагин PostMacro. Другие способы заставить выполняться макрос - wellcome! FARcmds.
Макрос CtrlAltDelEsc в реестре выглядит так:
[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAltDelEsc]
"Sequence"="ShiftF6 End BS BS $Text \"reg\" Enter $Text \"____sl:regedit /s \" $Text APanel.Current Enter ShiftF6 End BS BS BS $Text \"cd\" Enter $Text \"____cd:\" $Text APanel.Current BS BS BS Enter"
"Description"="_Использование NamedFolders файлов"
Про четыре пробела я уже упоминал. Замените прочерки на пробелы, или удалите их, если кто мой способ захочет использовать. sl: - это префикс плагина Smart Launch (шикарный запуск) - часть необязательная, вообще разницы нет, использовать его или не надо. Так что это просто прихоть.
В макросе нет проверок на плагиновость панели, на пустоту комстроки (собсно, и не надо) и т.п. Желающие сами допишут. По минутному размышлению и экспериментальной проверке оказалось, что переименовывать *.cd в *.reg и обратно в макросе тоже не обязательно. Но пусть уж так будет.
И главная часть способа! В файле, который так проассоциировали, должно быть вот что:

REGEDIT4
[HKEY_CURRENT_USER\Software\Far\Plugins\NamedFolders\keys]
"псевдоним"="полный путь к папке без финального слеша"

Псевдоним, естественно, должен совпадать с именем *.cd файла. У кого там ФАР запускается от имени кого-то, тот сам поправит. Кто захочет добавить наворотов (открытие именованной папки в противоположной панели, диалоги, и т.п.) - поделитесь со мной потом, плиз. Ну и можно не в реестре макрос хранить, а в каком-то определённом файле (%FARHOME%\Macros\named_folders.macro) или сразу в ассоциации файлов его.

Таким образом можно топтать файлики, указывающие на именованные папки, не находящиеся в реестре. Это полезно очень ограниченному кругу людей, у которых трудности с внесением изменений в оный. Мне, например, для перманентности изменения нужно перезагрузиться дважды, в промежутке внеся в систему нужные изменения.

Возможные спотыкаловки: у кого-то может не успеть внестись в реестр содержимое файла до того, как вступит в действие Named Folders. Тогда придётся топнуть файл ещё раз.
Других граблёв не фижу.

P.s. Просто задать ассоциацию можно...
____PM:$Text "____sl:regedit /s " $Text APanel.Current Enter $Text "____cd:" $Text APanel.Current BS BS BS Enter
Лень лезть смотреть, как в макросе организовать задержку. Можно было бы четверть секунды между внесением в реестр и дальнейшим...
Last edited by Wave on Fri 30 Mar, 2007 14:50, edited 1 time in total.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Из описанного способа, ничего, кроме того, что он мне, слава богу, не пригодится, не понял. Но есть одно замечание
sl: - это префикс плагина Shell Launch (шикарный запуск) ...
гы :)
Эта необязательнаоя часть, правильно называется "Smart Launch". :wink:

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Post by Wave »

Возникла мысль, а что, если в Named Folders добавить функционал плагина alias? Идейно ведь плагины близкие. А ещё для полного счастья пару способов группировать по категориям эти самые фолдеры. Если ещё добавить такой же доступ к быстрым каталогам, как в HotDir, то...
Пользуюсь ФАРом больше 20 лет © собирательный.

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

Post by HaRT »

Wave wrote:если в Named Folders добавить функционал плагина alias? Идейно ведь плагины близкие.
Они не просто идейно близкие, они во многом функционально конкурирующие.
Wave wrote:А ещё для полного счастья пару способов группировать по категориям эти самые фолдеры.
В NamedFolders и так есть поддержка собственных каталогов.
Wave wrote:Если ещё добавить такой же доступ к быстрым каталогам, как в HotDir, то...
Незачем всё валить в одну кучу, в NamedFolders и так уже много всего навалено. Пусть каждый плагин занимается своим делом.

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Post by Wave »

А затем, что вполне можно оставить один плагин вместо трёх-четырёх. Конкурирующий функционал Named Folders и Alias - Alias не настолько хорошо фильтрует, куда слабей работает с каталогами (по сравнению с NF), NF не предназначен(?) для запуска команд (зато работает с меню "Пуск" и отчасти реестром). Т.е. как бы ни от одного, ни от другого отказаться не получается.

HotDir же куда наглядней отсылает к быстрым каталогам. RCtrl+digt - и видишь список из пяти-пятнадцати папочек, к тому же разделённый по группкам и с шоткатами для каждой папки. Да ещё и позволяет выполнить макрос после перехода в папку. Правда я не придумал ещё ни одной ситуации, когда мне нужно именно при каждом переходе... По сравнению с NF не требует запоминать все эти переходы до спинномозгового уровня. Более наглядно работает. В NF как-то примерно так может и можно, но что-то у меня не получается приспособиться. Или лыжи не едут, или я чего-то не понимаю.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
DrKnS
Posts: 5619
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 302 times

Post by DrKnS »

Wave wrote:Alias не настолько хорошо фильтрует, куда слабей работает с каталогами (по сравнению с NF)
Он с каталогами вообще не работает, ибо не для этого предназначен.
Возможность повесить на алиас переход в каталог есть только потому, что FAR обрабатывает cd в комстроке.

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Post by Wave »

И всё же. Когда два плагина частично пересекаются по функциональности, то хочется, чтобы в один запихнули функциональность другого и использовать один. Сейчас у меня три плагина для быстрого перехода (не считая alias, который тоже может), один для быстрого запуска, плюс к этому вороху стандартный функционал ФАРа и AltHistory, который благодаря фильтрам один может заменить всех. Но как-то обойтись одним AltHistory неуютно. Было бы у него кроме трёх историй три таких же favorites (кстати, идея). Alias заменить нечем, Named Folders самый мощный, HotDir - самый удобный. А вместе - куча плагинов: ресурсы, шоткаты, у каждого свои особенности, которые нужно помнить и учитывать.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

Wave
Napishi svoy togda.

DimaT
Posts: 167
Joined: Fri 08 Apr, 2005 08:44
Has thanked: 1 time

Re: Named Folders

Post by DimaT »

Давно юзаю без проблем Named Folders.

Переехал на новую машину.
При выборе сабжа выдает красную таблицу ругани на NamedFoldersRus.lng.

У кого-то было?

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

Re: Named Folders

Post by HaRT »

DimaT
Конкретно с NamedFolders у меня такого не было, но обычно проблемы такого рода возникают, когда LNG от одной версии плагина подкладывается к DLL от другой.
Фар есть инструмент, а не нянька. © 2009 DrKnS

DimaT
Posts: 167
Joined: Fri 08 Apr, 2005 08:44
Has thanked: 1 time

Re: Named Folders — Именованные директории

Post by DimaT »

обычно проблемы такого рода возникают, когда LNG от одной версии плагина подкладывается к DLL от другой.
Вроде бы не должно так быть...

Post Reply

Return to “Обсуждение плагинов”