🔒 Repository is read-only – file editing is disabled.

luna/apps/luna-files/README.md main

102 lines Raw ← Back

Luna Files (luna-files)

Pierwsza „duża” aplikacja uniwersum Luna: menedżer plików zbudowany wyłącznie na libLunie (libluna-platform + libluna-widgets), bez GTK, uruchamiany na kompozytorze Selene.

Dostępne binarki:

Binarka Opis
luna-files podstawowa nazwa aplikacji (okno „Pliki”)
gaminedes alias — ta sama aplikacja, inna nazwa okna i App ID

Co już działa

Nawigacja i widok

  • breadcrumb z klikalnymi segmentami, Ctrl+L — edycja ścieżki, Backspace — w górę, Alt+←/→ — historia, przyciski myszy Back/Forward;
  • lista z kolumnami (Nazwa / Rozmiar / Typ / Modyfikacja) i klikalnymi nagłówkami sortowania (strzałka pokazuje kierunek), siatka kafelków z ikonami typów plików;
  • sortowanie (nazwa/rozmiar/data/typ, rosnąco/malejąco), ukrywanie plików (Ctrl+H), filtr na żywo (Ctrl+F), panel boczny chowany F9;
  • zakładki (Ctrl+T, Ctrl+W, Tab), widok dzielony (F3), podgląd pliku (Space: tekst/kod oraz PNG, dla reszty metadane);
  • wielokrotne zaznaczanie: Ctrl+klik, Shift+klik (zakres), Shift+↑/↓, Ctrl+A; belka statusu pokazuje liczbę i łączny rozmiar zaznaczonych;
  • menu kontekstowe (prawy przycisk) i menu główne (☰) — wszystkie napisy przez i18n.

Pliki

  • kopiowanie/wycinanie/wklejanie (Ctrl+C/X/V) z dialogiem konfliktów (Zastąp / Pomiń / Zmień nazwę / Zastąp wszystkie);
  • przenoszenie do kosza zgodnego z XDG Trash Spec (Delete) i trwałe usuwanie (Shift+Delete), przywracanie z kosza na pierwotną ścieżkę oraz opróżnianie kosza z potwierdzeniem;
  • zmiana nazwy (F2), nowy folder (Ctrl+N), odświeżanie (F5/Ctrl+R), otwieranie plików przez xdg-open, terminal w katalogu (F4).

Archiwa

  • pakowanie zaznaczenia do ZIP (menu kontekstowe → „Skompresuj do ZIP”), z unikalną nazwą (Paczka.zip, Paczka (2).zip), w tle z postępem i anulowaniem;
  • rozpakowywanie ZIP / TAR / TAR.GZ / TAR.XZ / TAR.BZ2 / 7z / RAR — „Wypakuj tutaj” i „Wypakuj do folderu” (podkatalog o nazwie archiwum);
  • korzysta z bsdtar/tar/zip/7z/unrar (libarchive), więc nie ciągniemy ciężkich bibliotek, a RAR działa mimo zamkniętego formatu.

Ustawienia i informacje

  • okno Ustawień (Ctrl+, lub menu ☰): motyw (jasny/ciemny/auto), widok (lista/siatka), język (polski/angielski/niemiecki), pokazywanie plików ukrytych;
  • wybory są trwałe ($XDG_CONFIG_HOME/luna/files.conf), a zmiana języka działa natychmiast (także w panelu bocznym i menu);
  • O aplikacji — nazwa, wersja, licencja.

Urządzenia

  • panel boczny: miejsca XDG (z ~/.config/user-dirs.dirs), kosz, zamontowane dyski z wolnym miejscem (rozmiar z statvfs);
  • montowanie/odmontowanie przez UDisks2 (udisksctl → D-Bus, hasło pyta luna-polkit);
  • lista odświeża się co 2 s, więc podłączenie pendrive'a pojawia się „samo”.

Operacje w tle

  • kolejka zadań w osobnym wątku (ops.rs): postęp w belce statusu z prędkością i szacowanym czasem, anulowanie (✕ lub Escape), wynik zbiorczy w powiadomieniu; UI nigdy nie blokuje się na dużym kopiowaniu.

Architektura

Plik Rola
model.rs wpisy katalogu, sortowanie, filtr, rozmiary i daty (testy bez UI)
list.rs lista z kolumnami, nagłówki sortowania, wirtualizacja wierszy
trash.rs kosz XDG: files/ + info/*.trashinfo, kolizje nazw, EXDEV
places.rs miejsca XDG, montowania (/proc/self/mountinfo), statvfs, UDisks2
ops.rs wielowątkowa kolejka kopiuj/przenieś/usuń/zmień nazwę/pakuj/wypakuj
archive.rs wykrywanie formatów, plany poleceń zip/tar/bsdtar/7z, anulowanie
prefs.rs trwałe preferencje (language, view, show_hidden) w XDG
app.rs stan aplikacji, historia, zakładki, powiadomienia, pętla klatki
ui.rs layout, rysowanie, obsługa myszy/klawiatury, menu

Skróty

Skrót Akcja
Ctrl+L wpisz ścieżkę
Ctrl+F szukaj w katalogu
Ctrl+T / Ctrl+W nowa karta / zamknij kartę
Ctrl+C / Ctrl+X / Ctrl+V kopiuj / wytnij / wklej
Ctrl+A zaznacz wszystko
Ctrl+H ukryj/pokaż pliki ukryte
F9 pokaż/ukryj panel boczny
Ctrl+N nowy folder
Ctrl+, Ustawienia
F2 / F3 / F4 / F5 zmiana nazwy / dwa panele / terminal / odśwież
Space podgląd
Delete / Shift+Delete do kosza / trwale usuń
Escape zamknij podgląd/menu, wyczyść zaznaczenie

Następne kroki

  • MTP/PTP (telefony) przez GVFS/libmtp, LUKS i montowanie partycji systemowych;
  • miniatury obrazów i wideo, podgląd PDF, kolumny (Miller), masowa zmiana nazw;
  • bezpośrednie sygnały UDisks2 (InterfacesAdded/Removed) zamiast odpytywania;
  • systemowy schowek dla „Kopiuj ścieżkę” (wymaga API schowka w libluna-platform);
  • „Otwórz za pomocą…” z wyborem aplikacji i zapamiętywaniem domyślnych.