La page Propriétés de Nautilus peut-elle afficher la taille en octets pour les sélections multiples et les répertoires?

Dans Nautilus, les propriétés d’un seul élément affichent la taille sous la forme:
une valeur arrondie à une décimale … nn.n Ko, Mo, Go …
suivi d’un nombre d’octets exact

Pour les éléments non uniques , Nautilus affiche uniquement une taille arrondie .

(Single item) Size: 1.4 GB (1501773824 bytes) (Multi items) Size: 5 items, totalling 1.4 GB (directory) Size: 5 items, totalling 1.4 GB 

Existe-t-il un moyen de faire en sorte que Nautilus affiche le nombre exact d’octets dans toutes les situations?

J’aime la façon dont la boîte de dialog Propriétés me permet de copier ces données de taille, mais je souhaite généralement travailler avec la taille exacte (et non une approximation).

Konqueror affiche la taille totale réelle, mais cela ne me permet pas de copier la valeur dans le Presse-papiers.

NB: La solution fournie ( ci-dessous ) fonctionne bien, sauf qu’elle atteint un maximum d’entiers de 4,294967,296 octets (4 Go) …
Donc, pour tous ceux qui liront ceci et qui voudront utiliser cette méthode, voici le code modifié, qui correspond à un entier “long long” … 9 223 372 036 854 775 807 octets (8 EB .. E xaBytes).
La première ligne (/ * nouveau * /) est au numéro de ligne 2337

 /* new */ long long ll_total_size = total_size; /* MOD */ size_str = g_format_size_for_display (ll_total_size); /* MOD */ text = g_strdup_printf (ngettext("%'d item, with size %s (%lld bytes", /* MOD */ "%'d items, totalling %s (%lld bytes)", /* ASIS */ total_count), /* MOD */ total_count, size_str, ll_total_size); 

Nouvelle information affichée:

 (Single item) Size: 1.4 GB (1501773824 bytes) (Multi items) Size: 5 items, totalling 1.4 GB (1502027641 bytes) (directory) Size: 5 items, totalling 1.4 GB (1502027641 bytes) -- (directory) Size: 188,120 items, totalling 766.8 GB (823295045767 bytes) 

La valeur affichée est appelée par la fonction g_format_size_for_display de GLib. Vous devez éditer le code source de nautilus pour changer ce comportement en ajoutant simplement un% i à la sortie:

Étape 1 : Télécharger la source, installer les dépendances et ouvrir le fichier à modifier

 mkdir -p .p/nautilus && cd .p/nautilus sudo apt-get build-dep nautilus apt-get source nautilus && cd nautilus* gedit src/file-manager/fm-properties-window.c 

Étape 2 : changer le code

Passez maintenant à la ligne 2338 (dans Nautilus 2.30) et remplacez la with size %s with size %s (%i Bytes) . Faites la même chose pour totalling %s . Remplacez-le par totalling %s (%i Bytes) Il devrait maintenant ressembler à ceci:

  text = g_strdup_printf (ngettext("%'d item, with size %s (%i Bytes)", "%'d items, totalling %s (%i Bytes)", 

Étape 3 : comstackr

Maintenant, vous pouvez simplement comstackr Nautilus comme toute autre application

 ./configure --prefix=/usr make sudo make install nautilus -q 

Notez que Nautilus sera écrasé à chaque fois qu’il sera mis à jour via la gestion des packages. Cela signifie que vous devez le construire et l’installer à nouveau manuellement.

Il existe également un autre moyen d’utiliser un script Nautilus, mais cela appendait une autre entrée dans le menu contextuel clic au lieu d’avoir la valeur dans la fenêtre des propriétés.