Come ottenere un widget sul tuo desktop
Dipende dal widget, e dal computer, e a cosa si riferisce il "desktop".
Se intendi lo sfondo effettivo del desktop, allora dovrai cercare come impostare immagini/gifs/funzionalità di sfondo per il tuo sistema operativo (non sono sicuro che tu possa farlo su windows o macos, ma so che puoi farlo su linux, dato che l'ho fatto)
O usa semplicemente il motore per sfondi[1]o cerca una tecnologia simile.
Ora, se intendete una vera e propria "finestra" come un'applicazione sullo schermo... beh, quanto complicato volete diventare?
Al livello più basso di questo, c'è un programma chiamato "window manager", che ha la responsabilità di creare e gestire le "finestre" (ogni programma aperto che ha la sua piccola scatola, è una finestra), ma per visualizzare qualsiasi cosa, il computer deve letteralmente disegnarla, il che può essere fatto dalla CPU o dalla GPU (la gpu lo fa solo più velocemente).
Specificamente come si disegna dipende dalla libreria che si sceglie di usare, poiché chiedere direttamente alla cpu o alla gpu di disegnare richiede di interagire direttamente, rendendolo adatto solo a quella specifica versione, che è una programmazione molto fragile.
Per un modo molto più semplice, ci sono framework desktop in cui costruirli.
Farlo all'interno di un motore di gioco, come unity, mentre non posso raccomandarlo personalmente perché non penso sia una grande idea, potrebbe anche essere un'opzione per la via di mezzo, dato che i motori di gioco sono solo pittori di computer che chiedono una finestra in cui lavorare.
Riferimenti:
- Vulkan, una libreria grafica
- GLFW, un'API di richiesta di finestre
- SDL, un altro richiedente di finestre
- Caro ImGui, un'API grafica GUI
Note
[1] Wallpaper Engine su Steam