Commit Graph

130 Commits

Author SHA1 Message Date
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
Michael Stapelberg 12d3a349de makefile: add i3-migrate-config-to-v4.pl 2011-07-15 19:14:28 +02:00
Michael Stapelberg 2de5cb06c8 makefile: add i3-nagbar to {dist,}clean target, include i3-nagbar in dist 2011-07-15 19:08:21 +02:00
Michael Stapelberg 806ad77399 Makefile: use $(MAKE) instead of make 2011-07-13 13:29:39 +02:00
Michael Stapelberg 3749ed2fbe Makefile: respect and use LIBS (Thanks Kacper) 2011-07-13 13:28:31 +02:00
Michael Stapelberg 93f906308d makefiles: respect and use the CPPFLAGS variable (Thanks Kacper)
See also: http://stackoverflow.com/questions/2754966/cflags-vs-cppflags
2011-07-13 13:25:15 +02:00
Michael Stapelberg 868c804cb8 makefile: install i3-config-wizard 2011-07-11 19:45:22 +02:00
Michael Stapelberg 2897a761c8 makefile: bugfix: filter out auto-generated files 2011-07-11 19:30:26 +02:00
Michael Stapelberg 29e2e696ed makefile: install ${SYSCONFDIR}/i3/config.keycodes 2011-07-11 19:24:04 +02:00
Michael Stapelberg 05f7a50d44 makefile: use src/*.c again, we no longer have files which should not be compiled 2011-07-11 18:21:13 +02:00