Nemo und die QMMP-Playlistfunktion

Ihr wollt Euch möglicherweise diese Action unten zu Eurem Nemo-Dateibrowser hinzufügen:

Location: ~/.local/share/nemo/actions/addmp3toqueue.nemo_action

[Nemo Action]
Name=Add to QMMP-Playlist
Comment=QMMP Playlistadder

Exec=<addmp3toqueue.sh %F>

Icon-Name=soundconverter

Selection=Any
Separator=;

Extensions=oga;mp3;acc;m4a

Früher gabs die Funktion direkt, wenn man QMMP hatte, aber seit einigen Versionen ist die reine Hinzufügen von Files zur Playliste in das „mit einem anderen Programm öffnen“ Menü gewechselt, was bei mehr als einem File zum Problem werden dürfte. Mit der Action ist das jetzt allerdings wieder möglich.

Hier noch das Shellscript dazu :

Location: ~/.local/share/nemo/actions/addmp3toqueue.sh

#!/bin/bash

IN=$*

IFS=";" read -ra FILES <<< "$IN"
for i in "${FILES[@]}"; do
      qmmp --enqueue "$i" 
done

Falls WordPress da wieder so komische Striche daraus machen sollte, es ist 2x ein einfacher Bindestrich.

\o/ Liebe Grüße an unsere mexikanischen Linuxfreunde ! Ich weiß, daß Ihr mich als Quelle verlinked \o/
\o/ Saludos a nuestros amigos mexicanos de Linux! Sé que me vinculaste como una fuente. \o/

Nemo benutzt Symbolic-Icons

Die Macher hinter dem Cinnamon Filebrowser Nemo haben entschieden, daß sie für die Sidebar Lesezeichensymbole, statt der üblichen Icons, ab Version 3.8.3 nur noch Symbolische Icons aus dem Iconsatz des Themes benutzen und anzeigen. Problem damit, die sehen einfach Scheisse aus.

Wir sind nicht Windows 10

Die Symbolischen Icons z.b. des Gnome-Themes den ich mir ausgewählt hatte, grade weil die Systemicons brauchbar waren, was nicht selbstverständlich zu sein scheint, sind schwarz-weiß, als wenn Sie dem High-Contrast Mode entsprungen sind. Das sieht bescheiden und sehr verdächtig nach Windows 10 aus.

Zwei Lösungen

1) Wir können Nemo auf dem Stand von 3.8.2 einfrieren, dazu als Root eingeben:

dnf downgrade nemo
vi /etc/dnf/dnf.conf

und eintragen oder anfügen: „exclude=nemo*

(die Exclude-Zeile darf nur einmal vorkommen, wenn man schon was drin hat, dann so machen: exclude=wine* nemo* whatever* )

Das hat den Nachteil, daß man keine Updates mehr bekommt für Nemo. Tja, im Prinzip nicht so gut. Also machen wir lieber:

2) Die Symblic Icons durch die normalen Icons ersetzen.

Einfach ausgedrückt, geht das. Jede Symbolic-Datei des gewählten Iconsatzes mit den Nicht-Symbolic-Icons überschreiben. Die Krux liegt wie üblich im Detail: „Mal eben“ iss nicht 🙁

Das ist harte Handarbeit, weil viele Fallbacks im Iconloader enthalten sind. Löscht man die SVG Versionen oder überschreibt man die einfach mit den PNG Versionen der nicht skalierbaren, greift er auf die 16×16 Datei zurück. d.b. echt jedes einzelne Icon nehmen und ändern 🙁

Gratuliere Nemo-Entwickler, Ihr wurdet grade gedowngraded !

Linux – einfache Print Option für Nemo

Das habe ich schon lange vermisst: Im Filemanager, egal ob Nemo oder Nautilus, eine Print Option zu haben. Die Jahre zogen ins Land und die Option blieb in weiter ferne. Bis heute … \o/

… und so zogen sie los, und machten es selbst …

Wir brauchen :

  • – einen Texteditor nach Wahl
  • – ein Druckprogramm
    – eine Nemo Action

