Commit Graph

15 Commits

Author SHA1 Message Date
Michael Stapelberg
86117db434 Make i3 compatible with the very latest xcb
This involves:
 • Compiling with xcb-util instead of xcb-{atom,aux} (they merged the libraries)
 • Not using xcb-{event,property} anymore (code removed upstream)
 • Not using the predefined WINDOW, CARDINEL, … atoms (removed upstream)
 • Using the new xcb_icccm_* data types/functions instead of just xcb_*
   (for example xcb_icccm_get_wm_hints instead of xcb_get_wm_hints)

Also I refactored the atoms to use x-macros.
2011-03-18 16:36:50 +01:00
Michael Stapelberg
1bce8f2104 makefiles: support PREFIX and SYSCONFDIR 2010-03-16 00:08:54 +01:00
Michael Stapelberg
9a9ba1b859 ipc: implement GET_WORKSPACES message type
This is the foundation to use dzen2 or similar as a complete
replacement for the internal workspaces bar.

A testcase is included, more documentation about the IPC interface
will follow.
2010-03-11 15:58:39 +01:00
Michael Stapelberg
952914c3c5 Remove -ftrampolines as we don’t have nested functions anymore 2010-03-11 15:36:54 +01:00
Michael Stapelberg
bd76e994b8 Re-add old Xinerama code for the poor nvidia users
Add --force-xinerama when starting i3 to use Xinerama instead of RandR.
This should *ONLY* be done if you have no other choice (nvidia’s
binary driver uses twinview and does not expose the monitor information
through RandR).
2010-03-09 21:25:54 +01:00
Michael Stapelberg
85308715ea Turn nested functions into real functions or macros
This enables compilation with llvm-clang and thus closes ticket #101.
While it makes the code more ugly, I don’t see a beautiful solution
which would enable us to stay with the more elegant solution of
nested functions and still allow compilation with any other compiler
than gcc.
2010-03-07 19:00:34 +01:00
Michael Stapelberg
818e02ef35 huge change: implement RandR instead of Xinerama
Thanks to Merovius for doing a proof of concept on this one and
being a driving force behind the idea.

Using RandR instead of Xinerama means that we are now able to use
the full potential of the modern way of configuring screens. That
means, i3 now has an idea of the outputs your graphic driver
provides, which allowed us to get rid of the ugly way of detecting
changes in the screen configuration which we used before. Now, your
workspaces should not be confused when changing output modes anymore.

Also, instead of having ugly heuristics to assign your workspaces
to (the screen at position X or the second screen in the list of
screens) you will be able to just specify an output name.

As this change basically touches everything, you should be prepared
for bugs. Please test and report them!
2010-03-02 12:47:21 +01:00
Michael Stapelberg
0abf9cc570 Include date of the last commit in version number (Thanks Scytale) 2010-01-23 22:35:10 +01:00
Michael Stapelberg
75ac464c0d makefile: rather than a dependency for each source file, generate loglevels.h by recursion
This little hack runs make recursively to generate include/loglevels.h
before running any other target but skip an explicit dependency on
loglevels.h in each rule. Therefore, you do not need to rebuild
every source file when compiling.
2009-12-22 12:14:09 +01:00
Michael Stapelberg
5397e893b9 logging: new makefile target to generate loglevels at compile time
Using shell commands, a bitmask is generated for each file. Additionally,
a C header containing an array of loglevels and their files is created in
include/loglevels.h.
2009-12-19 22:40:23 +01:00
Michael Stapelberg
da9de671ba Only evaluate the $(shell) expansions once in Makefiles 2009-11-09 21:29:54 +01:00
Michael Stapelberg
b3bee0930e Explicitly specify -lxcb when linking to link with binutils-gold 2009-11-07 16:44:52 +01:00
Michael Stapelberg
a8352a8988 Merge patches for OpenBSD compatibility 2009-09-02 22:25:50 +02:00
Michael Stapelberg
90a94af296 Fix FTBFS for GNU/kFreeBSD and possibly GNU/Hurd (Thanks Cyril) 2009-08-24 12:17:14 +02:00
Michael Stapelberg
ec9b58ada9 Add i3-msg, a sample implementation and hopefully useful utility 2009-07-28 21:26:36 +02:00