Commit Graph

77 Commits

Author SHA1 Message Date
Michael Stapelberg
5ae4620a24 Time Lord technology: for_window config directive to run arbitrary cmds
An example to set all XTerms floating:
    for_window [class="XTerm"] mode floating

To make all urxvts use a 1-pixel border:
    for_window [class="urxvt"] border 1pixel

A less useful, but rather funny example:
    for_window [title="x200: ~/work"] mode floating

The commands are not completely arbitrary. The commands above were tested,
others may need some fixing. Internally, windows are compared against your
criteria (class, title, …) when they are initially managed and whenever one of
the relevant values change. Then, the specified command is run *once* (per
window). It gets prefixed with a criteria to make it match only the specific
window that triggered it. So, if you configure "mode floating", i3 runs
something like '[id="8393923"] mode floating'.
2011-05-15 20:10:25 +02:00
Michael Stapelberg
7e587f3570 add coverage target to makefile to generate a coverage report 2011-05-08 20:08:46 +02:00
Fernando Tarlá Cardoso Lemos
c0563af3e2 Bring back some more EWMH support. 2011-03-14 17:11:33 +01:00
Michael Stapelberg
a9c549b43f properly clean all files in 'make clean' 2011-03-07 20:24:23 +01:00
Michael Stapelberg
a92b9dca73 Bugfix: fix disabling RandR outputs 2011-02-21 01:43:39 +01:00
Michael Stapelberg
26a416e016 refactor tree_move() into src/move.c, change config (!), change testcase
Due to lots of cases which were added and added to tree_move(), the function
was not really easy to understand. For this refactoring, I wrote tree_move()
from scratch, thinking about (hopefully) all cases. The testsuite still passes.