Hintergrundwissen

Eine Nemo Action ist eine Datei, die einen Eintrag im Context-Menü von Nemo erzeugt. Analog gibt es das auch für Nautilus, da die das beide von Gnome-Files mitgeforkt haben. Entweder kann ein Benutzer eine eigene Action unter ~/.local/share/nemo/actions  ablegen oder systemweit kann man das unter /usr/share/nemo/actions machen, dazu braucht man dann aber auch die nötigen Root-Rechte.

In der Datei kann ich sagen, welches Tool aufgerufen werden soll, wie die Files dem Tool übergeben werden, wie das Icon aussehen soll usw. Alle Änderungen funktionieren zur Laufzeit von Nemo, so daß wir es nicht laufend neustarten müssen, was extrem praktisch ist.

Die Nemo Action

Wir nehmen für unsere Action das lokale Verzeichnis ~/.local/share/nemo/actions und erzeugen eine Datei namens print.nemo_action

[Nemo Action]
Name=Print
Comment=Printing from Nemo

#Exec=gnome-terminal -x sh -c "echo %F | less"
Exec=<print.sh %F>
Icon-Name=document-print
Selection=Any
Separator=;
Extensions=txt;pdf;jpg;gif;png

Wie man sieht, ähnelt die Datei von Aufbau einer Desktopdatei, was kein Zufall sein dürfte 😉

Wir können also beliebige Experimente machen, was man oben im #Exec Kommentar sehen kann.  Die Auskommentierte Anweisung öffnet ein Terminal, gibt per Echo die Files aus, die selektiert wurden und piped das an Less, so daß man das sehen kann. Ohne Less würde das Fenster sofort wieder zu gehen.

Die Anweisung „Exec=<print.sh %F>“ bezieht sich auf einen Befehl, hier ein Bashscript, im Actionsverzeichnis selbst, statt auf absolute Pfade zurück zugreifen.

Mit „Extensions=txt;pdf;jpg;gif;png“ legen wir fest, daß wir nur im Context von diesen Endungen angezeigt und ausgeführt werden wollen. Sinnvoll, denn MP3 Files kann man zwar drucken, aber das Ergebnis dürfte ernüchternd sein.

Der Separator „;“ ist wichtig, weil sich sonst Filelisten mit „Leerzeichen“ im Dateipfad oder -namen  nicht parsen liessen.
Wer das ohne versucht, wird todsicher scheitern, sobald ein “ “ irgendwo auftaucht.

„document-print“ ist ein Theme übergreifender Symbolname, so daß Hoffnung besteht, das neben Adwaita auch andere Themes ein Symbol parat haben werden.

Wer alle Optionen kennenlernen will, die in so einer Action benutzbar sind, kann sich das hier ansehen:

https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/actions/sample.nemo_action

Das Print-Bash-Script

Das Bashscript ist für unsere Zwecke ausreichend, die keine besonderen Anforderungen an das Drucken stellen:

#!/bin/bash

IN=$*
date -R > ~/.local/share/nemo/actions/print.log
IFS=";" read -ra FILES <<< "$IN"
for i in "${FILES[@]}"; do
 echo "processing $i" >> ~/.local/share/nemo/actions/print.log
 lp -o fit-to-page "$i"
done

nochmal im Einzelnen :

IN=$*

Liest alle Argument in die Variable IN ein.

date -R > ~/.local/share/nemo/actions/print.log

Initialisiert unser Logfile, damit wir etwaige Fehler erkennen können.

IFS=“;“ read -ra FILES <<< „$IN“

Splittet die Argumentenliste am „;“ auf, so daß wir wissen, was zum Filenamen gehört und was nicht. Das Ergebnis kommt in einen Array, der in der For-Schleife durchgeackert wird:

for i in „${FILES[@]}“; do
      echo „processing $i“ >> ~/.local/share/nemo/actions/print.log
      lp -o fit-to-page „$i“ >> ~/.local/share/nemo/actions/print.log
done

