Skip to content

Commit

Permalink
enh(#149): improve UX for wallpaper manager
Browse files Browse the repository at this point in the history
  • Loading branch information
eythaann committed Nov 24, 2024
1 parent 02510c2 commit 7121ed4
Show file tree
Hide file tree
Showing 77 changed files with 443 additions and 90 deletions.
1 change: 1 addition & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## [Unreleased]
### feature
- add bases for future plugins and widgets sytems.
- change wallpaper randomly.

### enhancements
- some UI/UX improvements on seelen wallpaper manager.
Expand Down
7 changes: 6 additions & 1 deletion documentation/schemas/settings.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,8 @@
"default": {
"backgrounds": [],
"enabled": true,
"interval": 60
"interval": 60,
"randomize": false
},
"allOf": [
{
Expand Down Expand Up @@ -1372,6 +1373,10 @@
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"randomize": {
"default": false,
"type": "boolean"
}
}
},
Expand Down
2 changes: 2 additions & 0 deletions lib/src/state/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ pub struct SeelenWallSettings {
pub backgrounds: Vec<SeelenWallWallpaper>,
/// update interval in seconds
pub interval: u64,
pub randomize: bool,
}

impl Default for SeelenWallSettings {
Expand All @@ -296,6 +297,7 @@ impl Default for SeelenWallSettings {
enabled: true,
backgrounds: vec![],
interval: 60,
randomize: false,
}
}
}
Expand Down
1 change: 1 addition & 0 deletions lib/src/state/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export class SeelenWallSettings {
backgrounds: SeelenWallWallpaper[] = [];
/** Interval in seconds */
interval: number = 60;
randomize: boolean = false;
}

