Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Smalltalk
Antworten
dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 25.12.2022 22:00:18

Um meine Freude über ein bestimmtes Programm, dass es in die offiziellen Repositories geschafft hat, mit euch zu teilen, gibt es hier jetzt eine Draufgabe zum heurigen Adventskalender, nämlich den terminalbasierten Dateimanager Debianlf.

Jetzt kann man sich mit Fug und Recht fragen, warum noch einen weiteren Ncursesrangerodermidnightodernnnklon, haben wir davon nicht schon mehr als genug?!

Meine knappe Antwort: nein.

Debianlf (oder List Files) ist ein in Go geschriebener Dateimanager für's Terminal, der stark von Debianranger inspiriert ist. Die Unterschiede sind, dass lf als einzelnes Binary daher kommt und von Haus aus nur die alllergrundlegendsten Funktionen mitbringt, sich aber durch Shellbefehle beliebig erweitern lässt und mittels sehr einfach gehaltener Konfigurationsdateien bzw. Umgebungsvariablen nach den eigenen Vorlieben konfiguriert werden kann:

Nimm lf, wie es ist, blase es auf bis zum Gehtnichtmehr, mach tastaturmäßig auf Vim oder Mc oder bau' genau DAS ein, was du brauchst und kein Fitzelchen mehr...

Mein Dateimanager der Wahl ist die letzten Jahre immer Debianmc gewesen, den habe ich mir ganz persönlich eingerichtet und durchkonfiguriert. Und trotzdem dachte ich immer ich kenne nicht mal die Hälfte der Möglichkeiten und brauche die eigentlich auch gar nichtzu kennen. Ranger war mir zu fett (der zog bei mir immer eine Menge Abhängigkeiten mit) und tatsächlich zu träge, das fiel sogar mir auf, der ich nichts von Programmiersprachen verstehe. Debiannnn hatte ich kurz mal probiert, mit der auf Tabs basierten Navigation wurde ich aber gar nicht warm. Dann stolperte ich in einem Ytvideo über lf. Und vor ein paar Wochen darüber, dass das jetzt in den offiziellen Repos liegt, Freude ohne Ende!

Da das jetzt nur ein Zusatztürchen ist, will ich gar nicht zu ausführlich werden und halte mich (so gut es geht) mit meiner Begeisterung und der Beschreibung des Programms zurück, nur so viel:

* Die Installation geht ab Bookworm "auf offiziellem Wege". Wenn man ein älteres System fährt, dann einfach das Paket von der Debianpaketseite runterladen und via "apt install /pfad/zum/lfpaket.deb" installieren, das funktioniert tadellos - hier unter Bullseye funzt alles.

* Konfiguriert (und funktional erweitert) wird lf zuallererst mit der ~/.config/lf/lfrc. Zusätzlich können Farben und Icons (wenn erwünscht, ich mag Icons nicht im Terminal, sie lenken mich ab) mit ~/.config/lf/colors bzw. ~/.config/lf/icons konfiguriert werden.

* Des weiteren gibt es die (meiner Meinung nach elegantere) Möglichkeit, lf mittels Variablen in zB. der ~/.bashrc zu tunen.

* Die Dokumentation online sowie die Manpage sind einfach nur top und auch im Programm selbst mittels F1 (sofern es das Terminal erlaubt) einfachst zu erreichen.

Mittlerweile arbeite ich nicht mehr "spaltenbasiert" (mc) sondern "startundzielordnerorientiert". Ich muss auch keine (mehr oder weniger) komplizierten Tastenkombinationen mehr ausführen sondern "tippse nur mehr vor mich hin". Keine Handverrenkungen und auch keine unübersichtlichen Menüs mit viel zu vielen Optionen mehr. Und wenn ich eine neue Funktion brauchen sollte, baue ich sie ein oder hau' was anderes raus, sollte ich draufkommen, dass es im täglichen Gebrauch unnötig ist oder öffne (wie vom mc gewohnt) unten eine Kommandozeile und "kläre das".

