[Environnement de Bureau] Créer son propre environnement

Autres projets et contributions
Répondre
Avatar de l’utilisateur
Jlzz
Daikyu
Messages : 50
Inscription : mar. 14 août 2012, 15:10
Localisation : Moselle

[Environnement de Bureau] Créer son propre environnement

Message par Jlzz »

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 ! :)
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [Environnement de Bureau] Créer son propre environnement

Message par Anghirrim »

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.
Optiplex 3060 Micro Intel© Core™ i5-8500T, 16Go RAM, Arch Linux Cinnamon + Windows 10
Asus X53S, Linux Mint Cinnamon
Avatar de l’utilisateur
Jlzz
Daikyu
Messages : 50
Inscription : mar. 14 août 2012, 15:10
Localisation : Moselle

Re: [Environnement de Bureau] Créer son propre environnement

Message par Jlzz »

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.
Avatar de l’utilisateur
Anghirrim
Elfe
Messages : 701
Inscription : mar. 28 févr. 2012, 11:09
Localisation : Loire-Atlantique

Re: [Environnement de Bureau] Créer son propre environnement

Message par Anghirrim »

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
Avatar de l’utilisateur
Jlzz
Daikyu
Messages : 50
Inscription : mar. 14 août 2012, 15:10
Localisation : Moselle

Re: [Environnement de Bureau] Créer son propre environnement

Message par Jlzz »

D'accord, je te remercie de ton intervention ! D'autres personnes auront peut-être des pistes a me proposer !
Avatar de l’utilisateur
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

Message par FoolEcho »

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.
C'est pourtant ce que tu as de grandes chances de faire si tu veux partir "from scratch". :|
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.» :nage:
Avatar de l’utilisateur
Jlzz
Daikyu
Messages : 50
Inscription : mar. 14 août 2012, 15:10
Localisation : Moselle

Re: [Environnement de Bureau] Créer son propre environnement

Message par Jlzz »

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.
Avatar de l’utilisateur
vlamy
yeomen
Messages : 268
Inscription : ven. 20 juil. 2012, 15:19
Localisation : Grenoble

Re: [Environnement de Bureau] Créer son propre environnement

Message par vlamy »

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?
Avatar de l’utilisateur
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

Message par FoolEcho »

vlamy 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
vlamy a écrit :n'aurais tu pas simplement intérêt à regarder les projets existants : Gnome, KDE, XFCE, ...etc?
+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)
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Environnement de Bureau] Créer son propre environnement

Message par Distag »

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.
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
Jlzz
Daikyu
Messages : 50
Inscription : mar. 14 août 2012, 15:10
Localisation : Moselle

Re: [Environnement de Bureau] Créer son propre environnement

Message par Jlzz »

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
Avatar de l’utilisateur
vlamy
yeomen
Messages : 268
Inscription : ven. 20 juil. 2012, 15:19
Localisation : Grenoble

Re: [Environnement de Bureau] Créer son propre environnement

Message par vlamy »

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
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).
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [Environnement de Bureau] Créer son propre environnement

Message par Ypnose »

vlamy a écrit :Alors guettes l'arrivée de Wayland et les potentielles intégrations dans les "Desktops"
On en est pas encore là :)
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Environnement de Bureau] Créer son propre environnement

Message par Distag »

À 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
Avatar de l’utilisateur
Silkmoth
Hankyu
Messages : 13
Inscription : dim. 15 mai 2011, 12:11

Re: [Environnement de Bureau] Créer son propre environnement

Message par Silkmoth »

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 :
  • 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é.
Bien évidement ce n'est pas suffisant pour faire un gestionnaire de fenêtre et encore moins un desktop complet, mais ce pourrait être pour l'instant un bon départ pour toi.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [Environnement de Bureau] Créer son propre environnement

Message par Ypnose »

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?
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.
Et sachant que j'utilise pas mal de softs Xlib, j'attends de voir comment ça va se goupiller, avant de me prononcer.
Répondre