Konfiguracja
Wszystkie pola z config.json — pogoda, media, motyw i zachowanie nakładki.
Cała konfiguracja siedzi w jednym pliku config.json w katalogu aplikacji. Powstaje
przez skopiowanie config.example.json.
Pełny plik
{
"background": {
"imagePath": ""
},
"location": {
"city": "Warsaw",
"useGeolocation": false
},
"weather": {
"apiKey": "YOUR_OPENWEATHERMAP_API_KEY",
"units": "metric",
"refreshIntervalMinutes": 15
},
"mediaPlayer": {
"source": "system",
"refreshIntervalSeconds": 2
},
"theme": {
"accentColor": "#F5C542",
"panelColor": "#12121A",
"pillColor": "#14141A",
"textColor": "#FFFFFF",
"panelOpacity": 0.85
},
"behavior": {
"revealZoneWidthPx": 400,
"revealTriggerHeightPx": 6,
"hideDelayMs": 400,
"animationDurationMs": 300
}
}background
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
imagePath | string | "" | Ścieżka do obrazka w tle paneli. Puste = bez obrazka |
Ścieżkę podajesz jako pełną ścieżkę do pliku. W JSON-ie backslashe trzeba podwoić:
"imagePath": "C:\\Users\\grzybcio\\Pictures\\tlo.jpg"location
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
city | string | "Warsaw" | Miasto, dla którego pobierana jest pogoda |
useGeolocation | bool | false | Czy zamiast nazwy miasta użyć lokalizacji systemu |
Nazwę miasta podawaj po angielsku, tak jak rozpoznaje ją OpenWeatherMap
(Warsaw, Krakow, Gdansk). Można doprecyzować krajem: "Warsaw,PL".
weather
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
apiKey | string | — | Twój klucz z OpenWeatherMap |
units | string | "metric" | metric (°C), imperial (°F) albo standard (K) |
refreshIntervalMinutes | number | 15 | Co ile minut odpytywać API |
Nie schodź poniżej 10 minut
Darmowy plan OpenWeatherMap ma limit zapytań. Pogoda i tak nie zmienia się co minutę — 15 minut to sensowny kompromis. Zbyt częste odpytywanie skończy się blokadą klucza.
mediaPlayer
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
source | string | "system" | Źródło informacji o odtwarzanym utworze |
refreshIntervalSeconds | number | 2 | Co ile sekund odświeżać stan odtwarzacza |
system korzysta z systemowego mechanizmu Windowsa, więc działa z każdym odtwarzaczem,
który go obsługuje — Spotify, przeglądarki, Groove i tak dalej.
theme
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
accentColor | hex | #F5C542 | Kolor akcentu — paski postępu, ikony |
panelColor | hex | #12121A | Tło rozwiniętych paneli |
pillColor | hex | #14141A | Tło pigułki z zegarem |
textColor | hex | #FFFFFF | Kolor tekstu |
panelOpacity | 0–1 | 0.85 | Przezroczystość paneli |
Kolory podajesz jako HEX z hashem. Przykład ciemnofioletowego motywu:
"theme": {
"accentColor": "#A78BFA",
"panelColor": "#0B0718",
"pillColor": "#120C24",
"textColor": "#EEEBF7",
"panelOpacity": 0.9
}panelOpacity a czytelność
Poniżej 0.6 tekst na jasnym tle pulpitu zaczyna być trudny do odczytania. Jeśli chcesz
mocno przezroczyste panele, rozważ jednocześnie ciemniejszy panelColor.
behavior
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
revealZoneWidthPx | number | 400 | Szerokość strefy na górze ekranu, która reaguje na kursor |
revealTriggerHeightPx | number | 6 | Jak blisko krawędzi musi być kursor |
hideDelayMs | number | 400 | Po jakim czasie od zjechania kursorem nakładka się chowa |
animationDurationMs | number | 300 | Długość animacji wysuwania |
Praktyczne ustawienia
Nakładka wysuwa się przypadkiem — zwęź strefę i zmniejsz czułość:
"behavior": {
"revealZoneWidthPx": 240,
"revealTriggerHeightPx": 3,
"hideDelayMs": 300,
"animationDurationMs": 300
}Trudno trafić w strefę — poszerz ją:
"behavior": {
"revealZoneWidthPx": 600,
"revealTriggerHeightPx": 10,
"hideDelayMs": 600,
"animationDurationMs": 250
}Nakładka chowa się, zanim zdążysz kliknąć — wydłuż hideDelayMs do 800.
Po zmianach
Zmiany w config.json wymagają odświeżenia — użyj opcji w menu zasobnika albo
zrestartuj aplikację.