🔒 Repository is read-only – file editing is disabled.
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 chowanyF9; - 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 przezxdg-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 zstatvfs); - montowanie/odmontowanie przez UDisks2 (
udisksctl→ D-Bus, hasło pytaluna-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 (✕lubEscape), 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.