[Nautilus] Widok listy – powiększanie miniatur wraz z nazwą pliku/katalogu

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

W najnowszych wersjach Nautilusa, w widoku listy, podczas zmiany powiększenia, skalowaniu ulegają jedynie miniatury, a tekst pozostaje bez zmian. Sytuacja ta nie występowała np. w Nautilusie 3.4.

Brak skalowania tekstu

Brak skalowania tekstu

W tym poradniku pokażę, w jaki sposób można sprawić, aby skalowaniu ulegał również tekst znajdujący się pod miniaturą.

  1. Uruchom Centrum Oprogramowania Ubuntu i z menu Edycja wybierz Zasoby oprogramowania.
  2. Upewnij się, że w zakładce Oprogramowanie Ubuntu zaznaczone jest pole Kod źródłowy.

    Zaznacz pole Kod źródłowy

    Zaznacz pole Kod źródłowy

  3. Otwórz terminal i zainstaluj wymagane pakiety:
    sudo apt-get install build-essential quilt
  4. Pobierz zależności pakietu nautilus:
    sudo apt-get build-dep nautilus
  5. Otwórz katalog, w którym znajdą się źródła Nautilusa:
    mkdir ~/Pobrane/src
    cd ~/Pobrane/src
  6. Pobierz kod źródłowy Nautilusa i eksportuj zmienne:
    apt-get source nautilus
    export QUILT_PATCHES=debian/patches
    export EDITOR=gedit
  7. W zależności od wersji Ubuntu i pobranych źródeł Nautilusa, przejdź do odpowiedniego katalogu w src – w moim przypadku był to nautilus-3.6.3.
    cd nautilus-3.6.3
  8. Edytuj kod źródłowy:
    quilt new my_custom_zoom.patch
    quilt edit src/nautilus-list-view.c
  9. W oknie edytora Gedit i odszukaj linię zawierającą funkcję:
    static void   nautilus_list_view_set_zoom_level                  (NautilusListView        *view,
    								  NautilusZoomLevel  new_level,
    								  gboolean           always_set_level);
  10. Dodaj pod nią następujący kod:
    static void   nautilus_list_view_scale_font_size                 (NautilusListView        *view,
                                                                      NautilusZoomLevel  new_level);

    Dodaj zaznaczony fragment kodu

    Dodaj zaznaczony fragment kodu

  11. Odszukaj fragment:
    set_columns_settings_from_metadata_and_preferences (NAUTILUS_LIST_VIEW (view));

    i za klamrą } dodaj:

    static void
    nautilus_list_view_scale_font_size (NautilusListView *view, 
                        NautilusZoomLevel new_level)
    {
        GList *l;
        static gboolean first_time = TRUE;
        static double pango_scale[7];
        int medium;
        int i;
    
        g_return_if_fail (new_level >= NAUTILUS_ZOOM_LEVEL_SMALLEST &&
                  new_level <= NAUTILUS_ZOOM_LEVEL_LARGEST);     if (first_time) {         first_time = FALSE;         medium = NAUTILUS_ZOOM_LEVEL_SMALLER;         pango_scale[medium] = PANGO_SCALE_MEDIUM;         for (i = medium; i > NAUTILUS_ZOOM_LEVEL_SMALLEST; i--) {
                pango_scale[i - 1] = (1 / 1.2) * pango_scale[i];
            }
            for (i = medium; i < NAUTILUS_ZOOM_LEVEL_LARGEST; i++) {             pango_scale[i + 1] = 1.2 * pango_scale[i];         }     }     g_object_set (G_OBJECT (view->details->file_name_cell),
                  "scale", pango_scale[new_level],
                  NULL);
        for (l = view->details->cells; l != NULL; l = l->next) {
            g_object_set (G_OBJECT (l->data),
                      "scale", pango_scale[new_level],
                      NULL);
        }
    }

    Dodaj kod za klamrą zamykającą wcześniejszą funkcję

    Dodaj kod za klamrą zamykającą wcześniejszą funkcję

  12. Odszukaj linię:
    /* Make all rows the same size. */

    i dodaj nad nią:

    /* Scale text. */
    nautilus_list_view_scale_font_size (view, new_level);

    Dodaj zaznaczony kod nad wyszukaną linią

    Dodaj zaznaczony kod nad wyszukaną linią

  13. Usuń następujący kod:
    /* ensure that the zoom level is always set before settings up the tree view columns */
    list_view->details->zoom_level = get_default_zoom_level ();
  14. Zapisz i zamknij plik.
  15. Zbuduj paczkę deb ze zmodyfikowanym Nautilusem:
    quilt refresh
    fakeroot dpkg-buildpackage
  16. Zainstaluj utworzoną paczkę deb:
    cd ..
    sudo dpkg -i *deb
  17. Zaloguj się ponownie do systemu. Efekt:

    Od teraz skalowaniu podlegają miniatury oraz tekst

    Od teraz skalowaniu podlegają miniatury oraz tekst

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Łukasz Grzesik

    Nie ma to jak łatwe rozwiązania problemów.

    • http://www.ubuntu-pomoc.org/ Łukasz Schmidtke

      To nie jest rozwiązanie problemu, a dodanie funkcji, która została „zabrana” w nowszych wersjach Nautilusa.

      • Łukasz Grzesik

        Dla niektórych osób nieskalowanie się tekstu razem z obrazem w Nautilusie może być problemem.

  • xxx

    a można jakoś zrobić, żeby zawsze po otwarciu katalogu mieć listę (a nie kafelki), ale nie bawić się w klepanie kodów i powiększanie?

    • DamiaX

      Pliki>Preferencje>Widok nowych katalogów>Widok listy
      Proszę bardzo:

  • Wszytkie Brudy

    to chyba żart…