Skip to content

Commit

Permalink
Merge pull request elfmz#2552 from spnethw/tmppanel_refactoring
Browse files Browse the repository at this point in the history
tmppanel: refactoring, small bugfixes, lng & hlf update
  • Loading branch information
elfmz authored Dec 11, 2024
2 parents 980ac9b + e17380b commit 43a7981
Show file tree
Hide file tree
Showing 12 changed files with 270 additions and 357 deletions.
2 changes: 1 addition & 1 deletion tmppanel/configs/plug/TmpBel.lng
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"Даступныя часовыя панэлі"

"Часовая панэль"
"Дадаць да меню &дыскаў"
"Дадаць да меню Перайсці"
"&Клавіша доступу ('1'-'9'). Калі не ўведзена, прызначаецца самастойна"
"Дадаць да меню дада&ткаў"

Expand Down
76 changes: 31 additions & 45 deletions tmppanel/configs/plug/TmpEng.hlf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ following ways:
to the temporary panel. In order to do this, you should click
the "#Panel#" button in the dialog with the list of found files.

- send to the panel the results of executing an arbitrary command by
redirecting its output using the following syntax: #tmp: <command#, e.g.:
#tmp: <ls -1a /usr/bin/*mkfs*#

Files being put to the temporary panel are not copied physically,
only references to them are created. All operations that you perform
on the temporary panel are applied to the real files at their actual
Expand Down Expand Up @@ -61,13 +65,8 @@ can use the hotkey #Alt-Shift-F2#.
$ #Temporary panel: configuration#
In this dialog you may change the following options:

#Add to disks menu#
Enables adding the "Temporary" item to the disks menu.

#Disks menu hotkey#
Hotkey for the temporary panel item in the disks menu.
You can enter a value from 1 to 9 or leave this field empty if
you prefer the hotkey to be assigned automatically.
#Add to Location menu#
Enables adding the "Temporary" item to the Location menu.

#Add to plugins menu#
Enables adding the "Temporary" item to the plugins menu.
Expand Down Expand Up @@ -95,16 +94,15 @@ moving, deleting etc.) are disabled. The only available operations are:
If this option is enabled, the plugin will not check for path
validity before putting an element to a panel.
It becomes possible to use panel elements like:
#ftp:#
#ftp:my_favorite_ftp#
#reg:HKEY_CURRENT_USER\Software#
#copy d:\work\tmppanel d:\work\tmppanel\backup /y#
#format a:#
#smb://johndoe@@acmecorp/C$#
#sftp://198.51.100.42:12345#
#ftp://alice:topsecret@@ftp.example.org/pub/#
#cp -R ~~/work ~~/backups/work.$(date -Iseconds)#
and so on.

For example, it is possible to use this option to sort the lines
in a text file:
#tmp:+any +full <type filename.ext#
#tmp:+any +full <cat ./filename.ext#
Then you press #Ctrl-F3# in the panel to sort the lines, and then
#Ctrl-Gray* Ctrl-Ins# to copy the lines to the Windows clipboard, or
#Alt-Shift-F2# to save the lines to a file.
Expand Down Expand Up @@ -137,18 +135,13 @@ delimiter will be executed when the item is selected.
the menu.

Example of a list file: #shortcuts.temp#
#|&A: removable|A:#
#|&C: fixed|C:#
#|&D: fixed|D:#
#|-|#
#|&M: Music|D:\Music#
#|&M: Tools|D:\Tools#
#|&M: Desktop|%HOMEDRIVE%%HOMEPATH%\Desktop#
#|&M: Music|/mnt/Music#
#|&T: Tools|/mnt/Tools#
#|&H: HOME|~~#
#|-|#
#|&1: Temporary|tmp:#
#|&2: Far Navigator|ftp:#
#|&3: Network|net:#
#|&8: Registry|reg:#
#|&2: Network|net:#
#|&3: Calculator|calc:#

#New panel for search results#
This option works when #"Use common panel"# is enabled and allows
Expand Down Expand Up @@ -178,49 +171,43 @@ line and for ~file list operations~@List@.
$ #Temporary panel: list files#
The temporary panel can read a list of filenames from a list file.

Each line in the list file must contain
- either an existing file or directory (C:\Windows)
- or a drive letter (C:)
- or the name of a network resource (\\Server\Music)
Each line in the list file must contain an existing file or directory
(/usr/bin/bash, /var/log).

If the option #"Any elements in panel#" in the
~configuration dialog@Config@ is not enabled, lines not matching any
~configuration dialog~@Config@ is not enabled, lines not matching any
of the conditions mentioned above are not added to the panel. If the
option is enabled, the list file can contain arbitrary lines - all of
them will be shown in the panel.

