Commit Graph

139 Commits

Author SHA1 Message Date
Michael Stapelberg
cfa74c5468 include the testcases in the dist tarball (required for building docs) 2012-09-10 16:49:43 +02:00
Michael Stapelberg
acdd5287a9 unbreak the build 2012-08-05 14:38:52 +02:00
Michael Stapelberg
dbd248fe1f makefile: store $I3_VERSION in dist tarballs
This is necessary because the autobuilder uses a dist tarball to build
i3 from. If we store $VERSION, the autobuiluder binaries will not run in
developer mode, thus defeating the purpose of developer mode.
2012-08-04 01:11:55 +02:00
Quentin Glidic
395a6aaee5 common.mk: Rework version usage 2012-07-30 21:13:03 +02:00
Michael Stapelberg
d555872753 Bugfix: include i3-input/i3-input.mk in the dist tarballs 2012-07-22 21:04:35 +02:00
Quentin Glidic
8029fae6a9 Move mans to the new Makefile layout 2012-07-22 20:27:13 +02:00
Quentin Glidic
66adb62e1f Move docs to the new Makefile layout 2012-07-22 19:57:48 +02:00
Quentin Glidic
46713c9e6d Makefile: Remove SUBDIRS 2012-07-22 19:57:47 +02:00
Quentin Glidic
4c0b519976 Move i3-dump-log to the new Makefile layout 2012-07-22 19:57:22 +02:00
Quentin Glidic
1a1eb0f3f2 Move i3bar to the new Makefile layout 2012-07-22 19:57:22 +02:00
Quentin Glidic
8910a138ff Move i3-nagbar to the new Makefile layout 2012-07-22 19:57:22 +02:00
Quentin Glidic
eb08d33692 Move i3-input to the new Makefile layout 2012-07-22 19:57:21 +02:00
Quentin Glidic
bbede0ba00 Move i3-msg to the new Makefile layout 2012-07-22 19:57:21 +02:00
Quentin Glidic
0c2e4d8347 Move i3-config-wizard to the new Makefile layout 2012-07-22 19:57:21 +02:00
Quentin Glidic
e3b9ffe381 Move libi3 to the new Makefile layout 2012-07-22 19:57:21 +02:00
Quentin Glidic
8853334bbe New Makefile layout, move i3 to it 2012-07-22 19:57:18 +02:00
Quentin Glidic
bdc078914b i3: Replace loglevels by a global debug logging
File-limited were not used nor really useful
Besides, they are painful to maintain in Makefile rules compared to the
benefit
2012-07-22 18:41:12 +02:00
Michael Stapelberg
3587155c47 makefile: don’t try to install i3.welcome 2012-06-10 18:31:42 +02:00
Michael Stapelberg
5e735744ce also don’t ship GOALS 2012-06-10 18:23:20 +02:00
Michael Stapelberg
09da8a27cb don’t ship i3.welcome and i3-wsbar in the tarballs anymore 2012-06-10 18:21:06 +02:00
Michael Stapelberg
4e734bf331 makefile: use LDFLAGS when linking test.commands_parser (Thanks Marcus) 2012-05-02 20:00:50 +02:00
Michael Stapelberg
1ab3621656 re-add src/cmdparse.* to clean target for people who are switching from the master branch / have old build dirs 2012-02-16 23:44:18 +00:00
Michael Stapelberg
29aa28b623 commands_parser: use safewrapper functions 2012-01-28 10:35:18 +00:00
Michael Stapelberg
3229f7677f Rip out the old command parser, remove migration code 2012-01-27 22:11:03 +00:00
Michael Stapelberg
9381da2bf0 Also install /usr/share/applications/i3.desktop
With this file, you can use the following command to run i3 in GNOME:

    gconftool-2 -s /desktop/gnome/session/required_components/windowmanager i3 --type string
2012-01-26 18:16:13 +00:00
Michael Stapelberg
a532f5ac39 Implement a new parser for commands. (+test)
On the rationale of using a custom parser instead of a lex/yacc one, see this
quote from src/commands_parser.c:
     We use a hand-written parser instead of lex/yacc because our commands are
     easy for humans, not for computers. Thus, it’s quite hard to specify a
     context-free grammar for the commands. A PEG grammar would be easier, but
     there’s downsides to every PEG parser generator I have come accross so far.

     This parser is basically a state machine which looks for literals or strings
     and can push either on a stack. After identifying a literal or string, it
     will either transition to the current state, to a different state, or call a
     function (like cmd_move()).

     Special care has been taken that error messages are useful and the code is
     well testable (when compiled with -DTEST_PARSER it will output to stdout
     instead of actually calling any function).

