J'ai un intérêt de longue date à développer une interface utilisateur du système d'exploitation adaptée à mes besoins et intérêts. Quand j'étais plus jeune, je suis devenu fou en jouant avec les outils de skinning Stardock pour Windows. J'ai adoré développer mes propres styles de fenêtres et idées de mise en page. Depuis lors, j'ai eu des démangeaisons insensibles.
Ce que je recherche:
Je suis intéressé par les saveurs Linux/OS qui pourraient avoir du sens, quels outils/frameworks seraient utiles pour accomplir la tâche (Qt semble être une suggestion populaire ici), et des informations de base sur comment/où on pourrait commencer à développer/tester de tels une interface utilisateur. Je serais également intéressé à lire à propos de toute interface utilisateur "personnelle" que les gens pourraient avoir développée.
C'est un intérêt bien au-delà de mon travail de développement normal, donc en tant que déni de responsabilité, pardonnez ma naïveté si je semble confus. Des informations correctives sont les bienvenues.
Je sais que c'est une grande question, donc merci à ceux qui ont pris le temps de faire des suggestions.
Vous souhaitez créer votre propre DE (environnement de bureau). Des exemples courants sont GNOME et KDE, bien que plusieurs d'entre eux étaient populaires. En fait, il était très populaire de créer votre propre DE, et des outils de script dédiés étaient souvent créés.
Vous devrez généralement combiner plusieurs outils: un gestionnaire de fenêtres, un programme de barre d'outils, un gestionnaire de bureau (icônes), un gestionnaire de sessions, éventuellement plus. En dehors de cela, seul un gestionnaire de fenêtres est une partie requise (cela n'a généralement aucun sens de ne pas exécuter de WM à l'intérieur du serveur X), et d'autres sont facultatifs. Vous n'écrivez généralement pas ces outils à partir de zéro (c'est beaucoup de travail), mais utilisez des composants déjà disponibles.
Notez que GNOME et KDE sont en fait constitués de ces éléments (bien intégrés). Par exemple, GNOME se compose d'un gestionnaire de fenêtres (metacity
), de barres d'outils (gnome-panel
), gestionnaire de bureau (nautilus
) et ainsi de suite. Vous pouvez changer un élément en un autre si vous le souhaitez: il était courant d'utiliser sawfish
comme gestionnaire de fenêtres au lieu de metacity
, en gardant tous les autres éléments intacts. Maintenant, il est courant d'utiliser compiz
au lieu de metacity
.
J'avais l'habitude d'utiliser FVWM , qui est un gestionnaire de fenêtres avec des capacités de script supplémentaires (assez bonnes) qui pourraient être utilisées pour créer des barres d'outils, des menus et d'autres choses. Un des exemples de Nice est FVWM-Crystal , qui est un DE complet basé sur FVWM et quelques autres outils, écrit dans un mélange de scripts FVWM et Python. Vous pouvez réellement changer n'importe quel type de comportement lors de l'exécution en ouvrant simplement la console de script de FVWM et en tapant des commandes. FVWM-Crystal peut être un bon point de départ si vous voulez partir de quelque chose de déjà utilisable; FVWM nu est bon si vous voulez construire votre DE à partir de zéro.
[MISE À JOUR: il semble que gnome-Shell est très similaire à cet égard à FVWM
. La plupart de son comportement est scripté en utilisant JavaScript (au lieu d'un langage personnalisé dans FVWM), et est très facile à modifier. Il est également très activement développé, car c'est une partie importante de GNOME3, avec un très bon support pour la composition. C'est le paradis des hackers ;-)]
[UPDATE2: il semble donc que j'avais raison sur gnome-Shell. Il y a Cinnamon , qui utilise le même framework (mutter
gestionnaire de fenêtres) que gnome-Shell
, mais crée un bureau qui fonctionne différemment de gnome-Shell
.]
Il y avait un site Web qui était une bonne source d'idées à mettre en œuvre: lynucs.org . Il est en panne depuis deux ans maintenant, mais il est devenu archivé .
Attention: beaucoup de ces composants ne sont plus maintenus, surtout depuis que GNOME/KDE a commencé à devenir réellement utilisable. Le développement dans ce domaine est généralement davantage dicté par les exigences spécifiques des appareils intégrés: téléphones ou netbooks .
Maintenant, pour répondre à vos vraies questions:
compiz
.Je commencerais probablement par une installation Ubuntu et le gestionnaire de fenêtres OpenBox et je construirais à partir de là.
OpenBox est très minimal mais vous pouvez ajouter des applications (par exemple Docky, Awn, etc.) pour fournir des éléments d'interface de bureau ou écrire les vôtres.
Si vous avez une interface utilisateur rapide et cool, je suggérerais de regarder Lumières . Il est plus ancien que Gnome et je l'ai trouvé une option extrêmement rapide et consommant peu de ressources.
Avez-vous essayé Tcl/Tk? Tcl est un langage de script. Tk est la partie GUI du langage. Votre application s'exécutera partout même sur Android utilisant AndroWish.
Si facile et si rapide.
En une heure seulement, j'ai pu établir un agenda avec un calendrier.