i3 er en flislegging vindusbehandler. Det er helt skrevet fra bunnen av.
i3 ble opprettet fordi wmii, vår favoritt vindusbehandler på den tiden, gjorde & rsquo; t gi noen funksjoner vi ønsket (Xinerama gjort riktig, for eksempel), hadde noen bugs, gjorde & rsquo; t fremgang siden en stund og wasn & rsquo; t lett å hacke det hele tatt (kildekode kommentarer / dokumentasjon helt mangler). Likevel tror vi de wmii utviklere og bidragsytere gjorde en god jobb. Takk for at du inspirerer oss til å skape i3.
Vær oppmerksom på at i3 er primært rettet mot avanserte brukere og utviklere.
Mål:
Basert på de erfaringene vi har gjort når du ønsker å hacke / fix wmii, vi har avtalt følgende mål for i3:
& Nbsp; en. Skrive godt lesbar, godt dokumentert kode. Skape ytterligere dokumentasjon på hvordan å utvide i3 ved å forklare sine interne arbeid.
& Nbsp; Dette inkluderer å være modifyable av folk som vet hvordan å programmere, men som ikke nødvendigvis er kjent med alle X11 & rsquo; s innvendige. Det vil si at dokumentet hvorfor ting skjer og når de skjer, slik at brukeren får et bilde av hele prosessen en Window Manager er ansvarlig for ved bare å lese kildekoden.
& Nbsp; 2. Bruk xcb så langt som mulig (gir den ikke fungerer for noen funksjoner ennå, som XKB) i stedet for Xlib. xcb har en mye renere API og bør være raskere i ganske mange situasjoner.
& Nbsp; 3. Implementere Xinerama riktig, er at ved å tilordne hvert arbeidsområde til en virtuell skjerm. Spesielt sørge for at montering og demontering nye skjermer som videoprosjektører fungerer under drift og gjør det rette.
& Nbsp; 4. Bruke metaforen om en tabell for abstraksjon. Du kan lage horisontale og vertikale kolonner (i wmii, kan du bare lage vertikale kolonner). Se dokumentasjonen for mer informasjon om hvordan dette fungerer, er det virkelig et viktig prinsipp i i3. (TODO: dokumentasjon:-))
& Nbsp; 5. Implementere en kommando-modus, som i vim. Du kan enkelt kombinere flere handlinger (som fokusering, flytting, snapping) ved hjelp av kommandomodus.
& Nbsp; 6. Implementere XRandR støtte for bla skjermer.
& Nbsp; 7. Ikke bruk programmer som autoconf / auto for konfigurasjon og skape uleselige / ødelagte Make-filer. Bruk i stedet en ren Makefile som automatisk aktiverer / deaktiverer funksjoner for spesifikke plattformer. Også dokumentere avhengig riktig, slik at pakken prioriter har en enkel jobb emballasje i3.
& Nbsp; åtte. Gi kroker / tilbakeanrop for andre programmer å integrere. Ved hjelp av denne mekanismen, kan man enkelt forlenge i3 uansett språk, uten å røre den C-kode. Også, for å kommunisere med en løpende i3 eksempel kan meldinger sendes.
& Nbsp; Denne tilnærmingen bør være mer lett enn wmii & rsquo; s bruk av 9P filsystem. Videre gjør kjernefunksjonalitet avhenger ikke av et eget program, slik at i3 kjører raskere, spesielt når systemet er under belastning.
& Nbsp; 9. Være UTF-8 ren.
& Nbsp; 10. Den vanlige elitisme blant minimal vindusbehandlere: Don & rsquo; t være oppblåst, don & rsquo; t være fancy (enkle grenser er den mest dekorasjon vi ønsker å ha), don & rsquo; t legge til støtte for Xft og uskarpe skrifter.
& Nbsp; Men vi trenger ikke håndheve unødvendige begrensninger som et maksimumsbeløp på kilde linjer med kode. Hvis det er behov for å være litt større, vil det være.
Spesielle egenskaper
* Vi kan binde på Mode_switch (Alt Gr). Andre vindu ledere ikke klarer å gjøre det på grunn av en X11-bug, som fører til at modifier staten for å ikke være riktig innstilt i KeyPress- hendelser. Vi bruker XKB for å sørge for å få riktig status
Hva er nytt i denne utgaven:.
- Kompatibilitet ble forbedret, spesielt for Mathematica og Java-programmer.
- i3-nagbar bør arbeide med flere terminalemulatorer enn før.
Hva er nytt i versjon 4.5.1:
- Dette er en bugfix utgivelse, og alle brukere er rådes til å oppgradere.
- Det løser et problem som ville føre i3 å krasje når du drar flytende vinduer fra én skjerm til en annen.
Hva er nytt i versjon 4.5:.
- De fleste endringene er opprydding og feilrettinger
- På grunn av opprydding, i3 ikke lenger er avhengig av flex / bison.
- libev ≥ 4 er nå en hard avhengighet (libev & lt; 4 støttes ikke lenger).
- En viktig endring å merke seg er at å flytte vinduer til en annen utgang vil ikke lenger flytte fokus til det utgang.
Hva er nytt i versjon 4.4:
- En viktig under-the-hood endringen er at denne utgivelsen nå bruker den samme parser infrastruktur for konfigurasjonsfilen som for kommandoene.
- Bortsett fra det, har det vært flere små feilrettinger og tillegg som gjør i3 betale mer oppmerksomhet til detaljer, spesielt i det flytende vinduet område av koden. Se listen endringer / feilrettinger for mer informasjon.
- Gjør oppmerksom på at disse endringene er 4.4-spesifikke, og siden den siste versjonen lansert her har det vært mange endringer.
Kommentarer ikke funnet