far2l icon indicating copy to clipboard operation
far2l copied to clipboard

Ctrl+"\" behaviour

Open abcdenis opened this issue 1 year ago • 10 comments

Hi,

Ctrl+"\" on windows change pannel's current directory to the root of current drive. On macos it goes to the root of system what is not useful.

It will be nice to have an option to control target dir of Ctl+\ shortcut:

  • root of the system ("/")
  • root of the current physical drive, e.g. "/Volume/NAME/"

Thank you.

abcdenis avatar Feb 19 '24 14:02 abcdenis

I'am completely against it. I use this shortcut all the time.

@abcdenis You can change to the root of physical drive using Alt+F1/F2

atolismesh avatar Feb 19 '24 14:02 atolismesh

I use Ctrl+\ to go to root often too, very useful.

faerot avatar Feb 19 '24 17:02 faerot

Опа на! Тока заметил, что Ctrl+~ домой идёт! День не зря пропал! 😸

dodo-16 avatar Feb 23 '24 03:02 dodo-16

I use Ctrl+\ to go to root often too, very useful.

Me too.

randolf avatar Feb 28 '24 17:02 randolf

Был FAR под винду с вполне определённым поведением. Поведение изменилось при портировании под мак. Все привыкли. Тем, кто не привык, было бы удобнее старое виндовое поведение. Можно ли сделать настройку вместо того, чтобы "мне нравится как сейчас, менять нельзя"? Чтобы можно было поставить галочку или написать в конфиг, и Ctrl+\ ходил не в рут, а в корень текущего диска? Спасибо.

abcdenis avatar Mar 01 '24 09:03 abcdenis

Поведение изменилось при портировании и Ctrl+\ ходил не в рут, а в корень текущего диска?

В отличии от DOS/Windows файловые системы unix/linux/mac не оперируют понятиями диск (см. https://ru.wikipedia.org/wiki/FHS ). На уровне простых вызовов перехода по файловой системе, например, консольной командой cd / переход в корень файловой системы и нет быстрого способа перейти именно к точке монтирования текущего "диска".

Для определения раздела монтирования текущего каталога в командной строке можно извратится через df . или findmnt --target ., но я не знаю, чтобы такое делалось за 1-2 команды системных вызовов из C++.

Поясните ваши use-cases перехода именно к точке монтирования раздела текущего каталога в рамках логики файловой системы *nix, когда такое полезно?

akruphi avatar Mar 01 '24 15:03 akruphi

Как упомянул akruphi, на Linux определить точку монтирования текущего каталога позволяют df или findmnt. Поэтому можно, например, добавить в меню что-то типа

cd "$(findmnt --noheadings --output TARGET --target .)"

или

cd "$(df --output=target . | tail -n +2)"

и назначить через макрос на этот пункт удобное кнопкосочетание (то же Ctrl-\).

Вероятно, на MacOS тоже можно сделать что-то аналогичное.

P.S. ну или совсем извратиться -- и что-то вроде такого:

cd "$(pwd | grep --only-matching -f <(mount | awk '{print $3}') | head -n 1)"

(1. писалось на коленке, может где ошибся; 2. также, в zsh может понадобиться заменить < на =, у подстановки процессов там слегка другой синтаксис. 3. кстати, за идею спасибо, назначил себе на Ctrl-Alt-\, с примонтированными дисками/флешками стало работать удобнее.)

spnethw avatar Mar 03 '24 14:03 spnethw

@akruphi Цель - использовать опыт, приобретенный ранее, не думая над этим. У меня такие же внешние диски, как и на винде, поэтому я бы ожидал, что FAR будет работать аналогично - независимо от рассуждений о философии Юникса.

@spnethw Вот видите, а все говорят, что это не нужно :)

abcdenis avatar Mar 11 '24 18:03 abcdenis

Спасибо @spnethw за реализацию через меню. Утянул ссылкой в https://github.com/akruphi/far2l/wiki почти в самый конец раздела Полезности.

akruphi avatar Mar 12 '24 06:03 akruphi

@abcdenis можно закрыть, наверное?

spnethw avatar Jun 18 '24 17:06 spnethw