‹ Ekran startowyRozwój

Rozwój LineXinBar: dokumentacja, kod źródłowy, tłumaczenia

Dokumentacja

Pełna dokumentacja dla użytkowników i programistów leży obok kodu, w docs/. Wszystkie przewodniki:

Jak to jest zbudowane

Dwa programy, oba w Rust: lxb, mały kompozytor Wayland zbudowany na Smithay, oraz lxb-desktop, powłoka, rysowana na GPU przez wgpu.

  • Kompozytor sam steruje ekranami przez DRM/KMS — każde złącze to prawdziwe wyjście z własnym swapchainem i własną pętlą taktowaną vblankiem — albo działa zagnieżdżony w oknie na potrzeby rozwoju. Programy X11 uruchamia przez prywatny Xwayland.
  • Powłoka jest klientem layer-shell, więc działa też na innych kompozytorach, które implementują layer-shell. Rozmawia z kompozytorem przez jeden prywatny protokół, lxb_shell_v1, którego mogą używać tylko własne programy sesji.
  • Wygląd jest wyliczany, a nie malowany. Tapeta to jedna funkcja analityczna miejsca, na które się patrzy, obliczana dla każdego piksela; każdy znak to biała sylwetka zmierzona w pole odległości i postawiona przez shader jako kropla wody. Ta strona uruchamia przeniesienia tych samych dwóch shaderów.
  • Wokół nich: lxb-portal do udostępniania ekranu, okien wyboru plików i reszty portalu pulpitu; lxb-updates, koordynator aktualizacji; oraz opcjonalni pomocnicy dla RetroArch, Heroic i RPCS3.

Tłumaczenia

Każde słowo, które pokazuje powłoka, pochodzi z katalogu Fluent, w dziesięciu językach: niemieckim, brytyjskim i amerykańskim angielskim, hiszpańskim, francuskim, hindi, polskim, brazylijskim portugalskim, rosyjskim i chińskim uproszczonym.

Katalogi to zwykłe pliki tekstowe w crates/lxb-desktop/locales/. Poprawienie tłumaczenia to edycja jednej linii; nowy język to nowy katalog, a testy sprawdzają, czy każdy katalog ma te same komunikaty z tymi samymi argumentami. Ekran logowania i siostrzane aplikacje mają własne katalogi w tej samej postaci.

Zgłoś błąd

Otwórz zgłoszenie na GitHubie i dołącz cztery rzeczy, dzięki którym problem da się odtworzyć:

  • twoją dystrybucję i jej wersję;
  • twoją kartę graficzną i sterownik;
  • sposób uruchomienia LineXinBar — z ekranu logowania, przez lxb --shell na konsoli albo w sesji zagnieżdżonej;
  • logi z chwili, gdy coś poszło nie tak — journalctl --user -b dla sesji albo wyjście terminala z uruchomienia zagnieżdżonego.

Problem z kontrolerem łatwiej wyśledzić, znając markę i model pada oraz wiedząc, czy jest podłączony kablem, czy przez Bluetooth.

Współtwórz

Zgłoszenia błędów, testy sprzętu, tłumaczenia i kod są mile widziane.

  • Testy sprzętu liczą się teraz najbardziej: inni producenci grafiki, konsole przenośne, kilka GPU, nietypowe ekrany i kontrolery.
  • Tłumaczenia: popraw to, co w twoim języku brzmi źle, albo dodaj nowy język.
  • Kod: budowanie to cargo build --release --locked, testy to cargo test, a sesja zagnieżdżona to sposób, żeby zobaczyć zmianę w działaniu.

Licencja

LineXinBar to wolne oprogramowanie na licencji GNU General Public License, wyłącznie w wersji 3.

Dołączone fonty Roboto i Roboto Mono mają własne otwarte licencje, podobnie jak fonty Noto, które powłoka zawiera dla hindi i chińskiego, oraz motyw kursorów Bibata. Ta strona jest częścią repozytorium i ma tę samą licencję.