Commit Graph

72 Commits

Author SHA1 Message Date
Michael Stapelberg 0639a7d95b 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 14:39:27 +01:00
Fernando Tarlá Cardoso Lemos 481ae6ccf2 Support pkg-config if the modules are available. 2011-02-20 16:22:09 +01:00
Fernando Tarlá Cardoso Lemos 69fc6449dc libXcursor support (themed cursors). 2010-11-28 13:01:45 +01:00
Fernando Tarlá Cardoso Lemos bfa12a5819 Port the path resolution and config loading code from -next. 2010-11-15 14:00:46 +01:00
Michael Stapelberg c1789bef8e Include git branch name in the version string 2010-06-02 11:22:09 +02:00
Michael Stapelberg 0a04ed618b Makefile: only enable when -freorder-blocks-and-partition when DEBUG != 1
…otherwise you don’t see variables in gdb
2010-05-09 22:45:21 +02:00
Michael Stapelberg ab03b3bd41 compile with -freorder-blocks-and-partition 2010-04-13 20:16:40 +02:00
Michael Stapelberg c145f7e529 first step of the big refactoring ("tree" branch).
From here on, we can track changes. It made no sense to put the
development up to this point into git.
2010-04-13 13:17:39 +02: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