The move command also has different parameters now. Instead of the hard to
understand 'before v' stuff, we use 'move [left|right|up|down]'.
2011-02-14 23:05:20 +01:00
Axel Wagner
fb6d117c42 Port sighandler to tree-branch 2010-12-31 19:36:29 +01:00
Michael Stapelberg
87cffac03a remove i3-wsbar from 'make install', not supported at the moment 2010-12-06 13:20:37 +01:00
Michael Stapelberg
edf4aa433f need more escaping for the version string when replacing in makefile 2010-12-06 13:14:14 +01:00
Michael Stapelberg
ee45c92564 Implement resizing (still buggy)
Committing basic resizing functionality. We need testcases for the bugs and
then eliminate them.
2010-11-29 10:56:16 +01:00
Blekos EelVex Kostas
fd79a3dd5b remove space for flex's -P flag 2010-11-28 13:05:06 +01:00
Fernando Tarlá Cardoso Lemos
69fc6449dc libXcursor support (themed cursors). 2010-11-28 13:01:45 +01:00
Michael Stapelberg
a79d33fc7f Remove some dead code (to be re-implemented), rename nc.c to main.c 2010-07-11 22:12:25 +02:00
Michael Stapelberg
bdb1065537 bugfix: only print the first match when looking for the loglevel
fixes problems with con.c, container.c, config.c
2010-06-02 22:34:31 +02:00
Michael Stapelberg
7f3a77ac6a loglevel bitmasks needs to be larger because we got more than 32 files 2010-04-17 17:46:11 +02:00
Michael Stapelberg
8d05039b04 move match_* to match.c 2010-04-16 22:51:25 +02:00
Michael Stapelberg
769501420d add first version of a new flex/bison based command parser 2010-04-14 20:26:56 +02:00
Michael Stapelberg
fd8735a6fd correctly update/display window title/class 2010-04-13 17:22:34 +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
538d1b3c0f makefile: install i3-wsbar 2010-03-25 03:11:31 +01:00
Michael Stapelberg
1bce8f2104 makefiles: support PREFIX and SYSCONFDIR 2010-03-16 00:08:54 +01:00
Michael Stapelberg
29c4ac9395 makefile: install header file i3/ipc.h 2010-03-16 00:00:27 +01:00
Michael Stapelberg
c9c068c36c Fix parallel compilation (sometimes it failed because of wrong order in lex/yacc) 2010-03-02 12:56:45 +01:00
Michael Stapelberg
01297af20a makefile: parser/lexer also depend on header files 2010-02-13 19:27:28 +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
4b3ff1795c Remove -e and -t from loglevels.h target to make it POSIX compliant (Thanks Mirko) 2009-12-20 23:43:49 +01:00
Michael Stapelberg
1776c12c0b makefile: properly document dependencies on each target to fix parallel make (Thanks Atsutane) 2009-12-20 12:58:45 +01:00
Michael Stapelberg
e498b90e7a makefile: clean temporary files 2009-12-19 22:42:24 +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
08ee194d59 Update regexp in make dist 2009-11-09 21:31:51 +01:00
Michael Stapelberg
e593280dce Change makefile for the release of 3.d 2009-11-09 21:28:29 +01:00
Michael Stapelberg
aa712fc63b Install welcome message, display it in default config 2009-11-06 17:46:34 +01:00
Michael Stapelberg
aa02fda067 Explicitly call flex and bison instead of lex and yacc (Thanks mxf) 2009-09-26 12:47:23 +02:00
Michael Stapelberg
ca9b52bfcc Add initial version of i3-input, an interactive tool for sending IPC commands 2009-09-20 15:44:14 +02:00
Michael Stapelberg
2986636e03 Fix some parsing problems, retab! 2009-09-13 18:40:35 +02:00
Michael Stapelberg
9dd975e974 Add first version of lexer/parser to git, update Makefile 2009-09-13 14:16:39 +02:00
Michael Stapelberg
74a6c7532d Update make dist 2009-08-19 14:37:46 +02:00
Michael Stapelberg
e7bf93163d Make path configurable 2009-07-28 22:09:53 +02:00
Michael Stapelberg
ec9b58ada9 Add i3-msg, a sample implementation and hopefully useful utility 2009-07-28 21:26:36 +02:00
Michael Stapelberg
553db28664 Switch to libev for the event loop to build a base for IPC stuff. Please test! 2009-06-01 20:59:40 +02:00
Michael Stapelberg
8f844fb9d5 Remove MAKE=make from makefile to ensure recursive invocations work (i.e. clean target)
See http://www.gnu.org/software/make/manual/make.html#MAKE-Variable
2009-05-27 00:48:32 +02:00
Michael Stapelberg
ef14f26527 Makefile: Correctly create dist package 2009-05-03 17:16:12 +02:00
Michael Stapelberg
5a1eaba4d3 Bugfix: Correctly redirect output when checking for pkg-config 2009-05-02 21:03:54 +02:00
Michael Stapelberg
e9c5643a8b Makefile: Add more checks: check if pkg-config and libxcb-keysyms are installed 2009-04-30 17:39:01 +02:00
Michael Stapelberg
751fb27b23 Add missing files to make dist, delete old RFC file 2009-04-19 22:31:49 +02:00
Michael Stapelberg
1b36c943e9 Add a .desktop-file containing xsession information for freedesktop compliant login managers 2009-04-19 22:29:04 +02:00
Michael Stapelberg
69c9db4016 Add conditional for the 0.3.3 → 0.3.4 API fix in libxcb-keysyms 2009-04-19 21:37:34 +02:00
Michael Stapelberg
982e453251 Don’t rely on libxcb-wm any longer, as it got removed in libxcb 0.3.4
See http://cgit.freedesktop.org/xcb/util/commit/?id=4c9a707f472e49bc3005354db265a0214071d46b
2009-04-19 20:44:34 +02:00
Michael Stapelberg
22e0ea5141 FreeBSD requires -liconv to link (Thanks Dennis Herrmann) 2009-04-19 14:04:33 +02:00
Michael Stapelberg
3548abd48a Make the makefile print out "INSTALL" when installing 2009-04-11 11:34:20 +02:00