This section formerly called X11 but is changed to the more general name Terminals. The reason is that I' don't have enough time to explore the possibilities of a single library X11 in this case and found that xcb and ncurses have more options to work with than X11. Also in the latest X11 library is a bug which is bypassed, I guess in xcb and ncurses. Anyway I got an example, one single for the moment, so this site shouldn't be complete without one.

Another reason, which is far more assembly language than the source code here is that I want to connect to Xserver itself with sockets etc...  but that's for another time.

Source code can be assembled with the Makefile below and downloaded at github.


BIN=x11info

NASM=/usr/bin/nasm
NASMOPTS=-felf64 -Fdwarf
LDOPS=-melf_x86_64 --dynamic-linker /lib64/ld-linux-x86-64.so.2
LIBS= -lc -lX11

.PHONY: all clean

all: $(BIN)

clean:
	rm -rf $(BIN) $(BIN).o

%: %.asm
	$(NASM) $(NASMOPTS) -o $@.o $<
	$(LD) $(LDOPS) -o $@ $@.o $(LIBS)
	rm -f $@.o