Commit Graph

145 Commits (9571200baa387eb0b4b0e8afd9d540175a95adc5)

Author SHA1 Message Date
Deiz 5a987cfd6b Rebuild version.o when version.c or LAST_VERSION change
$(TOPDIR)/LAST_VERSION is a cached copy of common.mk's I3_VERSION var,
updated only if the two differ.
2015-04-12 12:31:58 -04:00
Michael Stapelberg 79d92cb567 fix “make dist” target
This was broken in 13db562551
2014-05-04 23:07:53 +02:00
Michael Stapelberg a32b6da712 Merge branch 'master' into next 2014-01-04 12:20:12 +01:00
Michael Stapelberg 2326ebfd63 enable shmlog when invoked as i3-with-shmlog, install symlink + .desktop file 2014-01-04 12:18:45 +01:00
Michael Stapelberg 1e1e4ef9df include i3-save-tree in dist tarballs 2013-12-24 18:07:07 +01:00
Michael Stapelberg 18e46ffae5 install i3-dmenu-desktop 2012-12-11 22:31:44 +01:00
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