Zur Illustration hier noch meine ~/.config/lf/lfrc:

Code: Alles auswählen


# █   █▀ █▀▄ ▄▀▀   █ █ ▄▀▀ ██▀ █▀▄  ~/.config/lf/lfrc
# █▄▄ █▀ █▀▄ ▀▄▄   ▀▄█ ▄██ █▄▄ █▀▄  20221210, 20231117

# ------------ settings
set dircounts
set drawbox
set hidden
set ifs "\n"
set ignorecase
set info size
set preview
set promptfmt "\033[34;1m %d\033[0m\033[1m%f\033[0m"
set selmode dir
set shell sh
set shellopts '-eu'

# title on cd
cmd on-cd &{{
    printf "\033]0;$ $PWD\007" > /dev/tty
    # printf "\033]0; lf (user): $PWD\007" > /dev/tty
}}
on-cd

# ------------ commands
cmd bulk-rename ${{
    old="$(mktemp)"
    new="$(mktemp)"
    if [ -n "$fs" ]; then
        fs="$(basename -a $fs)"
    else
        fs="$(ls)"
    fi
    printf '%s\n' "$fs" >"$old"
    printf '%s\n' "$fs" >"$new"
    $EDITOR "$new"
    [ "$(wc -l < "$new")" -ne "$(wc -l < "$old")" ] && exit
    paste "$old" "$new" | while IFS= read -r names; do
        src="$(printf '%s' "$names" | cut -f1)"
        dst="$(printf '%s' "$names" | cut -f2)"
        if [ "$src" = "$dst" ] || [ -e "$dst" ]; then
            continue
        fi
        mv -- "$src" "$dst"
    done
    rm -- "$old" "$new"
    lf -remote "send $id unselect"
}}

cmd details ${{
    stat --printf "\n Datei:      %n (%F)\n Größe:      %s bytes\n Rechte:     %A (%a)\n Uid/Gid:    %U/%G (%u/%g)\n Erstellung: %w\n Änderung:   %y\n Zugriff:    %x\n\n" $f | less
}}

cmd diskusage $du -ach -d1 | sort -h | less

cmd fzf-jump ${{
    res="$(fdfind -H -c never | fzf --reverse --header='gehe zu')"
    if [ -f "$res" ]; then
        cmd="select"
    elif [ -d "$res" ]; then
        cmd="cd"
    fi
    lf -remote "send $id $cmd \"$res\""
}}

cmd media-eject ${{
  udiskie-umount --detach "$f"
}}

cmd laz-open &$@ $fx

cmd newdir ${{
  printf "dirname: "
  read ans
  mkdir $ans
}}

cmd newfile ${{
  printf "filename: "
  read ans
  $EDITOR $ans
}}

