i3

Verbeterde betegeling WM
Download nu

i3 Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Michael Stapelberg
  • Uitgever website:
  • http://michael.stapelberg.de/mxallowd.en

i3 Tags


i3 Beschrijving

Verbeterde tiling WM I3 is een betegelingsvensterbeheerder. Het is volledig geschreven .I3 werd gecreëerd omdat WMII, onze favoriete raambeheerder op dat moment geen enkele functies heeft gegeven die we wilden (Xinerama heeft gelijk gedaan, bijvoorbeeld), had nog een tijdje verder En was helemaal niet gemakkelijk om te hacken (opmerkingen voor broncode / documentatie volledig ontbreekt). Toch denken we dat de WMII-ontwikkelaars en -dragers geweldig werk hebben gedaan. Bedankt voor het inspireren van ons om I3 te creëren. Houd er rekening mee dat I3 voornamelijk is gericht op geavanceerde gebruikers en ontwikkelaars. Gooden: op basis van de ervaringen die we hebben gemaakt bij het willen hacken / repareren WMII, hebben we de volgende doelen overeengekomen voor I3: 1. Schrijf goed leesbare, goed gedocumenteerde code. Maak extra documentatie over het verlengen van I3 door de interne werking uit te leggen. Dit omvat wijzigbaar door mensen die weten hoe ze moeten programmeren, maar die niet noodzakelijk bekend zijn met alle internals van X11. Dat wil zeggen, document waarom dingen gebeuren en wanneer ze gebeuren, zodat de gebruiker een foto krijgt van het hele proces, is een Window Manager verantwoordelijk voor het lezen van de broncode. 2. Gebruik XCB voor zover mogelijk (het biedt nog geen functies voor sommige functies, zoals XKB) in plaats van XLIB. XCB heeft een veel schonere API en zou in heel veel situaties sneller moeten zijn. 3. Implementeer Xinerama correct, dat is door elke werkruimte toe te wijzen aan een virtueel scherm. Zorg er vooral voor dat het bevestigen en losmaken van nieuwe monitors zoals videoprojectoren werkt tijdens de werking en het juiste ding doet. 4. Gebruik de metafoor van een tabel voor abstractie. U kunt horizontale en verticale kolommen maken (in WMII, u kunt alleen verticale kolommen maken). Zie de documentatie voor meer informatie over hoe dit werkt, het is echt een belangrijk principe in I3. (TODO: documentatie :-)) 5. Implementeer een opdrachtmodus, zoals in VIM. U kunt eenvoudig meerdere acties combineren (zoals focusseer, bewegen, snappen) door de opdrachtmodus te gebruiken. 6. Implementeer XRANDR-ondersteuning voor omschakelaars. 7. Gebruik geen programma's zoals Autoconf / Automake voor Configuratie en het maken van onleesbare / kapotte makeFiles. Gebruik in plaats daarvan een schone makefile die functies voor specifieke platforms automatisch mogelijk maakt / uitschakelen. Documenteer ook de afhankelijkheden op de juiste manier, zodat pakkethouder een gemakkelijke baanpakking I3 hebben. 8. Zorg voor haken / callbacks voor andere programma's om te integreren. Met behulp van dit mechanisme kan men I3 eenvoudig uitstrekken in elke taal, zonder ooit de C-code aan te raken. Ook om te communiceren met een Running I3-instantie, kunnen berichten worden verzonden. Deze aanpak moet lichter zijn dan het gebruik van het 9P-bestandssysteem. Bovendien is de kernfunctionaliteit niet afhankelijk van een afzonderlijk programma, zodat I3 sneller werkt, vooral wanneer uw systeem onder belasting is. 9. Be UTF-8 schoon. 10. Het gebruikelijke elitisatie onder minimale venstermanagers: niet opgeblazen, wees niet luxueus (eenvoudige grenzen zijn de meeste decoratie die we willen hebben), voeg geen ondersteuning toe voor XFT en wazig lettertypen. We dwingen echter niet onnodige limieten zoals een maximale hoeveelheid bronregels van de code. Als het een beetje groter moet zijn, zal het zijn.Speciale functies * We kunnen op Mode_Switch (Alt GR) binden. Andere venstermanagers doen dat niet vanwege een X11-bug, waardoor de status van de modifier niet correct is ingesteld in sleutelpress-evenementen. We gebruiken XKB om ervoor te zorgen dat u de juiste toestand krijgt.


i3 Gerelateerde software