Automatic Wallpaper Switcher

Funkcje

Aplikacja zmienia obrazy sekwencyjnie — po upływie skonfigurowanego interwału przechodzi do kolejnej tapety, a po dotarciu do końca listy wraca do pierwszej. Bieżąca pozycja w sekwencji jest zapisywana w pliku stanu, dzięki czemu po ponownym uruchomieniu aplikacja wznawia pracę od miejsca, w którym została przerwana, zamiast zaczynać od początku.

Nowoczesny interfejs ustawień w ciemnym motywie umożliwia wskazanie folderu z obrazami, ustawienie interwału zmiany w minutach oraz wybranie domyślnej tapety używanej po wyłączeniu przełączania. W oknie ustawień wyświetlany jest podgląd wybranej tapety domyślnej. Okno można zminimalizować do zasobnika systemowego — aplikacja kontynuuje wówczas działanie w tle. Z poziomu ikony w zasobniku użytkownik może włączać i wyłączać cykliczną rotację, otwierać okno ustawień lub zamknąć aplikację. Menu kontekstowe zasobnika odzwierciedla aktualny stan aplikacji za pomocą znaczników wyboru.

Aplikacja obsługuje autostart systemu Windows. Po włączeniu tej opcji jest rejestrowana w kluczu rejestru Run i uruchamia się automatycznie przy logowaniu. Gdy aplikacja zostaje uruchomiona przez autostart, trafia bezpośrednio do zasobnika bez wyświetlania okna ustawień. Ten sam tryb ukryty można wywołać ręcznie, przekazując flagę --hidden w wierszu poleceń.

Stos technologiczny

Aplikacja jest napisana w Pythonie z przeznaczeniem dla systemu Windows. Interfejs graficzny ustawień oparty jest na bibliotece CustomTkinter, która zapewnia nowoczesny wygląd w ciemnym motywie z zaokrąglonymi rogami i układem zakładkowym. Obsługą ikony w zasobniku systemowym i menu kontekstowego zajmuje się biblioteka PyStray. Pillow (PIL) odpowiada za przetwarzanie obrazów, w tym generowanie ikony zasobnika oraz podglądu tapety domyślnej w oknie ustawień.

Zmiany tapety są wprowadzane za pośrednictwem Windows API z użyciem modułu ctypes. Aplikacja wywołuje funkcję SystemParametersInfoW z parametrem SPI_SETDESKWALLPAPER w celu ustawienia tła pulpitu. Autostart jest realizowany przez rejestr systemu Windows — moduł winreg służy do odczytu i zapisu klucza HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.

Konfiguracja jest przechowywana w formacie JSON. Główny plik konfiguracyjny zawiera ścieżkę do folderu z obrazami, interwał zmiany oraz nazwę pliku tapety domyślnej. Osobny plik stanu przechowuje bieżący indeks w sekwencji tapet, zapewniając ciągłość między kolejnymi uruchomieniami. Projekt jest pakowany do pojedynczego pliku wykonywalnego za pomocą PyInstallera z włączonym trybem okienkowym, dzięki czemu okno konsoli nie jest wyświetlane.