Grzybcio Wiki
GrzybcioIsland

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

config.json
{
  "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

PoleTypDomyślnieOpis
imagePathstring""Ś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

PoleTypDomyślnieOpis
citystring"Warsaw"Miasto, dla którego pobierana jest pogoda
useGeolocationboolfalseCzy 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

PoleTypDomyślnieOpis
apiKeystring—Twój klucz z OpenWeatherMap
unitsstring"metric"metric (°C), imperial (°F) albo standard (K)
refreshIntervalMinutesnumber15Co 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

PoleTypDomyślnieOpis
sourcestring"system"Źródło informacji o odtwarzanym utworze
refreshIntervalSecondsnumber2Co 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

PoleTypDomyślnieOpis
accentColorhex#F5C542Kolor akcentu — paski postępu, ikony
panelColorhex#12121ATło rozwiniętych paneli
pillColorhex#14141ATło pigułki z zegarem
textColorhex#FFFFFFKolor tekstu
panelOpacity0–10.85Przezroczystość 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

PoleTypDomyślnieOpis
revealZoneWidthPxnumber400Szerokość strefy na górze ekranu, która reaguje na kursor
revealTriggerHeightPxnumber6Jak blisko krawędzi musi być kursor
hideDelayMsnumber400Po jakim czasie od zjechania kursorem nakładka się chowa
animationDurationMsnumber300Dł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ę.

On this page