cmd open &{{
    case $(file --mime-type -Lb $f) in
        text/*) lf -remote "send $id \$$EDITOR \$fx";;
        *) for f in $fx; do xdg-open $f > /dev/null 2> /dev/null & done;;
    esac
}}

cmd print-file ${{
  lp $f -o sides=two-sided-long-edge -o cpi=14 -o lpi=7 -o orientation-requested=3
}}

cmd sha-sum ${{
  sha256sum "$f" | less
}}

cmd trash %trash-put $fx

cmd trash-empty ${{
    trash-empty
}}

cmd trash-list ${{
    trash-list | less
}}

cmd trash-undo ${{
    trash-restore
}}

cmd unarchive ${{
  case "$f" in
      *.zip) unzip "$f" ;;
      *.tar.gz) tar -xzvf "$f" ;;
      *.tar.bz2) tar -xjvf "$f" ;;
      *.tar) tar -xvf "$f" ;;
      *) echo "Unsupported format" ;;
  esac
}}

cmd yank-path $printf '%s' "$fx" | xclip -i -selection clipboard

# ----------- unmapping
map '?'
map "'"
map '"'
map '*'
map <delete>
map b
map c
map d
map e
map f
map G
map gb
map gg
map gh
map h
map i
map I
map j
map k
map l
map m
map n
map o
map p
map t
map u
map ua
map X
map y
map q

# ---------- navigation
map h cd ~
map gb cd ~/dox/bh/2023
map gcc cd ~/.config
map gca cd ~/.config/awesome
map gcb cd ~/.config/bconf
map gcl cd ~/.config/lf
map gcm cd ~/.config/micro
map gcr cd ~/.config/rofi
map gcs cd ~/.config/cmus
map gx cd ~/dox
map gj cd ~/dox/jobs
map gs cd ~/dox/syszeug
map gv cd ~/dox/vlgn
map gz cd ~/dox/zeuch
map gd cd ~/dwn
map gpp cd ~/pix
map gpj cd ~/pix/jobs
map gpg cd ~/pix/garten
map gpd cd ~/pix/dahoam
map gpa cd ~/pix/anuk/fotos
map gm cd /media/sebastian
map gaw cd /usr/share/awesome
map gr cd /
map gh cd ~/dox/hof
map gt cd ~/.local/share/Trash/files
map jj jump-prev
map jk jump-next

# ------------- openers
map <enter> open
map e $$EDITOR "$f"
map l laz-open lazpaint
map v $less "$f"

# ---------- operations
map xx :delete
map <delete> trash
map . set hidden!
map * invert
map ? :doc
map B bulk-rename
map C clear
map c copy
map d details
map E media-eject
map f fzf-jump
map ma set selmode all
map md set selmode dir
map ms %printenv lf_selmode
map nd :newdir
map nf :newfile
map P print-file
map p :paste
map R reload
map r rename
map s diskusage
map S sha-sum
map tte trash-empty
map tl trash-list
map tu trash-undo
map U unselect
map ua unarchive
map X cut
map q :clear; quit
map y yank-path

Und hier die erwähnten Variablen in meiner ~/.bashrc:

Code: Alles auswählen

# lf
LF_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=00;35:*.mpg=00;35:*.mpeg=00;35:*.m2v=00;35:*.mkv=00;35:*.webm=00;35:*.webp=00;35:*.ogm=00;35:*.mp4=00;35:*.3gp=00;35:*.m4v=00;35:*.mp4v=00;35:*.vob=00;35:*.qt=00;35:*.nuv=00;35:*.wmv=00;35:*.asf=00;35:*.rm=00;35:*.rmvb=00;35:*.flc=00;35:*.avi=00;35:*.fli=00;35:*.flv=00;35:*.gl=00;35:*.dl=00;35:*.xcf=00;35:*.xwd=00;35:*.yuv=00;35:*.cgm=00;35:*.emf=00;35:*.ogv=00;35:*.ogx=00;35:*.aac=02;36:*.au=02;36:*.flac=02;36:*.m4a=02;36:*.mid=02;36:*.midi=02;36:*.mka=02;36:*.mp3=00;36:*.aax=00;36:*.mpc=02;36:*.ogg=02;36:*.ra=02;36:*.wav=00;36:*.oga=02;36:*.opus=02;36:*.spx=02;36:*.xspf=02;36:*.odt=00;33:*.ods=00;33:*.ott=00;33:*.ots=00;33:*.txt=01;33:*.pdf=02;33';
export LF_COLORS

Zusammengefasst:
Wer von euch einen Dateimanager haben will, der das was IHR wollt kann (und zwar nur DAS), der ist bei Debianlf genau richtig.
Um es mit Michael Ende zu sagen: Tu was du willst.


Und wo sind die Screenshots?!

Na hier:
3902

Und auf der Paketseite von Debian 8)


Das war mein Feiertagskastl, wenn ich auch nur einem (oder auch noch einem anderen) Lust gemacht habe, Debianlf auszuprobieren, freue ich mich schon! Habt eine gute Zeit, wir lesen uns!


PS: Meillo, sorry, aber für dich ist es nichts, zu viel Konfigurieren... ;)

EDIT: 20231125, Konfigurationsdatei an korrigiert
Zuletzt geändert von dasebastian am 25.11.2023 19:43:53, insgesamt 1-mal geändert.

TuxPeter
Beiträge: 1966
Registriert: 19.11.2008 20:39:02
Lizenz eigener Beiträge: MIT Lizenz

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von TuxPeter » 26.12.2022 11:39:03

Hi,
tolles Ding, dieses lf. Da ich auf meinem ollen ThinkPad meist Testing fahre, habe ich dort schnell mal upgedatet ( -- was, schon wieder 383 Pakete?!! -- ) und Debianlf installiert. Gestartet und ohne irgendwelche Anpassungen oder man-Lektüre sofort losgelegt, eigentlich nur die Pfeiltasten benutzt.

Ich bin angemessen beeindruckt, vor allem auch über die für ein doch recht angegrautes Gerät tolle Geschwindigkeit. Das wird wohl, zumindest für den Laptop, meine Standardanwendung werden.

Danke für den Beitrag!

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 26.12.2022 12:11:04

Ja spitze, wenn das passt!!! :THX:

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von Meillo » 26.12.2022 12:34:42

dasebastian hat geschrieben: ↑ zum Beitrag ↑
25.12.2022 22:00:18
PS: Meillo, sorry, aber für dich ist es nichts, zu viel Konfigurieren... ;)
Ich verwende schon seit vielen Jahren keinen Dateimanager mehr und habe ihn auch nicht vermisst. Ich mache mein Dateimanagement alles direkt auf der Kommandozeile mit den Standardbefehlen (plus `emv').

Wenn ich einmal in fuenf Jahren mal grafisch umeinander sortieren moechte, verwende ich Xfe. Fuer Bilder, wo das haeufiger der Fall ist (bei mir also etwa einmal im Jahr ;-) ), nutze ich den Fotoverwalter Geeqie.

Dennoch finde ich es gut, dass Dateimanager fuer die Konsole in den letzten Jahren populaerer geworden und viele neue Projekte entstanden sind. Frueher gab's ja nur den mc, heute hat man eine breite Auswahl.
Use ed once in a while!

rodney
Beiträge: 335
Registriert: 09.12.2016 04:15:59

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von rodney » 26.12.2022 15:57:43

Danke fuer das informative und appetitanregende Tuerchen. Den minimalen Ansatz (konfigurieren und funktional erweitern, sowie die Sache mit den Umgebungsvariablen gefaellt mir sehr gut, jedoch benoetige/mag ich keine Miller columns und bevorzuge bei Dateimanagern eine 2-Spaltenansicht (z.b. bei Kopier-/Verschiebeaktionen). Selbst wenn ich den Dateimanager als Dateibrowser (Dateivorschau) nutze, empfinde ich die linke Spalte (uebergeordnete Verzeichnisse) bei Miller columns nur als unnoetige Platzverschendung.
Mittlerweile arbeite ich nicht mehr "spaltenbasiert" (mc) sondern "startundzielordnerorientiert"
Koenntest du mal den den Unterschied an einem Beispiel verdeutlichen?

Beispiel: Der mc hat doch 2 Spalten wobei bei Kopier-/Verschiebeaktionen eine Spalte als Quelle (Start-Verzeichnis) und die ander Spalte als Ziel-Verzeichnis dient. Bei Dateimanagern mit Miller colums (z.b. Debianlf und Debianranger) sehe ich doch nur das "Start" (Quellverzeichnis) und wechsle dann in das Zielverzeichnis.

Des weiteren wuerde mich interessieren warum du die Keybindings/Funktionen fuer "marks" {m, ' und ") deaktiviert hast und stattdessen fuer oft genutzte Verzeichnisse eigene Keybindings (mit cd <verzeichnis>) nutzt?


P.S. Soll aber alles keine Kritik sein, sondern nur meine eigene Meinung. Finde minimalistische (und individuell konfigurierbare und erweiterbare) Software auch super, gerade mit Blick auf aelter Geraete mit weniger Leistung/Resourcen.

Disclaimer: Nutze selbst den Debianvifm und koennte mir stundenlang den Kopf ueber den Sinn und Unsinn von Miller columns zerbrechen

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 26.12.2022 16:50:38

rodney hat geschrieben: ↑ zum Beitrag ↑
26.12.2022 15:57:43
Mittlerweile arbeite ich nicht mehr "spaltenbasiert" (mc) sondern "startundzielordnerorientiert"
Koenntest du mal den den Unterschied an einem Beispiel verdeutlichen?
Ich dachte auch, dass mir 2 Spalten einfach mehr liegen. Mir ist dann aber aufgefallen, dass ich schon relativ "viel" Zeit damit verbringe, diese 2 Spalten immer passend zu setzen, damit ich DANN die eigentlichen Dateioperationen durchführen kann. Das fällt jetzt weg. Die meiste Zeit arbeite ich in einer Hand voll Verzeichnisse (die ich schnell per Keybindings erreiche) oder ich benutze den fzf, schnappe mir, was ich brauche und bin schon wieder wo ich hin will. Quasi ohne Vorarbeit. Ich mag auch den unmittelbaren Überblick, den ich da habe.
Des weiteren wuerde mich interessieren warum du die Keybindings/Funktionen fuer "marks" {m, ' und ") deaktiviert hast und stattdessen fuer oft genutzte Verzeichnisse eigene Keybindings (mit cd <verzeichnis>) nutzt?
Ich habe mich mit den marks noch gar nicht beschäftigt, mir geht es so einfach sehr easy von der Hand, es sind ja auch nicht so viele, dass das schwer zu merken wäre.

rodney
Beiträge: 335
Registriert: 09.12.2016 04:15:59

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von rodney » 26.12.2022 17:27:04

dasebastian hat geschrieben: ↑ zum Beitrag ↑
26.12.2022 16:50:38
rodney hat geschrieben: ↑ zum Beitrag ↑
26.12.2022 15:57:43
Des weiteren wuerde mich interessieren warum du die Keybindings/Funktionen fuer "marks" {m, ' und ") deaktiviert hast und stattdessen fuer oft genutzte Verzeichnisse eigene Keybindings (mit cd <verzeichnis>) nutzt?
Ich habe mich mit den marks noch gar nicht beschäftigt, mir geht es so einfach sehr easy von der Hand, es sind ja auch nicht so viele, dass das schwer zu merken wäre.
Ich habe nur deshalb gefragt, weil die von dir deaktivierte "mark(s)"-Funktionalitaet anschliessend in anderer Form (in deiner Config unterhalb "# navigation" wieder implementiert wurde :wink:

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 26.12.2022 17:36:38

rodney hat geschrieben: ↑ zum Beitrag ↑
26.12.2022 17:27:04
... von dir deaktivierte "mark(s)"-Funktionalitaet anschliessend in anderer Form (in deiner Config unterhalb "# navigation" wieder implementiert wurde :wink:
Schon klar, ehrlich gesag pure Faulheit, so habe ich alles in einer Datei und muss nicht noch an andere Dateien beim Backup denken. Ich habe diese g(oto) schon öfters gesehen und es macht für mich einfach Sinn. :D

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 27.08.2023 09:15:14

UPDATE - HINZUFÜGEN EINER PAPIERKORBFUNKTION:

Auf relativ einfachem Weg, kann man sich bei Debianlf eine Papierkorb- bzw. Trashfunktion einbauen. Voraussetzung ist die Installation von Debiantrash-cli.

Zuerst definieren wir die (für mich) relevanten Kommandos von trash-cli in der ~/.config/lf/lfrc :

Code: Alles auswählen

cmd trash %trash-put $fx

cmd trash-empty ${{
    trash-empty
}}

cmd trash-list ${{
    trash-list | less
}}

cmd trash-undo ${{
    trash-restore
}}
Danach stellen wir in der lfrc sicher, dass die Taste "t" noch nicht von einem anderen Kommando aus den Defaulteinstellungen belegt ist:

Code: Alles auswählen

map t
Danach vergeben wir die Tastenkürzel für die einzelnen Kommandos und auch ein neues für die lf-interene Delete-Funktion:

Code: Alles auswählen

map xx :delete
map <delete> trash
map tte trash-empty
map tl trash-list
map tu trash-undo
Das dreiteilige Tastaturkürzel für trash-empty soll das (endgültige) Leeren des Papierkorbs etwas sicherer machen.

Damit hat lf eine voll funktionsfähige Trashfunktion.

Wer will, kann sich trash-cli auch noch so einrichten, dass man sich um den Papierkorb selbst praktisch nicht mehr zu kümmern braucht (nach X Tagen werden alle Dateien, die X+1 Tage alt sind per (Ana)cronjob endgültig gelöscht): Wiki-Artikel zum Thema Papierkorb_auf_Kommandozeilenebene

Benutzeravatar
mn77de
Beiträge: 155
Registriert: 23.11.2003 16:53:53
Wohnort: Übersee
Kontaktdaten:

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von mn77de » 10.01.2024 23:02:08

Ich hab' mich nun etwas in Debianlf eingearbeitet, finde ihn etwas gewöhnungsbedürftig aber insgesamt richtig cool. Hat Potential! 8)

Für einen Punkt hab' ich allerdings noch keine Lösung gefunden:
Mit rechts,links,hoch,runter kann man super navigieren. Allerdings schieße ich gerne übers Ziel hinaus und öffne immer wieder mit "Rechts" Dateien, die ich eigentlich gar nicht öffnen möchte. :roll: :lol:
Lässt sich dies irgendwie unterbinden? So dass ein öffnen von Dateien z.B. nur mit "<Enter>=xdg-open" und "e=editor" möglich ist?
OpenSource! :THX:

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 11.01.2024 08:23:48

Guten Morgähn!
mn77de hat geschrieben: ↑ zum Beitrag ↑
10.01.2024 23:02:08
Lässt sich dies irgendwie unterbinden? So dass ein öffnen von Dateien z.B. nur mit "<Enter>=xdg-open" und "e=editor" möglich ist?
Gute Frage, zumal sich die Sache bei mir als User genauso darstellt, als Root ist das Verhalten wie von dir beschrieben.

Ich habe meine lfrc verglichen und zum Teil ist bei mir folgender Absatz in der User-lfrc verantwortlich:

Code: Alles auswählen

cmd open &{{
    case $(file --mime-type -Lb $f) in
        text/*) lf -remote "send $id \$$EDITOR \$fx";;
        *) for f in $fx; do xdg-open $f > /dev/null 2> /dev/null & done;;
    esac
}}

map <enter> open
Allerdings ändert das Auskommentieren dieser Zeilen nur das Handling von "Textdateien", Bilder etc. werden weiter mit Pfeil rechts geöffnet.

Auf der Projektseite von lf habe ich dann folgendes Issue dazu gefunden:
default operation not good

Wenn man "cmd open" leer lässt, müsste man vielleicht ein weiteres "cmd xdg-open" (oder irgendwie so) definieren, mit dem obigen Codeschnipsel und dass dann auf ENTER legen? Wäre das ein Weg?

Berichte doch mal kurz, solltest du's ausporbieren. :THX:

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 11.01.2024 08:38:22

Ich habe das jetzt mal kurz ausprobiert, folgendes steht in meiner lfrc:

Code: Alles auswählen

cmd open

cmd xopen &{{
    case $(file --mime-type -Lb $f) in
        text/*) lf -remote "send $id \$$EDITOR \$fx";;
        *) for f in $fx; do xdg-open $f > /dev/null 2> /dev/null & done;;
    esac
}}

map <enter> xopen
Wenn ich dich richtig verstanden habe, entspricht das genau deinem Wunsch:

Per Pfeile wird navigiert (und nur navigiert), sobald man auf einer Datei ist, bewirkt der Pfeil nichts mehr, dann geht nur mehr (e)dit mit Editor, (v)iew mit less (in meinem Fall) oder Enter mit xdg-open.

Benutzeravatar
mn77de
Beiträge: 155
Registriert: 23.11.2003 16:53:53
Wohnort: Übersee
Kontaktdaten:

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von mn77de » 11.01.2024 09:12:28

Guten Morgen @dasebastian und vielen Dank für die schnelle Antwort! :THX:
dasebastian hat geschrieben: ↑ zum Beitrag ↑
11.01.2024 08:23:48
default operation not good
LOL :lol:

Ja, es tut! Der Trick ist, die Definition für "open" zu löschen und einen eigenen Befehl zum Öffnen zu definieren.

Ich hab nun:

Code: Alles auswählen

cmd open

cmd xopen &{{
        for f in $fx; do
                xdg-open $f > /dev/null 2> /dev/null &
        done
}}

map <enter> xopen
Nun wird mit den Pfeiltasten wirklich nur navigiert und mit Enter können Dateien geöffnet werden.
So macht Debianlf jetzt richtig Spaß! :THX: Danke! :hail:
OpenSource! :THX:

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 11.01.2024 09:23:09

mn77de hat geschrieben: ↑ zum Beitrag ↑
11.01.2024 09:12:28
dasebastian hat geschrieben: ↑ zum Beitrag ↑
11.01.2024 08:23:48
default operation not good
LOL :lol:
Ich musste auch schmunzeln, solche Issue-Überschriften müssen extreeeem hilfreich für den Entwickler sein. Aber sowas sieht man im Forum ja auch, oft weiß man am Anfang gar nicht, wie man das Problem beschreiben soll, weil man gar nicht genau weiß, was das Problem ist... :lol:
So macht Debianlf jetzt richtig Spaß! :THX: Danke! :hail:
Super Sache das!

isabena
Beiträge: 263
Registriert: 26.04.2022 11:03:51

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von isabena » 11.01.2024 10:29:45

habe jetzt das Paket zum ausprobieren heruntergeladen (bookworm) und vermisse den Eintrag im ~/.config

habe ich was übersehen ?

rodney
Beiträge: 335
Registriert: 09.12.2016 04:15:59

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von rodney » 11.01.2024 10:42:12

Du musst das Verzeichnis und Datei selbst anlegen: mkdir -p ~/.config/lf, Danach kannst du eine frische/leere lfrc anlegen oder die mitgelieferte dorthin kopieren: cp /usr/share/doc/lf/examples/lfrc.example ~/.config/lf/lfrc und nach Belieben aendern.

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 11.01.2024 10:44:05

Legt lf nicht von selbst an, musst du selber machen. Es gibt auf der Projektseite eine Beispielkonfiguration oder du schnappst dir die hier oben und bastelst von da an weiter nach deinen Bedürfnissen. :THX:

Diesen Wiki-Artikel zum Thema LF_Dateimanager Eintrag gibt's auch noch, da sind unten ein paar Links aufgeführt.

rodney war flotter (und ausführlicher).

isabena
Beiträge: 263
Registriert: 26.04.2022 11:03:51

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von isabena » 11.01.2024 12:57:48

alles gut - kein Problem
war nur etwas unsicher, weil einen eigenen Ordner im ~/.config anlegt
-- ist ja auch ein textbasierter Dateimanager ...

Danke für die Auskünfte :)

dasebastian
Beiträge: 1886
Registriert: 12.07.2020 11:21:17

Re: Feiertagskastl - Adventskalender 25. Dezember 2022 - (Nicht) noch ein Dateimanager!

Beitrag von dasebastian » 11.01.2024 15:49:42

isabena hat geschrieben: ↑ zum Beitrag ↑
11.01.2024 12:57:48
... weil einen eigenen Ordner im ~/.config anlegt
-- ist ja auch ein textbasierter Dateimanager ...
Noch einer, kannte ich noch nicht, wie Sand am Meer...

Antworten