export enum SeelenLauncherMonitor {
Expand Down
32 changes: 22 additions & 10 deletions src/apps/seelen_wall/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,40 @@ import { ThemedWallpaper, Wallpaper } from './modules/wallpaper/infra';
import { Selectors } from './modules/shared/store/app';

export function App() {
const [currentBg, setCurrentBg] = useState(0);
const [scope, animate] = useAnimate<HTMLDivElement>();

const version = useSelector(Selectors.version);
const { backgrounds, interval } = useSelector(Selectors.settings);
const { backgrounds, interval, randomize } = useSelector(Selectors.settings);

useInterval(() => {
if (backgrounds.length > 1) {
animate(scope.current, { opacity: 0.1 }).then(() => {
setCurrentBg((currentIdx) => currentIdx + 1);
});
}
}, interval * 1000);
const [currentBg, setCurrentBg] = useState(
randomize ? Math.floor(Math.random() * backgrounds.length) : 0,
);

useInterval(
() => {
if (backgrounds.length > 1) {
animate(scope.current, { opacity: 0.1 }).then(() => {
if (randomize) {
setCurrentBg(Math.floor(Math.random() * backgrounds.length));
} else {
setCurrentBg((currentIdx) => (currentIdx + 1) % backgrounds.length);
}
});
}
},
(interval < 1 ? 1 : interval) * 1000,
[randomize, backgrounds.length],
);

useEffect(() => {
getCurrentWindow().show();
}, []);

const background = backgrounds[currentBg % backgrounds.length];
const background = backgrounds[currentBg];
if (!background) {
return <ThemedWallpaper />;
}

return (
<Wallpaper
key={version}
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/af.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,13 @@ monitors_configurations:
label: Monitor {{index}}
wall:
no_background: Leë skyfievertoning en gebruik die agtergrond van die tema eerder.
interval: Verander plakpapier elke (sekondes)
backgrounds: Agtergronde
enable: Aktiveer agtergrondbestuurder
interval: Verander die muurpapier elke
random: Randomize skyfievertoning
minutes: minute
seconds: sekondes
hours: ure
app_launcher:
runners:
explorer: Wedloop
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/am.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,9 +225,13 @@ monitors_configurations:
label: ይቆጣጠሩ {{አው.ፊ.}}}}
wall:
backgrounds: የግድግዳ ወረቀቶች
interval: የግድግዳ ወረቀት እያንዳንዱን (ሰከንዶች) ይለውጡ
no_background: በመከራየት የፊት ገጽታውን ዳራ በመጠቀም ባዶ ተንሸራታች ትዕይንት.
enable: የግድግዳ ወረቀት ሥራ አስኪያጅን ያንቁ
random: የዘፈቀደ ተንሸራታች ትዕይንት
interval: የግድግዳ ወረቀት እያንዳንዱን ይለውጡ
minutes: ደቂቃዎች
hours: ሰዓታት
seconds: ሰከንዶች
app_launcher:
runners:
explorer: ሩጫ
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/ar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,12 @@ monitors_configurations:
wall:
backgrounds: خلفيات
no_background: عرض شرائح فارغ ، باستخدام خلفية السمة بدلاً من ذلك.
interval: تغيير خلفية كل (ثواني)
enable: تمكين مدير خلفية
random: عرض عشوائي عرض الشرائح
interval: تغيير خلفية كل
hours: ساعات
seconds: ثوان
minutes: دقائق
app_launcher:
runners:
explorer: يجري
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/az.yml
Original file line number Diff line number Diff line change
Expand Up @@ -229,10 +229,14 @@ save_and_restart: Saxla və yenidən başladın
monitors_configurations:
label: Monitor {{index}}
wall:
interval: Hər (saniyə) divar kağızı dəyişdirin
backgrounds: Divar kağızları
no_background: Bunun əvəzinə mövzunun fonundan istifadə edərək boş slayd şousu.
enable: Divar kağızı menecerini aktivləşdirin
interval: Divar kağızı hər birini dəyişdirin
random: Slayd şousu
hours: sair
seconds: saniyə
minutes: dəqiqəlik
app_launcher:
runners:
label: Qaçışçı
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/bg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,12 @@ monitors_configurations:
wall:
backgrounds: Тапети
no_background: Празно слайдшоу, вместо това използвайки фона на темата.
interval: Сменяйте тапетите на всеки (секунди)
enable: Активирайте мениджъра на тапети
interval: Променете тапетите всеки
random: Рандомизиране слайдшоу
hours: часове
minutes: минути
seconds: секунди
app_launcher:
runners:
cmd: Команда
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/bn.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,12 @@ monitors_configurations:
wall:
backgrounds: ওয়ালপেপার
no_background: পরিবর্তে থিমের পটভূমি ব্যবহার করে খালি স্লাইডশো।
interval: প্রতি ওয়ালপেপার পরিবর্তন করুন (সেকেন্ড)
enable: ওয়ালপেপার ম্যানেজার সক্ষম করুন
interval: প্রতিটি ওয়ালপেপার পরিবর্তন করুন
random: এলোমেলোভাবে স্লাইডশো
seconds: সেকেন্ড
hours: ঘন্টা
minutes: মিনিট
app_launcher:
runners:
explorer: চালানো
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/bs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,12 @@ monitors_configurations:
wall:
backgrounds: Pozadine
no_background: Prazno prezentacija, koristeći temu, umjesto toga.
interval: Promenite pozadinu svake (sekunde)
enable: Omogućite menadžer pozadina
random: Randomizirajte prezentaciju
interval: Promijenite pozadinu svake
seconds: sekundi
hours: sati
minutes: minuta
app_launcher:
runners:
cmd: Naredba
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/ca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,12 @@ monitors_configurations:
wall:
backgrounds: Fons de pantalla
no_background: A la presentació de diapositives buides, utilitzant el fons del tema.
interval: Canvieu el fons de pantalla cada (segons)
enable: Activa el gestor de fons de pantalla
random: Randomize Show de diapositives
interval: Canvieu el fons de pantalla cada
hours: hores
seconds: segons
minutes: minuts
app_launcher:
runners:
label: Corredors
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/cs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,12 @@ monitors_configurations:
wall:
backgrounds: Tapety
no_background: Prázdná prezentace místo toho za použití pozadí tématu.
interval: Změňte tapetu každý (sekundy)
enable: Povolit správce tapet
interval: Změňte tapetu každý
random: Randomize prezentace
minutes: zápis
seconds: sekundy
hours: hodiny
app_launcher:
runners:
explorer: Běh
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/cy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,13 @@ monitors_configurations:
label: Monitro {{mynegai}}
wall:
no_background: Sioe sleidiau gwag, gan ddefnyddio cefndir thema yn lle.
interval: Newid papur wal bob (eiliad)
backgrounds: Papurau Wal
enable: Galluogi Rheolwr Papur Wal
interval: Newid papur wal bob
random: Sioe sleidiau ar hap
minutes: munudau
seconds: eiliadau
hours: oriau
app_launcher:
runners:
label: Rhedwyr
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/da.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,12 @@ monitors_configurations:
wall:
backgrounds: Baggrunde
no_background: Tom lysbilledshow ved hjælp af temas baggrund i stedet.
interval: Skift tapet hver (sekunder)
enable: Aktivér tapet manager
interval: Skift tapet hver
random: Randomiser slideshow
seconds: sekunder
hours: timer
minutes: minutter
app_launcher:
runners:
cmd: Kommando
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/de.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,13 @@ monitors_configurations:
label: Monitor {{index}}
wall:
no_background: Leere Diashow, stattdessen wird der Hintergrund des Themas verwendet.
interval: Wechseln Sie das Hintergrundbild alle [Sekunden]
backgrounds: Hintergrundbilder
enable: Tapetenmanager aktivieren
interval: Wechseln Sie die Hintergrundbild
random: Die Diashow randomisieren
hours: Std.
seconds: Sekunden
minutes: Minuten
app_launcher:
runners:
cmd: Befehl
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/el.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,9 +234,13 @@ monitors_configurations:
label: Monitor {{index}}
wall:
no_background: Άδειο slideshow, χρησιμοποιώντας το φόντο του θέματος αντ 'αυτού.
interval: Αλλάξτε ταπετσαρία κάθε (δευτερόλεπτα)
backgrounds: Ταπετσαρίες
enable: Ενεργοποίηση διαχειριστή ταπετσαρίας
interval: Αλλάξτε ταπετσαρία κάθε
random: Τυχαία παρουσίαση
minutes: πρακτικά
seconds: δευτερόλεπτα
hours: ώρες
app_launcher:
runners:
explorer: Τρέξιμο
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,13 @@ monitors_configurations:
label: Monitor {{index}}
wall:
enable: Enable Wallpaper Manager
interval: Change wallpaper every (seconds)
interval: Change wallpaper every
random: Randomize slideshow
backgrounds: Wallpapers
no_background: Empty slideshow, using theme's background instead.
hours: hours
minutes: minutes
seconds: seconds
app_launcher:
enable: Enable App Launcher
monitor: Monitor to show
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,12 +233,16 @@ save_and_restart: Guardar y reiniciar
monitors_configurations:
label: Monitor {{índice}}
wall:
interval: Cambiar papel tapiz cada (segundos)
no_background: >-
Presentación de diapositivas vacías, utilizando el fondo del tema en su
lugar.
backgrounds: Fondos de pantalla
enable: Habilitar gerente de fondo de pantalla
interval: Cambiar papel tapiz cada
random: Aleatorizar la presentación de diapositivas
minutes: minutos
hours: horas
seconds: artículos de segunda clase
app_launcher:
runners:
explorer: Correr
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/et.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,13 @@ monitors_configurations:
label: Monitor {{indeks}}
wall:
backgrounds: Taustapildid
interval: Muutke tapeet iga (sekundit)
no_background: Tühi slaidiseanss, kasutades selle asemel teema tausta.
enable: Luba tapeedihaldur
interval: Vahetage tapeeti iga
random: Randoriseeri slaidiseanss
seconds: sekundid
minutes: protokoll
hours: tööaeg
app_launcher:
runners:
cmd: Käsk
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/eu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,14 @@ save_and_restart: Gorde eta berrabiarazi
monitors_configurations:
label: Monitor {{index}}
wall:
interval: Aldatu horma-irudia (segundo)
backgrounds: Horma-irudiak
no_background: Aurkezpen hutsak, gaiaren atzeko planoa erabiliz.
enable: Gaitu horma-kudeatzailea
interval: Aldatu horma-irudia guztietan
random: Aurkezpen diaporama
seconds: bizkarbete
hours: ordire ordu
minutes: minutuak
app_launcher:
runners:
label: Kornollari
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/fa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,13 @@ monitors_configurations:
label: مانیتور {{فهرست}}
wall:
backgrounds: تصاویر پس زمینه
interval: تصویر زمینه را هر (ثانیه) تغییر دهید
no_background: نمایش اسلاید خالی ، به جای آن با استفاده از پس زمینه تم.
enable: مدیر تصویر زمینه را فعال کنید
random: نمایش پرده ای تصادفی
interval: کاغذ دیواری را تغییر دهید
minutes: دقایقی
hours: ساعت
seconds: ثانیه
app_launcher:
runners:
cmd: فرمان
Expand Down
6 changes: 5 additions & 1 deletion src/apps/settings/i18n/translations/fi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,14 @@ save_and_restart: Tallenna ja käynnistä uudelleen
monitors_configurations:
label: Monitor {{hakemisto}}
wall:
interval: Vaihda taustakuva joka (sekunti)
no_background: Tyhjä diaesitys käyttämällä sen sijaan teeman taustalla.
backgrounds: Taustakuvat
enable: Ota taustakuvan johtaja käyttöön
random: Satunnaista diaesitys
interval: Vaihda taustakuva jokainen
hours: tuntia
seconds: sekunti
minutes: minuutti
app_launcher:
runners:
cmd: Komento
Expand Down
Loading

0 comments on commit 7121ed4

Please sign in to comment.