Commit Graph

15 Commits

Author SHA1 Message Date
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