Names of files and directories in the list file can contain
environment variables (%WINDIR%\System).
environment variables ($HOME/.bashrc).

List file example:
#c:#
#d:#
#d:\Games\Quake3#
#\\server\c$#
#\\server\music#
#%ProgramFiles%#
#%HOMEDRIVE%%HOMEPATH%\Desktop#
#/boot/grub#
#/usr/local/bin#
#/#
#$XDG_CONFIG_HOME#

If the option "Any elements in panel" is enabled, the list file
can also contain such lines:
#ftp:#
#ftp:ftp.cdrom.com#
#reg:HKEY_CURRENT_USER\Software#
#dir#
#ls -l#
#shell://janedoe:cool@@192.168.1.60:12345/#

There are two ways to process the list file:

a) Press #Enter# or #Ctrl-PgDn# when the cursor is on such a file.
The file must match one of the file masks for file lists specified
in the configuration dialog, and it must be in the OEM codepage.
in the configuration dialog, and it must be in the UTF-8.

b) Enter #tmp:"list file name"# in the ~command line~@CMD@.
If the list file name does not contain a path, the plugin will
attempt to locate it in the following directories and in the following
sequence:
1. The current directory
2. In the plugin directory.
3. In #%FARHOME%#.
4. The directories that are listed in the #%PATH%# environment variable.
2. In the current user's home directory.
3. In #$FARHOME#.
4. The directories that are listed in the #$PATH# environment variable.

The command line prefix used for file list operations (in the examples
given above - #tmp:#) can be set in the configuration dialog.
Expand All @@ -241,7 +228,6 @@ $^#Temporary panel: Command line#
case-sensitive)

#+0..+9# - switch to a panel with the specified index
#+ansi# - the filelist is in the ANSI codepage
#+full# / #-full# - fullscreen/normal panel mode
#+safe# / #-safe# - safe/normal panel mode
#+any# / #-any# - any elements/existing paths in the list file
Expand Down
4 changes: 2 additions & 2 deletions tmppanel/configs/plug/TmpEng.lng
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
"Available temporary panels"

"Temporary panel"
"Add to &Disks menu"
"Disks menu &hotkey ('1'-'9'). Leave empty to autoassign"
"Add to Location menu"
"Location menu &hotkey ('1'-'9'). Leave empty to autoassign"
"Add to &Plugins menu"

"Use &common panel"
Expand Down
75 changes: 31 additions & 44 deletions tmppanel/configs/plug/TmpRus.hlf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ $^#Временная панель: Общие принципы#
Для этого нужно нажать на кнопку "#Панель#" в диалоге со списком
найденных файлов.

- переслать на панель результаты выполнения произвольной команды, перенаправив
её вывод с помощью следующего синтаксиса: #tmp: <command#, например:
#tmp: <ls -1a /usr/bin/*mkfs*#

Помещаемые на временную панель файлы физически не копируются;
вместо этого на них создаются ссылки. Когда вы обрабатываете файлы на
временной панели, все операции выполняются над реальными файлами на их
Expand Down Expand Up @@ -61,13 +65,8 @@ $^#Временная панель: Общие принципы#
$^#Временная панель: Конфигурация#
В этом диалоге вы можете изменить следующие параметры:

#Добавить в меню дисков#
Разрешает добавление в меню дисков пункта "временная".

#Клавиша доступа в меню дисков#
Клавиша доступа к временной панели в меню дисков.
Вы можете ввести здесь от 1 до 9.
Если оставить это поле пустым, то FAR назначит её сам.
#Добавить в меню перехода#
Разрешает добавление в меню перехода пункта "временная".

#Добавить в меню плагинов#
Разрешает добавление в меню внешних модулей пункта "Временная панель".
Expand Down Expand Up @@ -97,16 +96,16 @@ $^#Временная панель: Конфигурация#
При включении этой опции плагин, перед помещением элемента на панель,
не будет производить проверку на подлинность пути.
Становятся возможными строки вида:
#ftp:#
#ftp:my_favorite_ftp#
#reg:HKEY_CURRENT_USER\Software#
#copy d:\work\tmppanel d:\work\tmppanel\backup /y#
#format a:#

#smb://johndoe@@acmecorp/C$#
#sftp://198.51.100.42:12345#
#ftp://alice:topsecret@@ftp.example.org/pub/#
#cp -R ~~/work ~~/backups/work.$(date -Iseconds)#
и т.д. и т.п.