lp ist unser Druckbefehl. Der kann PDF, Txt und alle gängigen Grafiken drucken. die Option „-o fit-to-page“ passt das Printgut an die maximal Größe der Seite an aka. wir drucken immer mit 100%. Sollte es ein ganz kleines Bild sein, wird es später stark vergrößert sein.

Den jeweils letzten Printjob kann man sich dann im Logfile ansehen, wo hoffentlich keine Fehlermeldung stehen wird 🙂

Vorteile

Der große Vorteil dieser ganzen Action ist, daß die Reihenfolge genau so sortiert ist, wie im Nemo auch angezeigt wird. Damit können wir z.b. einen Stapel Rechnungen nach Rechnungsnummern sauber in der richtigen Reihenfolge drucken.

Files zum Drucken selektieren

Wenn man z.b. alle selektierten PDF Rechnungen mit Evince öffnen würde, könnte man das nicht mehr, bzw. nur mit großen Aufwand. So ist das jetzt ein Klacks! Dateien markieren, Print auswählen und Papiere einsammeln.

Gedruckt wir das Ganze dann an den Standarddrucker.

Heldenapplaus bitte in der Kommentarsektion abgeben, Reklamationen auch. Ich optimiere das gerne weiter 🙂

Nemo mit Windowsfreigabe verbinden

Wer Nemo als Filemanager benutzt und sich mit einer Windowsfreigabe verbinden will, der hat die in der Hilfe angegebene Funktion „Other Locations“ sicherlich auch schon gesucht ( und nicht gefunden ).  Was nun ?

In Nautilus ist diese Funktion im Netzwerktab verfügbar, was aber nicht heißt, daß es auch geht 😉 Was aber geht, ist im Dateimenü die Option „Mit Server verbinden“ anzuklicken.  Es erscheint das Menü:

nemo1-smbMan muß leider einen Usernamen und ein Passwort eingeben, auch eine Domäne wäre hilfreich, wird aber notfalls auch automatisch ausgefüllt. Username und Passwort werden immer mitgeschickt, was einer Sicherheitslücke gleichkommt, wie die Macher von Hak5.com bewiesen haben.

Sind die Angaben gesendet, klappt es auch mit dem Einloggen:

nemo2-smbWas uns jetzt natürlich noch fehlt, ist der Netzwerkscanner, der alle verfügbaren Server findet und uns das elegant zur Auswahl gibt, also so, wie man das schon hatte, bevor es kaputt gepatcht wurde im Nautilus.

 

temporär Nemo als Nautilusersatz testen

Um auf Fedora Gnome Nemo als Default-Dateimanager zu testen, kann man sich eines ganz fiesen Tricks bedienen. Zunächst muß man natürlich Nemo installiert haben:

sudo dnf install nemo

danach öffnet man sich eine Root-Shell und verschiebt Nautilus einfach und ersetzt es durch Nemo. Das erspart einem eine ganze Menge Konfigurationsarbeit, die man vielleicht nur dann machen will, wenn einem Nemo im Normalbetrieb gefällt.

cd /usr/bin/
mv nautilus nautilus.bak
ln -s nemo nautilus

Jetzt der Warnhinweis für alle, die die Folgen des Obigen nicht absehen können:

Das hält nur bis zum nächsten Nautilusupdate. Es ist eine temporäre Lösung.

Das Ersetzen klappt, weil Nemo ein Dropinreplacement von Nautilus ist. Nemo wurde vom Nautilus 3.4 Stand geforkt, weil Nautilus einen Weg eingeschlagen hat, der nicht von allen geteilt wurde. Das kann ich voll und ganz verstehen, beim BigIconProblem z.b. mußte Nautilus für Gnome 3.20 von seiner „Die dicken Icons bleiben“ Strategie wieder umschwenken. Nemo hat das z.b. nie umgesetzt.

Wenn ich mich für Nemo final entschieden habe, denn auch hier läuft nicht alles komplett rund, werde ich Euch einen Guide zum Umkonfigurieren der Systemeinstellungen auf den Weg geben.