Cynamon dostaje pasek postępu na pasku zadań
Jak być może już wiesz, w systemie Microsoft Windows, począwszy od systemu Windows 7, aplikacje mogą rysować pasek postępu bezpośrednio na przycisku paska zadań aplikacji. Jest to przydatne, gdy kopiujesz pliki, pobierasz coś lub instalujesz ogromną aplikację, która wymaga czasu. Zasadniczo każde zadanie, które pokazuje pasek postępu, korzysta z paska zadań, który to wskazuje. Oto dobra wiadomość dla użytkowników Linux Cinnamon: ta sama funkcja pojawi się w Cinnamon.
Reklama
Cynamon to flagowe środowisko graficzne Linux Mint. Rozpoczęty jako widelec Gnome, teraz jest w pełni niezależny.
W nadchodzącym środowisku graficznym Cinnamon 3.6 jego programiści wprowadzili specjalną zmianę w LibXapp, podstawowej bibliotece współdzielonej między aplikacjami zawartymi w Linux Mint.
Deweloperzy opisali to w następujący sposób:
Kiedy aplikacja jest zajęta robieniem czegoś, zwykle pokazuje pasek postępu. Zamiast bezmyślnie patrzeć na pasek i czekać, aż osiągnie 100%, ludzie zwykle wykorzystują okazję, aby zrobić coś innego lub odwrócić uwagę w sieci podczas oczekiwania. Problemem jest.. skąd wiesz, że aplikacja jest gotowa, jeśli nie widzisz jej paska postępu? Jak możesz obserwować postęp operacji po zminimalizowaniu okna lub skupieniu na nim innych okien?
Niektóre aplikacje, takie jak program do formatowania pamięci USB lub menedżer plików Nemo, rozwiązały ten problem, zmieniając tytuł okna, aby wskazać postęp. W ten sposób procent jest widoczny nie tylko w ich pasku tytułowym, ale także w liście okien panelu.
Windows 7 zrobił to jeszcze lepiej, zaimplementował mechanizm, który pozwala aplikacjom komunikować swoje postępy z ich środowiskiem.
Postanowiliśmy umożliwić to w Linuksie, implementując to w LibXapp.
LibXApp to biblioteka C dostępna w większości dystrybucji. Zapewnia dynamiczne powiązania z wieloma językami za pośrednictwem GIRepository.
Oto przykład w Pythonie:
importuj gi. gi.require_version('Gtk', '3.0') gi.require_version('XApp', '1.0') z gi.repository import Gtk, XApp window = Gtk. Okno() window.set_title("Moje okno") window.show() XApp.set_window_progress (okno, 50) XApp.set_window_icon_name (okno, "informacje") window.connect("zniszcz", Gtk.main_quit) Gtk.main()Jak widać, aplikacja jest w stanie przekazać postęp (50% w tym przykładzie) do menedżera okien, po prostu wywołując XApp.set_window_progress (okno, 50).
W Cinnamon 3.6 postęp ten jest widoczny na liście okien:
Biblioteka dostarcza również użyteczną klasę o nazwie GtkWindow, która wywodzi się z Gtk. Window i udostępnia te funkcje bezpośrednio przez instancję:
importuj gi. gi.require_version('Gtk', '3.0') gi.require_version('XApp', '1.0') z gi.repository import Gtk, XApp window = XApp. Okno Gtk() window.set_title("Moje okno") window.show() window.set_progress (50) window.set_icon_name("informacje") window.connect("zniszcz", Gtk.main_quit) Gtk.main()
Ta funkcja jest oczekiwana w następnej aktualizacji Linux Mint. Mint w wersji 18.3 będzie zawierał funkcję postępu zadań dla następujących aplikacji:
- Nemo (operacje na plikach)
- Narzędzie do tworzenia kopii zapasowych
- Menedżer oprogramowania
- Menedżer kierowcy
- Formater pamięci USB
- Zapis obrazu USB
Deweloperzy rozważają również dodanie obsługi tej funkcji do MATE/Caja i Synaptic oraz ich narzędzi pomocniczych, takich jak Menedżer aktualizacji, Ustawienia językowe i Źródła oprogramowania.
Wreszcie aplet sieciowy w Cinnamon ma możliwość ponownego skanowania w poszukiwaniu sieci bezprzewodowych.
Wszystkie te zmiany są oczekiwane w Linux Mint 18.3.