С помощью этой опции можно, например, отсортировать строки в файле.
Для этого надо ввести команду:
#tmp:+any +full <type filename.ext#
#tmp:+any +full <cat ./filename.ext#
После этого нажать #Ctrl-F3# в панели для сортировки строк,
затем #Ctrl-Gray* Ctrl-Ins# для помещения их в буфер обмена Windows,
или #Alt-Shift-F2# для сохранения списка в файл.
Expand Down Expand Up @@ -141,18 +140,13 @@ $^#Временная панель: Конфигурация#
горизонтальная линия.

Пример файла-списка: #shortcuts.temp#
#|&A: removable|A:#
#|&C: fixed|C:#
#|&D: fixed|D:#
#|-|#
#|&M: Music|D:\Music#
#|&M: Tools|D:\Tools#
#|&M: Desktop|%HOMEDRIVE%%HOMEPATH%\Desktop#
#|&M: Music|/mnt/Music#
#|&T: Tools|/mnt/Tools#
#|&H: HOME|~~#
#|-|#
#|&1: временная|tmp:#
#|&2: Far Navigator|ftp:#
#|&3: сеть|net:#
#|&8: реестр|reg:#
#|&2: сеть|net:#
#|&3: калькулятор|calc:#

#Новая панель для рез-тов поиска#
Эта опция действует при включённой опции "#Использовать общую панель#",
Expand Down Expand Up @@ -180,47 +174,41 @@ $^#Временная панель: Конфигурация#
$^#Временная панель: Файл-список#
Временная панель может считывать список элементов из файла-списка.

Каждая строка в файле-списке должна быть
либо существующим файлом/каталогом (C:\Windows)
либо буквой диска (C:)
либо именем сетевого ресурса (\\Server\Music)
Каждая строка в файле-списке должна быть существующим файлом/каталогом
(/usr/bin/bash, /var/log).

Если опция #"Любые элементы в панели"# в ~диалоге настроек~@Config@
выключена, то строки, не удовлетворяющие этим условиям, не добавляются
в панель. Если опция включена, файл-список может содержать произвольные
строки - все они будут показаны в панели.

Имена файлов и каталогов, указанные в файле-списке, могут включать
в себя переменные среды окружения (%WINDIR%\System).
в себя переменные среды окружения ($HOME/.bashrc).

Пример файла-списка:
#c:#
#d:#
#d:\Games\Quake3#
#\\server\c$#
#\\server\music#
#%ProgramFiles%#
#%HOMEDRIVE%%HOMEPATH%\Desktop#
#/boot/grub#
#/usr/local/bin#
#/#
#$XDG_CONFIG_HOME#

При включённой опции "Любые элементы в панели" файл-список может
также содержать такие строки:
#ftp:#
#ftp:ftp.cdrom.com#
#reg:HKEY_CURRENT_USER\Software#
#dir#
#ls -l#
#shell://janedoe:cool@@192.168.1.60:12345/#

Обработать такой файл можно двумя способами:
a) Нажать #Enter# или #Ctrl-PgDn# на таком файле.
Файл должен соответствовать одной из масок обрабатываемых файлов,
указанных в диалоге конфигурации (по умолчанию #*.temp#), и должен
быть в кодировке OEM.
быть в кодировке UTF-8.

б) Набрать в ~командной строке~@CMD@: #tmp:"имя файла-списка"#
Если имя файла-списка указано без пути, его поиск будет производиться
в следующих директориях и в следующей последовательности:
1. В текущей директории.
2. В директории плагина.
3. В #%FARHOME%#.
4. В директориях, перечисленных в переменной окружения #%PATH%#.
2. В домашней директории текущего пользователя.
3. В #$FARHOME#.
4. В директориях, перечисленных в переменной окружения #$PATH#.

Префикс командной строки, используемый для операций с файлом-списком
(в вышеприведённом примере - #tmp:#), может настраиваться в диалоге
Expand All @@ -242,7 +230,6 @@ $^#Временная панель: Командная строка#
чувствительны к регистру)

#+0..+9# - переключиться на панель по её номеру
#+ansi# - файл-список в кодировке ANSI
#+full# / #-full# - полноэкранный/обычный режим панели
#+safe# / #-safe# - безопасный/обычный режим панели
#+any# / #-any# - любые элементы/существующие пути в файле-списке
Expand Down
2 changes: 1 addition & 1 deletion tmppanel/configs/plug/TmpRus.lng
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"Доступные временные панели"

"Временная панель"
"Добавить к меню &дисков"
"Добавить к меню перехода"
"&Клавиша доступа ('1'-'9'). Если не введена, назначается сама"
"Добавить к меню &плагинов"

Expand Down
Loading

0 comments on commit 43a7981

Please sign in to comment.