During the migration phase (I plan to completely switch to this parser before
4.2 will be released), the new parser will parse every command you send to
i3 and save the resulting call stack. Then, the old parser will parse your
input and actually execute the commands. Afterwards, both call stacks will be
compared and any differences will be logged.

The new parser works with 100% of the test suite and produces identical call
stacks.
2012-01-14 21:29:57 +00:00
Michael Stapelberg
0af05710b2 add i3-dump-log, a tool to dump the SHM log 2011-12-10 11:27:40 +00:00
Michael Stapelberg
acf29dbfd5 Makefiles: introduce $(FLEX) and $(BISON) 2011-11-22 00:01:01 +00:00
Michael Stapelberg
14abafb3c8 makefile: correctly depend on libi3/*.c to recompile libi3 when necessary 2011-10-23 13:16:39 +01:00
Michael Stapelberg
6927e899e6 makefile: use /bin/echo to get consistent results for the escaping
On the buildbot slave machine, we have a different version of zsh which seems
to handle this slightly different with the built-in echo…
2011-10-23 11:31:55 +01:00
Raphael Kubo da Costa
51116b46f1 Use $(MAKE) instead of hardcoding `make' in the Makefiles.
When one is using gmake or anything other than make itself, the same
command should be used in the Makefiles too.
2011-10-10 11:43:16 +01:00
Michael Stapelberg
0a1a32e06a Fix 'make dist' 2011-10-08 19:12:28 +01:00
Michael Stapelberg
e3ba716d42 Makefile: include libi3/ in 'dist' 2011-10-02 16:36:49 +01:00
Michael Stapelberg
094c26556e Introduce libi3, an *internal* library to eliminate code duplication 2011-10-02 16:11:30 +01:00
Michael Stapelberg
4f6e58e250 Makefiles: prefix compilation messages (for parallel builds) 2011-10-02 16:04:18 +01:00
Michael Stapelberg
e73812802c makefile: make SUBDIRS constant 2011-10-02 16:03:09 +01:00
Michael Stapelberg
c0d198bbc9 Include i3-sensible-* in 'make dist' 2011-09-29 21:04:39 +01:00
Michael Stapelberg
6420b2b102 Introduce the i3-sensible-{pager,editor,terminal} scripts
The former two provide fallbacks in case $PAGER or $EDITOR is not set (which
might be more common than you think, because they have to be set in
~/.xsession, not in the shell configuration!) while the latter tries to launch
a terminal emulator. The scripts are most prominently used in i3-nagbar, which
alerts the user when the configuration is broken for some reason. Also,
i3-sensible-terminal is used in the default configuration.

This commit does not rely on the shell supporting ${PAGER:-less} anymore, which
is not the case for 'fish'.
2011-09-25 18:46:37 +01:00
Michael Stapelberg
009090093c make dist: include i3bar, pre-generate its manpage 2011-08-01 23:27:50 +02:00
Michael Stapelberg
29d579c4cc makefile: redirect stderr of 'which' to /dev/null when checking for lcov 2011-08-01 17:12:04 +02:00
Michael Stapelberg
339a7cb8c3 make i3bar use i3’s common.mk 2011-08-01 16:13:19 +02:00
Michael Stapelberg
8353b9625d i3-migrate-config-to-v4: drop the .pl suffix
As lintian (a Debian package checker) mentions, it is more clever to install it
without the extension, since the implementation language might change.
2011-07-31 23:11:45 +02:00
Michael Stapelberg
49cf7ff2d7 makefile: use $SUBDIRS for clean/distclean 2011-07-31 23:01:33 +02:00
Michael Stapelberg
e0703b8150 make dist: cleanup τεχ files before copying 2011-07-31 22:19:06 +02:00
Michael Stapelberg
6a07e08320 makefiles: build subdirs (Thanks Kacper) 2011-07-25 00:31:35 +02:00
Michael Stapelberg
28a8df684f Exclude docs/*.svg from dist tarball 2011-07-23 22:07:19 +02:00
Michael Stapelberg
2eefb83b3b makefile: cleanup src/cfgparse.dot
Conflicts:

	Makefile
2011-07-23 22:06:50 +02:00
Michael Stapelberg
5ac7a52573 makefile: pre-generate docs/ 2011-07-23 22:05:33 +02:00
Michael Stapelberg
9c20e7f726 makefile: includue i3-wsbar in dist 2011-07-23 21:58:07 +02:00
Michael Stapelberg
7512f633a7 makefile: add i3-config-wizard to {dist,}clean, dist 2011-07-15 19:21:39 +02:00