i3 è un window manager piastrelle. E 'completamente scritto da zero.
i3 è stato creato perché wmii, il nostro window manager preferito, al momento, didn & rsquo; t forniscono alcune caratteristiche che volevamo (Xinerama fatto bene, per esempio), ha avuto alcuni bug, didn & rsquo; t progressi dopo un bel po 'di tempo e wasn & rsquo; t facile da hackerare a tutti (i commenti di codice sorgente / documentazione completamente assente). Tuttavia, riteniamo che gli sviluppatori wmii e collaboratori hanno fatto un ottimo lavoro. Grazie per averci ispirazione per creare i3.
Si prega di essere consapevole del fatto che i3 si rivolge principalmente a utenti e sviluppatori avanzati.
Gol:
Sulla base delle esperienze che abbiamo fatto quando si vuole incidere / fix wmii, abbiamo concordato i seguenti obiettivi per i3:
& Nbsp; 1. Scrivere bene leggibile, codice ben documentato. Creare ulteriore documentazione su come estendere i3 spiegando suo funzionamento interno.
& Nbsp; Questo include l'essere modifyable da persone che non sanno come programmare, ma che non sono necessariamente Conoscete tutti X11 & rsquo; s interni. Cioè, documento perché le cose accadono e quando accadono in modo che l'utente ottiene un quadro di tutto il processo un Window Manager è responsabile di semplicemente leggendo il codice sorgente.
& Nbsp; 2. Uso xcb quanto possibile (non fornisce funzioni per alcune caratteristiche ancora, come XKB) invece di Xlib. xcb ha una API molto più pulito e dovrebbe essere più veloce in un sacco di situazioni.
& Nbsp; 3. Implementare correttamente Xinerama, ossia assegnando ogni area di lavoro di uno schermo virtuale. In particolare assicurarsi che attaccare e staccare nuovi monitor come videoproiettori funziona durante il funzionamento e fa la cosa giusta.
& Nbsp; 4. Usa la metafora di un tavolo per astrazione. È possibile creare colonne orizzontali e verticali (in wmii, è possibile creare solo colonne verticali). Vedere la documentazione per ulteriori informazioni su come funziona, è davvero un principio importante in i3. (TODO: documentazione:-))
& Nbsp; 5. Implementare una modalità di comando, come in vim. Si può facilmente combinare più azioni (come la messa a fuoco, in movimento, scattare) utilizzando la modalità di comando.
& Nbsp; 6. Implementare il supporto XRandR per lanciare i monitor.
& Nbsp; 7. Non utilizzare programmi come autoconf / automake per la configurazione e la creazione illeggibili / makefile rotti. Invece, utilizzare un makefile pulito, che abilita automaticamente / disattiva funzionalità per piattaforme specifiche. Inoltre, documentare le dipendenze correttamente, in modo che i gestori dei pacchetti hanno un facile i3 imballaggi lavoro.
& Nbsp; 8. Fornire ganci / callback per altri programmi di integrazione. Utilizzando questo meccanismo, si può facilmente estendere i3 in qualsiasi lingua, senza mai toccare il codice C. Inoltre, per comunicare con un'istanza i3 in esecuzione, i messaggi possono essere inviati.
& Nbsp; Questo approccio dovrebbe essere più leggero di wmii & rsquo; s utilizzo del filesystem 9P. Inoltre, funzionalità di base non dipende un programma separato, in modo che i3 corre più veloce, soprattutto quando il sistema è sotto carico.
& Nbsp; 9. Essere UTF-8 pulito.
& Nbsp; 10. Il solito elitario tra minimi window manager: Don & rsquo; t essere gonfio, don & rsquo; t essere di fantasia (confini semplici sono le più decorazione vogliamo avere), don & rsquo; t aggiungere il supporto per Xft e font sfocate.
& Nbsp; Tuttavia, noi non applichiamo limiti inutili come ad esempio un importo massimo di righe di codice sorgente. Se deve essere un po 'più grande, sarà.
Prestazioni
* Possiamo legare il Mode_switch (Alt Gr). Altri gestori di finestre non riescono a farlo a causa di un X11-bug, che provoca lo stato di modifica non deve essere impostato correttamente in eventi KeyPress-. Usiamo XKB per fare in modo di ottenere lo stato corretto
Cosa c'è di nuovo in questa versione:.
- compatibilità è stata migliorata, in particolare per le applicazioni di Mathematica e Java.
- i3-nagbar dovrebbero funzionare con più emulatori di terminale rispetto a prima.
Cosa c'è di nuovo nella versione 4.5.1:
- Questa è una versione bugfix, e tutti gli utenti sono consigliato di aggiornamento.
- E 'di correggere un problema che potrebbe causare il crash di i3 durante il trascinamento finestre mobili da uno schermo all'altro.
Cosa c'è di nuovo in versione 4.5:.
- La maggior parte dei cambiamenti sono ripuliture e correzioni di bug
- A causa di pulizie, i3 non dipende più flex / bisonte.
- libev ≥ 4 è ora una dipendenza difficile (libev & lt; 4 non è supportato più).
- Un cambiamento importante da notare è che lo spostamento delle finestre a un'uscita diversa non sarà più spostare l'attivazione che in uscita.
Cosa c'è di nuovo in versione 4.4:
- Un importante cambiamento sotto il cofano è che questa versione ora utilizza la stessa infrastruttura parser per il file di configurazione, come per i comandi.
- A parte questo, ci sono stati molti piccoli correzioni e aggiunte che rendono i3 prestare maggiore attenzione al dettaglio, in particolare nel settore finestra mobile del codice. Vedere l'elenco modifiche / correzioni per ulteriori informazioni.
- Non notare che questi cambiamenti sono 4.4-specifici, e dal momento che l'ultima versione rilasciata qui ci sono stati molti cambiamenti.
I commenti non trovato