[Environnement de Bureau] Créer son propre environnement
[Environnement de Bureau] Créer son propre environnement
Bonjour à tous,
Si je pose ma question ici, c'est que j'aimerai avoir les avis d'utilisateurs expérimentés comme vous.
Quels sont les démarches à suivre pour créer un bon environnement de bureau ? Par quoi faut t'il commencer ? Comment agencer son code, et même, commencer à développer ce type de projet pour qu'il soit réutilisable et lisible par tous ?
Je ne souhaite pas réinventer la roue, j'aimerai juste savoir comment tout celà fonctionne pour mieux comprendre le système sur lequel je travaille tout les jours. Et aussi, pour pouvoir améliorer mon savoir faire en me plongeant dans un projet comme celui-ci.
Autant de questions que de réponses incomplètes d'utilisateurs sur internet c'est pourquoi je me tourne vers vous.
Avec un merci d'avance !
Si je pose ma question ici, c'est que j'aimerai avoir les avis d'utilisateurs expérimentés comme vous.
Quels sont les démarches à suivre pour créer un bon environnement de bureau ? Par quoi faut t'il commencer ? Comment agencer son code, et même, commencer à développer ce type de projet pour qu'il soit réutilisable et lisible par tous ?
Je ne souhaite pas réinventer la roue, j'aimerai juste savoir comment tout celà fonctionne pour mieux comprendre le système sur lequel je travaille tout les jours. Et aussi, pour pouvoir améliorer mon savoir faire en me plongeant dans un projet comme celui-ci.
Autant de questions que de réponses incomplètes d'utilisateurs sur internet c'est pourquoi je me tourne vers vous.
Avec un merci d'avance !
- Anghirrim
- Elfe
- Messages : 701
- Inscription : mar. 28 févr. 2012, 11:09
- Localisation : Loire-Atlantique
Re: [Environnement de Bureau] Créer son propre environnement
Salut,
Environnement de bureau ou gestionnaire de fenètre?
Parce que déjà, en installant un gestionnaire de fenètre et en y greffant tous les outils dont tu as besoin te permet de bien comprendre comment ça fonctionne.
Genre Openbox + barre des taches, plus zone de notif + gestion des thèmes fenètres + etc...
Sans forcément se lancer dans le code, tu verra ce qu'il faut lancer en plus de quelque chose capable d'afficher et d'interagir avec les programmes.
Environnement de bureau ou gestionnaire de fenètre?
Parce que déjà, en installant un gestionnaire de fenètre et en y greffant tous les outils dont tu as besoin te permet de bien comprendre comment ça fonctionne.
Genre Openbox + barre des taches, plus zone de notif + gestion des thèmes fenètres + etc...
Sans forcément se lancer dans le code, tu verra ce qu'il faut lancer en plus de quelque chose capable d'afficher et d'interagir avec les programmes.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Asus X53S, Linux Mint Cinnamon
Re: [Environnement de Bureau] Créer son propre environnement
Merci pour ta réponse !
Non non, je parle bien d'un environnement de bureau. Pour le gestionnaire de fenêtre je vois déjà comment m'en sortir.
Non non, je parle bien d'un environnement de bureau. Pour le gestionnaire de fenêtre je vois déjà comment m'en sortir.
- Anghirrim
- Elfe
- Messages : 701
- Inscription : mar. 28 févr. 2012, 11:09
- Localisation : Loire-Atlantique
Re: [Environnement de Bureau] Créer son propre environnement
Bon bah si c'est pur programmation alors, je te laisse, je ne peux aider
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Asus X53S, Linux Mint Cinnamon
Re: [Environnement de Bureau] Créer son propre environnement
D'accord, je te remercie de ton intervention ! D'autres personnes auront peut-être des pistes a me proposer !
- FoolEcho
- Maître du Kyudo
- Messages : 10707
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [Environnement de Bureau] Créer son propre environnement
C'est pourtant ce que tu as de grandes chances de faire si tu veux partir "from scratch".Jlzz a écrit :Je ne souhaite pas réinventer la roue, j'aimerai juste savoir comment tout celà fonctionne pour mieux comprendre le système sur lequel je travaille tout les jours.
De fait, côté programmation sur ce type de choses, je ne sais pas si tu vas trouver beaucoup d'écho ici. Mais grosso modo, un environnement de bureau, c'est un tas de fonctions usuelles: barre de tâches, menu des applications, gestionnaire de fichier, des applications bateaux (terminal, butineur, messagerie, multimédia, graphisme), quelques gadgets (horloge, contrôle du volume, fond d'écran...) Tout ça pouvant bien sûr être des éléments indépendants (cf. xfce ou lxde)... et un gestionnaire de fenêtres (et là, si tu veux partir de zéro...).
Sachant que ça peut se coder en c/c++ (gtk2 ou 3 ; qt) ou plus exotique (lisp, java).
Si tu veux vraiment partir de zéro, c'est très... ambitieux. Trop, à mon sens (je vois mal une personne seule, même motivée ou développeur confirmé, pondre un KDE ou un Gnome... ne serait-ce que pour des questions de temps).
Sinon, faut voir ce que font et comment le font «les autres».
«The following statement is not true. The previous statement is true.»
Re: [Environnement de Bureau] Créer son propre environnement
Merci pour toute les informations. Non, je n'ai pas réellement l'intention de faire celà tout seul. Mon but c'est de toucher un peu pour en apprendre plus.
Ecoute, je vais aller voir ce que je peux trouver encore sur ce sujet et je le posterai ici, si par hasard d'autres personnes sont/seront intéressées.
Ecoute, je vais aller voir ce que je peux trouver encore sur ce sujet et je le posterai ici, si par hasard d'autres personnes sont/seront intéressées.
Re: [Environnement de Bureau] Créer son propre environnement
Salut !
Je ne suis pas sûr d'avoir compris à 100% ta requête, mais n'aurais tu pas simplement intérêt à regarder les projets existants : Gnome, KDE, XFCE, ...etc?
Essayer de développer des fonctionnalités dedans, dans ton coin dans un premier temps, puis de voir comment se déroule la vie de ce genre de projet.
De mon point de vue, ces projets sont richissimes, tu y aborderas plein d'aspect de gestion de projet logiciel aussi compliqués qu'intéressants. Et il te faudra faire un peu d'histoire pour tout bien comprendre aussi
Finalement, je me demande vraiment quel est le but de ta démarche : comprendre pour être un utilisateur avancé ou comprendre pour développer ta propre solution?
Je ne suis pas sûr d'avoir compris à 100% ta requête, mais n'aurais tu pas simplement intérêt à regarder les projets existants : Gnome, KDE, XFCE, ...etc?
Essayer de développer des fonctionnalités dedans, dans ton coin dans un premier temps, puis de voir comment se déroule la vie de ce genre de projet.
De mon point de vue, ces projets sont richissimes, tu y aborderas plein d'aspect de gestion de projet logiciel aussi compliqués qu'intéressants. Et il te faudra faire un peu d'histoire pour tout bien comprendre aussi
Finalement, je me demande vraiment quel est le but de ta démarche : comprendre pour être un utilisateur avancé ou comprendre pour développer ta propre solution?
- FoolEcho
- Maître du Kyudo
- Messages : 10707
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [Environnement de Bureau] Créer son propre environnement
+1vlamy a écrit :Finalement, je me demande vraiment quel est le but de ta démarche : comprendre pour être un utilisateur avancé ou comprendre pour développer ta propre solution?
+1 (et là, selon tes habitudes/langages de programmation tu peux sélectionner tel ou tel environnement existant, c'est très instructif et ça facilite l'entrée)vlamy a écrit :n'aurais tu pas simplement intérêt à regarder les projets existants : Gnome, KDE, XFCE, ...etc?
«The following statement is not true. The previous statement is true.»
Re: [Environnement de Bureau] Créer son propre environnement
Avant de te lancer dans le code pur, si c'est juste pour t'amuser et comprendre mieux, je te conseille de configurer un tiling manager (Awesome, DWM, WMFS, etc.), tu verras tu apprendras pas mal de chose, sur les différents types de logiciels dont tu as besoin pour faire tout tourner.
Et si cela ne te suffit pas, et que tu souhaites vraiment faire mumuse avec les fonctions de Xorg en C, je te conseille de regarder le code source du tiling DWM, il ne fait que 2000 lignes et avec quelques man sur les fonctions de X11 et un peu de temps, on arrive assez bien à comprendre comment tout est orchestré. Je pense que cela peut être une bonne base de bidouiller son code pour commencer ce genre de projet.
Et si cela ne te suffit pas, et que tu souhaites vraiment faire mumuse avec les fonctions de Xorg en C, je te conseille de regarder le code source du tiling DWM, il ne fait que 2000 lignes et avec quelques man sur les fonctions de X11 et un peu de temps, on arrive assez bien à comprendre comment tout est orchestré. Je pense que cela peut être une bonne base de bidouiller son code pour commencer ce genre de projet.
x86_64 | KDE | Clavier Bépo
Re: [Environnement de Bureau] Créer son propre environnement
Salut,
Pardon de ne pas avoir été clair tout de suite ; mon but est de "comprendre pour être un utilisateur avancé". J'aime bien regarder ce que les autres sont capables de faire et surtout comment ils sont parvenus à telle ou telle solution.
Donc oui, je suis en train de regarder dans les projets existants déjà. Comme tu me l'as proposé, je vais essayer de développer des fonctionnalitées qui existe déjà (inutile d'un côté utilitaire mais interessant du point de vue connaissances).
Merci beaucoup pour vos réponses !!
Edit : @Distag J'ai DWM et je l'ai déjà configuré comme il me plait, j'irai voir aussi côté doc de X11
Pardon de ne pas avoir été clair tout de suite ; mon but est de "comprendre pour être un utilisateur avancé". J'aime bien regarder ce que les autres sont capables de faire et surtout comment ils sont parvenus à telle ou telle solution.
Donc oui, je suis en train de regarder dans les projets existants déjà. Comme tu me l'as proposé, je vais essayer de développer des fonctionnalitées qui existe déjà (inutile d'un côté utilitaire mais interessant du point de vue connaissances).
Merci beaucoup pour vos réponses !!
Edit : @Distag J'ai DWM et je l'ai déjà configuré comme il me plait, j'irai voir aussi côté doc de X11
Re: [Environnement de Bureau] Créer son propre environnement
Alors guettes l'arrivée de Wayland et les potentielles intégrations dans les "Desktops". C'est plus facile de partir de zéro (ou presque) que de rattraper tout l'historique de X11 (même si X11 n'est pas prêt de disparaître).Jlzz a écrit : J'aime bien regarder ce que les autres sont capables de faire et surtout comment ils sont parvenus à telle ou telle solution.
....
Edit : @Distag J'ai DWM et je l'ai déjà configuré comme il me plait, j'irai voir aussi côté doc de X11
Re: [Environnement de Bureau] Créer son propre environnement
À propos de Wayland, je me demande si c'est ou non, suffisamment développé pour faire migrer les plus simples des tilings manager vers ce nouvel environnement?
x86_64 | KDE | Clavier Bépo
Re: [Environnement de Bureau] Créer son propre environnement
J'ai eu la même démarche que toi ( je continue toujours),
Avant d'attaquer Wayland (qui ne sera pas près tout de suite), je te conseille déjà de regarder du côté de la lib xcb (remplacant d'xlib):
http://xcb.freedesktop.org/tutorial/
http://www.x.org/releases/X11R7.7/doc/l ... index.html
C'est la lib qui est utilisée pour se connecter au serveur X et generer des requêtes ( récupérations d'informations, allocations de couleurs, créations/initialisation d'atoms, création/affichage/gestion des fenêtres. C'est du bas niveau dans le sens ou par exemple qt et gtk se basent dessus par exemple.
les spécifications EWMH et ICCCM:
http://standards.freedesktop.org/wm-spe ... atest.html
http://tronche.com/gui/x/icccm/
ces spécifications permettent de définir comment les fenêtres communiquent entre elles ou avec le window manager.
tout en jetant un coup d'oeil sur les sources d'awesome WM ( essayes de faire abstration de tout ce qui est code lua):
en gros dans awesome :
Avant d'attaquer Wayland (qui ne sera pas près tout de suite), je te conseille déjà de regarder du côté de la lib xcb (remplacant d'xlib):
http://xcb.freedesktop.org/tutorial/
http://www.x.org/releases/X11R7.7/doc/l ... index.html
C'est la lib qui est utilisée pour se connecter au serveur X et generer des requêtes ( récupérations d'informations, allocations de couleurs, créations/initialisation d'atoms, création/affichage/gestion des fenêtres. C'est du bas niveau dans le sens ou par exemple qt et gtk se basent dessus par exemple.
les spécifications EWMH et ICCCM:
http://standards.freedesktop.org/wm-spe ... atest.html
http://tronche.com/gui/x/icccm/
ces spécifications permettent de définir comment les fenêtres communiquent entre elles ou avec le window manager.
tout en jetant un coup d'oeil sur les sources d'awesome WM ( essayes de faire abstration de tout ce qui est code lua):
en gros dans awesome :
- il initialise une connection au serveur X,
* initialise certains atoms ,
* se place en tant que gestionnaire de fenêtre, regarde la fonction ewmh_init dans le fichier ewmh.C'est ça le plus important au début (_NET_SUPPORTING_WM_CHECK )
* genere une loop avec libev ( tu peux passer) qui contrôle la fonction récupérant les évènements xcb_wait_for_events. Cahque evenement retournés par cette fonction est renvoyé à la fonction event_management du fichiers events.c. Cette fonction va permettre pour chaque évènements ( clic souris, press button, map windows, reconfigure request) de lancer un handler approprié.
Re: [Environnement de Bureau] Créer son propre environnement
Ce sera surtout aux devs et à la communauté, de porter leurs WM sous Wayland. Finalement, même si ces derniers sembles simples, je pense qu'il y aura beaucoup de boulot.Distag a écrit :À propos de Wayland, je me demande si c'est ou non, suffisamment développé pour faire migrer les plus simples des tilings manager vers ce nouvel environnement?
Et sachant que j'utilise pas mal de softs Xlib, j'attends de voir comment ça va se goupiller, avant de me prononcer.