XCB
| {{#if: XCB | XCB | {{#invoke:WLink|getArticleBase}} }}
{{#if: Logo | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{{Screenshot}}}{{#if: Logo von XCB | Logo von XCB }}| }} | ||||||||
| Basisdaten
{{#if: | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: Jamey Sharp, Josh Triplett, Bart Massey | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: POSIX |
| |||||||
| Betriebssystem | POSIX |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: C | | |||||||
| Programmiersprache | C |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: X-Window Kernprotokoll Entwicklerbibliothek | | |||||||
| Kategorie | X-Window Kernprotokoll Entwicklerbibliothek
}}{{#if: MIT | | |||||||
| Lizenz | MIT |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: nein | | |||||||
| deutschsprachig | faculty|nein}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: xcb.freedesktop.org | | |||||||
xcb.freedesktop.org |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]
}} | |||||||
XCB (X C Binding) ist eine Programmbibliothek, die auf einfache und direkte Weise Transaktionen des X-Window-Protokolls über Funktionsaufrufe in der Programmiersprache C zur Verfügung stellt.<ref>Bart Massey,J amey Sharp: XCB: An X Protocol C Binding. (PDF; 53 kB) 19. September 2001 (englisch)</ref> Damit versucht sie, die bisherige Xlib durch eine leichtgewichtigere Bibliothek zu ersetzen.
Mittlerweile ist mit Xlib/XCB eine Xlib erhältlich, deren Transportschicht durch XCB ersetzt wurde. Durch die mit der herkömmlichen Xlib binär kompatible Schnittstelle kann es von bestehenden Programmen anstelle der herkömmlichen Xlib verwendet werden.
Übersicht
XCB wurde als kleinerer, modernisierter Ersatz für Xlib konzipiert, früher die primäre C-Bibliothek für die Kommunikation mit dem X-Window-System, zeitgleich mit einer umfassenderen Überarbeitung der X-Implementierung, die in den frühen 2000er Jahren stattfand.<ref>{{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:|{{#if:The (Re)Architecture of the X Window System|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=The (Re)Architecture of the X Window System}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=The (Re)Architecture of the X Window System}}}}|[{{#invoke:URLutil|getNormalized|1=https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=The (Re)Architecture of the X Window System}}}}]}}{{#if:| ({{{format}}}{{#if:2003{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| )
| {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ;
| )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}}%7C%7C}}}}{{#if:The (Re)Architecture of the X Window System|{{#if:{{#invoke:WLink|isValidLinktext|1=The (Re)Architecture of the X Window System|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: | {{{hrsg}}}{{#if: 2003|,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: 2003| {{#if:{{#invoke:DateTime|format|2003|noerror=1}}
|{{#invoke:DateTime|format|2003|T._Monat JJJJ}}
|{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2003|class=Zitationswartung}} }}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:2003|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:1185117||(?)}}}}}}{{#if: 2019-05-27|;}}}}{{#if: 2019-05-27| {{#if:2003{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2019-05-27 |ISO|noerror=1}} }}
|4=im Jahr
|7=im
|10=am
|#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2019-05-27|class=Zitationswartung}} }} {{#invoke:DateTime|format|2019-05-27|T._Monat JJJJ}}
| {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:2003{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| (
| {{#if: | | (}}
}}{{#ifeq:{{#if:en|en|de}}|de||
{{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2003{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
#if:
| „{{
#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| Vorlage:Str trim
| {{#invoke:Vorlage:lang|flat}}
}}“
| {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| „Vorlage:Str trim“
| {{#invoke:Text|quote
|1={{#if:
| {{#invoke:Vorlage:lang|flat}}
| {{#invoke:Vorlage:lang|flat}} }}
|2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
|3=1}} }}
}}{{#if:
| (<templatestyles src="Person/styles.css" />{{#if: | : }}{{#if: | , deutsch: „“ }})
| {{#if:
| ({{#if: | , deutsch: „“ }})
| {{#if: | (deutsch: „“) }}
}}
}}{{#if: {{{zitat}}}
| {{#if:
| {{#if: {{{zitat}}}
| Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
| Vorlage:": Text= fehlt }}{{#if: | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
| Vorlage:": Ungültiger Wert: ref=
| {{{ref}}} }}
}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:
|0|=Vorlage:Toter Link/Core{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if: | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if:{{#invoke:URLutil|isWebURL|https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if:{{#invoke:URLutil|isWebURL|https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}[https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf }}|{{#switch: |0|=Vorlage:Toter Link/Core{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if: | [2] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if:{{#invoke:URLutil|isWebURL|https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf | {{#if:{{#invoke:URLutil|isWebURL|https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}[https://keithp.com/~keithp/talks/xarch_ols2004/xarch_ols2004.pdf }} }}}}}}}}}}{{#if:| {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}
}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref> Die Hauptziele von XCB sind:
- eine Reduktion der Größe und Komplexität der Bibliothek erzielen
- einen direkten Zugriff auf das X11-Protokoll zu bieten
Die erforderliche Größenreduzierung wird in erster Linie dadurch erreicht, dass der Umfang von XCB auf die Handhabung des X-Protokolls beschränkt wird und Xlib-Funktionen, wie die umfangreiche Dienstprogramm-Bibliothek, weggelassen werden, die bei Anwendungen allerdings auch weniger genutzt wurde. Sekundäre Ziele sind unter anderem, die C-Schnittstelle asynchron zu machen, ein besseres Multithreading zu ermöglichen und Erweiterungen (über XML-Protokollbeschreibungen) einfacher zu implementieren. Die Beschreibungen der Kern- und Erweiterungsprotokolle sind in XML, wobei ein in Python geschriebenes Programm die C-Bindings erstellt.
Ein weiteres Ziel ist es, mit Hilfe der Protokollbeschreibungen eine Protokolldokumentation, weitere Sprachbindungen und serverseitige Stubs erstellen zu können.
Xlib-Kompatibilität
Xlib/XCB bietet Kompatibilität mit der binären Anwendungsschnittstelle mit Xlib und XCB und bietet einen inkrementellen Portierungspfad. Xlib/XCB verwendet die Protokollschicht von Xlib, ersetzt aber die Xlib-Transportschicht durch XCB und bietet Zugriff auf die zugrundeliegende XCB-Verbindung zur direkten Verwendung von XCB. Xlib/XCB ermöglicht es einer Anwendung, eine einzige Verbindung zum X-Anzeigeserver zu öffnen und sowohl XCB als auch Xlib zu verwenden, möglicherweise durch eine Mischung von Bibliotheken, die für die eine oder andere Anwendung entwickelt wurden.<ref>{{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:|{{#if:Xlib/XCB: Xlib with XCB transport|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=Xlib/XCB: Xlib with XCB transport}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://xcb.freedesktop.org/XlibXcb/%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=Xlib/XCB: Xlib with XCB transport}}}}|[{{#invoke:URLutil|getNormalized|1=https://xcb.freedesktop.org/XlibXcb/}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=Xlib/XCB: Xlib with XCB transport}}}}]}}{{#if:| ({{{format}}}{{#if:{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| )
| {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ;
| )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://xcb.freedesktop.org/XlibXcb/%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://xcb.freedesktop.org/XlibXcb/}}%7C%7C}}}}{{#if:Xlib/XCB: Xlib with XCB transport|{{#if:{{#invoke:WLink|isValidLinktext|1=Xlib/XCB: Xlib with XCB transport|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: | {{{hrsg}}}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: | {{#if:{{#invoke:DateTime|format||noerror=1}}
|{{#invoke:DateTime|format||T._Monat JJJJ}}
|{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=|class=Zitationswartung}} }}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:1185117||(?)}}}}}}{{#if: 2019-05-27|;}}}}{{#if: 2019-05-27| {{#if:{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2019-05-27 |ISO|noerror=1}} }}
|4=im Jahr
|7=im
|10=am
|#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2019-05-27|class=Zitationswartung}} }} {{#invoke:DateTime|format|2019-05-27|T._Monat JJJJ}}
| {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| (
| {{#if: | | (}}
}}{{#ifeq:{{#if:en|en|de}}|de||
{{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: {{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
#if:
| „{{
#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| Vorlage:Str trim
| {{#invoke:Vorlage:lang|flat}}
}}“
| {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| „Vorlage:Str trim“
| {{#invoke:Text|quote
|1={{#if:
| {{#invoke:Vorlage:lang|flat}}
| {{#invoke:Vorlage:lang|flat}} }}
|2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
|3=1}} }}
}}{{#if:
| (<templatestyles src="Person/styles.css" />{{#if: | : }}{{#if: | , deutsch: „“ }})
| {{#if:
| ({{#if: | , deutsch: „“ }})
| {{#if: | (deutsch: „“) }}
}}
}}{{#if: {{{zitat}}}
| {{#if:
| {{#if: {{{zitat}}}
| Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
| Vorlage:": Text= fehlt }}{{#if: | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
| Vorlage:": Ungültiger Wert: ref=
| {{{ref}}} }}
}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:
|0|=Vorlage:Toter Link/Core{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if: | [3] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if:{{#invoke:URLutil|isWebURL|https://xcb.freedesktop.org/XlibXcb/}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://xcb.freedesktop.org/XlibXcb/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if:{{#invoke:URLutil|isWebURL|https://xcb.freedesktop.org/XlibXcb/}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}[https://xcb.freedesktop.org/XlibXcb/ }}|{{#switch: |0|=Vorlage:Toter Link/Core{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if: | [4] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if:{{#invoke:URLutil|isWebURL|https://xcb.freedesktop.org/XlibXcb/}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://xcb.freedesktop.org/XlibXcb/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://xcb.freedesktop.org/XlibXcb/ | {{#if:{{#invoke:URLutil|isWebURL|https://xcb.freedesktop.org/XlibXcb/}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}[https://xcb.freedesktop.org/XlibXcb/ }} }}}}}}}}}}{{#if:| {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}
}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref><ref>{{#if:|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:|{{#if:libx11 with Xlib/XCB now in experimental; please test with your packages|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1={{{archiv-url}}}}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=libx11 with Xlib/XCB now in experimental; please test with your packages}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=libx11 with Xlib/XCB now in experimental; please test with your packages}}}}|[{{#invoke:URLutil|getNormalized|1=https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=libx11 with Xlib/XCB now in experimental; please test with your packages}}}}]}}{{#if:| ({{{format}}}{{#if:{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| )
| {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ;
| )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}}%7C%7C}}}}{{#if:libx11 with Xlib/XCB now in experimental; please test with your packages|{{#if:{{#invoke:WLink|isValidLinktext|1=libx11 with Xlib/XCB now in experimental; please test with your packages|lines=0}}||}}}}{{#if: | In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{{werk}}}}}}}{{#if: | {{{hrsg}}}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: | {{#if:{{#invoke:DateTime|format||noerror=1}}
|{{#invoke:DateTime|format||T._Monat JJJJ}}
|{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=|class=Zitationswartung}} }}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: |,|{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||,}}}}}}}}{{#if: {{#invoke:TemplUtl|faculty|}}| {{#if:|{{#if:|archiviert|ehemals}}|{{#if:|Archiviert|Ehemals}}}} {{#if:|vom|im}} Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|}}| (nicht mehr online verfügbar)}}{{#if: | am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|{{{archiv-datum}}}{{#if:1185117||(?)}}}}}}{{#if: 2019-05-27|;}}}}{{#if: 2019-05-27| {{#if:{{#invoke:TemplUtl|faculty|}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2019-05-27 |ISO|noerror=1}} }}
|4=im Jahr
|7=im
|10=am
|#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2019-05-27|class=Zitationswartung}} }} {{#invoke:DateTime|format|2019-05-27|T._Monat JJJJ}}
| {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:{{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
| (
| {{#if: | | (}}
}}{{#ifeq:{{#if:en|en|de}}|de||
{{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: {{#if: 2019-05-27 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}en|{{#if: |: {{
#if:
| „{{
#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| Vorlage:Str trim
| {{#invoke:Vorlage:lang|flat}}
}}“
| {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
| „Vorlage:Str trim“
| {{#invoke:Text|quote
|1={{#if:
| {{#invoke:Vorlage:lang|flat}}
| {{#invoke:Vorlage:lang|flat}} }}
|2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
|3=1}} }}
}}{{#if:
| (<templatestyles src="Person/styles.css" />{{#if: | : }}{{#if: | , deutsch: „“ }})
| {{#if:
| ({{#if: | , deutsch: „“ }})
| {{#if: | (deutsch: „“) }}
}}
}}{{#if: {{{zitat}}}
| {{#if:
| {{#if: {{{zitat}}}
| Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
| Vorlage:": Text= fehlt }}{{#if: | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
| Vorlage:": Ungültiger Wert: ref=
| {{{ref}}} }}
}}|.{{#if:{{#invoke:TemplUtl|faculty|}}|{{#if:||{{#ifeq: | JaKeinHinweis |{{#switch:
|0|=Vorlage:Toter Link/Core{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if: | [5] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if:{{#invoke:URLutil|isWebURL|https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if:{{#invoke:URLutil|isWebURL|https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: deadurl |checked|deadurl|= |#default= {{#if: || }} }}[https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html }}|{{#switch: |0|=Vorlage:Toter Link/Core{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if: | [6] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if:{{#invoke:URLutil|isWebURL|https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html | {{#if:{{#invoke:URLutil|isWebURL|https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html}} || {{#if: || }} }} }}{{#if: | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}[https://lists.debian.org/debian-devel-announce/2006/11/msg00010.html }} }}}}}}}}}}{{#if:| {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:|Vorlage:Webarchiv/archiv-bot}}
}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref>
Ziele
XCB strebt folgende Ziele an:
- kleiner und weniger komplex
- direkter Zugriff auf das X11-Protokoll
- asynchron, um nebenläufige Programme besser zu unterstützen
- leicht zu erweitern
Beispiel
Während in Xlib bzw. in Xlib/XCB die Ereignisschleife immer noch in Xlib-Funktionsaufrufen gemacht wird, sieht man hier ein Programmstück ohne Xlib-Aufrufe. Die Aufrufe sind etwas systemnaher, als man es von Xlib gewohnt ist.
<syntaxhighlight lang="c">
/* einfache XCB-Applikation, die ein Rechteck in ein Fenster zeichnet. Kompilierbar beispielsweise mit: gcc -o xcbtest xcbtest.c -lxcb */
#include <xcb/xcb.h> #include <stdio.h> #include <stdlib.h>
int main()
{
xcb_connection_t *c;
xcb_screen_t *s;
xcb_window_t w;
xcb_gcontext_t g;
xcb_generic_event_t *e;
uint32_t mask;
uint32_t values[2];
int done = 0;
xcb_rectangle_t r = { 20, 20, 60, 60 };
/* Verbindung zum X-Server öffnen */
if((c = xcb_connect(NULL,NULL)) == NULL) {
printf("Cannot open display\n");
exit(1);
}
/* get the first screen */
s = xcb_setup_roots_iterator( xcb_get_setup(c) ).data;
/* schwarzen Grafikkontext erzeugen */ g = xcb_generate_id(c); w = s->root; mask = XCB_GC_FOREGROUND | XCB_GC_GRAPHICS_EXPOSURES; values[0] = s->black_pixel; values[1] = 0; xcb_create_gc(c, g, w, mask, values);
/* Fenster erzeugen */
w = xcb_generate_id(c);
mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK;
values[0] = s->white_pixel;
values[1] = XCB_EVENT_MASK_EXPOSURE | XCB_EVENT_MASK_KEY_PRESS;
xcb_create_window(c, s->root_depth, w, s->root,
10, 10, 100, 100, 1,
XCB_WINDOW_CLASS_INPUT_OUTPUT, s->root_visual,
mask, values);
/* Anzeigen (einblenden, "map") des Fensters */ xcb_map_window(c, w);
xcb_flush(c);
/* event loop, Ereignisschleife */
while (!done && (e = xcb_wait_for_event(c))) {
switch (e->response_type & ~0x80) {
case XCB_EXPOSE: /* draw or redraw the window */
xcb_poly_fill_rectangle(c, w, g, 1, &r);
xcb_flush(c);
break;
case XCB_KEY_PRESS: /* beenden, wenn eine Taste gedrückt wird */
done = 1;
break;
}
free(e);
}
/* Verbindung zum X-Server trennen */
xcb_disconnect(c);
return 0; }
</syntaxhighlight>
Weblinks
- xcb.freedesktop.org Wiki
- XCB API Referenz (englisch)
- Weitere Publikationen (englisch)
- Basic Graphics Programming With the XCB Library Tutorial (englisch)
Einzelnachweise
<references />
- Seiten mit defekten Dateilinks
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:"
- Wikipedia:Weblink offline fix-attempted
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link/URL fehlt
- X Window System
- Freedesktop.org
- C-Bibliothek
- Abkürzung