cataclysmic
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
Hi ich habe für Karmic, das die neuen gvfs attribute für Ordner-Management nutzt, mal ein kleines Script zusammengefrickelt, dass das erste Bild des Ordner nimmt und es zum Folder-Icon macht. Ich überlege, ob ich es noch erweitern sollte, dass es einen Indikator hat, dass es sich um einen Ordner handelt.
Im Moment wird nur das Thumbnail gezeigt, wie von einem normalen Bild.
Ich muss allerdings sagen, dass ich den Ordner drumherum wie unter Windows nicht schön finde. #!/usr/bin/python
import os
cwdir = str(os.popen('pwd').readline()).replace('\n','')
for folder in os.listdir(cwdir): # iterating through current DIR
if os.path.isdir(folder) == True: # check if is folder
for pic in os.listdir(folder): # iterating over folder content to find usuable picture
if pic.lower().find('.jpg') != -1 or pic.lower().find('.gif') != -1 or pic.lower().find('.png') != -1: #checking for image
os.system('gvfs-set-attribute "'+folder+'" metadata::custom-icon "'+pic+'"') #setting metadata
print folder+": using "+pic #console output if used in console Ich freue mich über Anregungen und Verbesserungsideen und -ansätze. 👍
|
busfahrer
Anmeldungsdatum: 9. April 2007
Beiträge: 3052
|
Hallo ich lese immer wieder das man nicht mehr "os.system" sondern subprocess nutzen soll.
Solltest du dir vielleicht mal anschauen. Gruß...busfahrer
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
|
nailor
Anmeldungsdatum: 8. November 2005
Beiträge: 150
|
hey, bei so sachen finde ich immer "wie benutze ich den code" und "screenshot wie es aussieht" sehr praktisch...
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Das war eines der ersten Dinge, welche ich mir nach meinem Umstieg auf Ubuntu (in meinem Fall Kubuntu) gewünscht hatte. Für KDE habe ich mir mal dieses Skript geschrieben (nimmt Folder.jpg → .folder.png als Ordner-Icon): 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 | #!/bin/bash
DIR='/home/user/Musik/'
OIFS=$IFS; IFS=$'\n';
# -r angeben, wenn das aktuelle Verzeichnis verwendet werden soll (und nicht definierter Ordner)
while getopts "r" opt
do
case $opt in
r) DIR=`pwd` ;;
?) ;;
esac
done
echo "Ordner: $DIR"
# cover.jpg wird umbenannt zu Folder.jpg
for i in `find $DIR -iname cover.jpg` ;
do
echo "Bennene cover.jpg in Folder.jpg um"
mv $i `dirname $i`/Folder.jpg ;
done
#### Konvertiert nur, wenn .folder.png noch nicht existiert + erstellt .directory
find $DIR -type d -print0 | # Sucht alle Ornder und hängt an jede Zeile ein Nullbyte an
while read -d $'\0' ordner; do # read -d liest von stdin, bis es auf $'\0' (Nullbyte als Trenner) trifft.
# Bilder werden konvertiert: [fF]older.* -> .folder.png
if [ -f ${ordner}/[fF]older.* -a ! -f ${ordner}/.folder.png ] ; then
echo -e "\nKonvertiere Grafikdatei"
convert ${ordner}/[fF]older.* ${ordner}/.folder.png ;
fi
# In den Ordnern mit .folder.png wird Datei .directory erstellt
if [ -f ${ordner}/.folder.png -a ! -f ${ordner}/.directory ] ; then
echo "Erstelle Datei .directory"
echo -e "[Desktop Entry]\nIcon=./.folder.png" > ${ordner}/.directory
fi
done
|
@cataclysmic Wie sieht es bei deiner Nautilus-Variante mit der Performance aus? Unter KDE kommt es bei vielen Unterordnern nämlich zu erheblichen "Wartezeiten". Gruß JaiBee
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
@ JaiBee Geht so. Da script selber läuft fix durch. Habe es auf nen ordner mit 300 Unterordner angewendet und es hat ca 20sec gedauert.
Beim Laden der Ordner kann es allerdings etwas dauern, bis es aufbaut.
Allerdings kann ich da nur von einem Order auf ner Externen Platte mit 300 Unterordner sprechen.
Ich kann nicht sagen, ob es an der betagten Platte, oder den Icons liegt. @ nailor: Wie gewünscht ein paar Screens. Vorher:
Ungültiges MakroDieses Makro ist nicht verfügbar Nachher:
Ungültiges MakroDieses Makro ist nicht verfügbar Wie man sieht, wird im Moment noch nicht kenntlich gemacht, dass es sich um Ordner handelt. Wenn ich mal Zeit habe, überlege ich mir da noch was.
Ich will nur vermeiden, dass es abhängig vom jeweiligen Theme die Grafiken neuerstellt werden müssen.
Allerdings ist ein einheitliches "Folder-Icon" auch nicht der Brüller.
Und ein Erstellen von "Folder_thumb.jpg" finde ich strittig. Mich nervt der THUMB.db Müll ja schon immer.
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Ich würde das Skript gerne mal testen, aber ich will es nicht riskieren, ohne zu wissen, wie man die Änderungen wieder rückgängig machen kann. Wenn ich möchte, dass nur die Grafiken Folder.jpg verwendet werden, muss ich das Skript dann wie folgt abändern (wie sieht's mit Groß-/Kleinschreibung aus)? | if pic.lower().find('Folder.jpg') : #checking for image
|
cataclysmic schrieb: Ich überlege, ob ich es noch erweitern sollte, dass es einen Indikator hat, dass es sich um einen Ordner handelt.
Du könntest mit den "Emblemen" arbeiten: Ungültiges MakroDieses Makro ist nicht verfügbar Allerdings gibt es dort kein Symbol für Ordner. Gruß JaiBee EDIT: Toll wäre es, wenn du den Ordnerinhalt analysieren und anhand davon ein passendes Emblem verwenden würdest (Audio, Video, Foto, Dokumente).
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
@ JaiBee Ja das sollte passen, wenn du nur nach "Folder.jpg" duchen willst.
Das ".lower" kann auch raus. Das ist nur drin, falls ich mal Bilder haben sollte die auf ".JPG" enden. Rückgängig ist ein wenig tricky.
Über das Nautilus Eigenschaftenmenü kann man das Icon auf Default zurücksetzen.
Wie das allerdings via Konsole geht, habe ich noch nicht rausgefunden. Ich finde einfach den verflixten Prozess nicht, den Nautilus nutzt. Zu den Emblems, das war auch eine Idee, die mir kam und ich bin an genau der gleichen Stelle nicht weitergekommen. Die Frage ist: Ist es möglich so ein Emblem hinzuzufügen?
Vielleicht weiß da ja jemand eine Lösung.
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
cataclysmic schrieb: Rückgängig ist ein wenig tricky.
Über das Nautilus Eigenschaftenmenü kann man das Icon auf Default zurücksetzen.
Wie das allerdings via Konsole geht, habe ich noch nicht rausgefunden. Ich finde einfach den verflixten Prozess nicht, den Nautilus nutzt.
Dann warte ich mal noch.
Zu den Emblems, das war auch eine Idee, die mir kam und ich bin an genau der gleichen Stelle nicht weitergekommen. Die Frage ist: Ist es möglich so ein Emblem hinzuzufügen?
Vielleicht weiß da ja jemand eine Lösung.
Die Emblems sind in "/usr/share/icons" gespeichert. Etwas Problematisch ist aber, dass diese vom verwendeten Icon-Theme abhängen. Für das Theme Humanity z.B. sind die Grafiken in "/usr/share/icons/Humanity/emblems" gespeichert. Das Skript müsste also erst einmal schauen, welchen Icon-Theme verwendet wird und dann dann ein passendes Emblem in den richtigen Ordner kopieren.
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
Was uns wieder bei der Erstellung eignetlich Foldericons lässt, weil es sonst kaum umsetzbar ist ohne viel Basteln. Du kannst es ja mal an einem Testordner probieren.
So habe ich mir das zusammengeschraubt, bis es passte. Naja vielleicht schaue ich mir nächste Woche mal das Python Bilder Modul an, und entwickle es weiter. PS: Das ubuntuusers-Plugin für Firefox ist echt lustig.
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
Hast du das Skript noch verbessert? EDIT: Im englischsprachigen Ubuntu-Forum sind sie schon etwas weiter:
Hab's selbst noch nicht getestet.
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
Hi JaiBee Ich selbst bin noch nicht weiter.
Habe mich gerade mehr auf ein Script für R konzentriert. AUf Gnome-Look.org habe ich aber Folgendes gefunden:
http://gnome-look.org/content/show.php/CoverChooser?content=117330 Ist um einiges weiter, als ich damit je kommen werde. Mir fehlt halt leider gerade die Zeit mich tiefer in Python einzuarbeiten.
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
cataclysmic schrieb: AUf Gnome-Look.org habe ich aber Folgendes gefunden:
http://gnome-look.org/content/show.php/CoverChooser?content=117330
Das Programm lädt doch nur Cover aus dem Internet herunter? Oder werden diese dann als Ordnerbild verwendet? Ich habe allerdings ein Programm gefunden, das genau das macht, was wir wollen: Cover thumbnailer. Jedoch sucht es in jedem Ordner zuerst nach Grafikdateien, weshalb das Laden teilweise etwas träge ist (aber nur beim ersten Laden eines Ordners).
Mir fehlt halt leider gerade die Zeit mich tiefer in Python einzuarbeiten.
Kein Problem 😉 Gruß
|
cataclysmic
(Themenstarter)
Anmeldungsdatum: 19. Oktober 2009
Beiträge: 13
Wohnort: Göttingen
|
Na das ist doch mal ein schickes Teil.
Fehlt noch was für Filme, aber dann passt das doch. 👍
|
JaiBee
Anmeldungsdatum: 8. Juni 2007
Beiträge: 1469
|
cataclysmic schrieb: Na das ist doch mal ein schickes Teil.
Fehlt noch was für Filme, aber dann passt das doch.
Dafür gibt's noch ein extra Tool: IMDB Thumbnailer. Gruß
|