Commit Graph

74 Commits

Author SHA1 Message Date
876417f49d Bugfix: Don’t access wrong parameter (Thanks atsutane) 2009-11-07 16:51:10 +01:00
5583dfa5e4 parser: Solve last shift/reduce conflicts 2009-11-06 17:26:17 +01:00
8e1945a990 parser: solve shift/reduce conflict by moving WHITESPACE token to the right place 2009-11-06 17:19:01 +01:00
6aab45e7a4 configfile: make whitespace optional for modes (Thanks tsdh) 2009-11-06 15:42:03 +01:00
de3ca5c600 Bugfix: Ignore trailing/leading whitespaces when defining a mode (Thanks badboy)
…and shame on you for trailing/leading whitespace :).
2009-11-02 23:13:22 +01:00
15d83d472b Fix debug message in cfgparse.y (Thanks shatter) 2009-10-23 22:57:35 +02:00
f72161d0c2 Bugfix: parser: Correctly generate colorpixels from hex codes 2009-10-01 12:29:27 +02:00
6aa0f965d2 Fix warnings in lexer/parser 2009-09-29 22:47:37 +02:00
2b70e05ee9 Refactor workspaces to be stored in a TAILQ instead of an array
This fixes many problems we were having with a dynamically growing
array because of the realloc (pointers inside the area which was
allocated were no longer valid as soon as the realloc moved the
memory to another address).

Again, this is a rather big change, so expect problems and enable
core-dumps.
2009-09-29 19:45:41 +02:00
ff0e9bb954 Bugfix: Fix parsing symbols which contain numbers, like F1 or 1 for bindsym (Thanks Rasi) 2009-09-29 11:32:57 +02:00
e101940c5e Implement options to change the default mode of containers
The following new directives have been implemented for the configuration
file:

	new_container <default|stacking|tabbed>
	new_container stack-limit <cols|rows> <value>

Note that they require using the new lexer/parser, which you can
do by passing -l to i3 when starting.
2009-09-27 23:08:27 +02:00
fa868ed61c Bugfix: parser: limit of 10 workspaces is gone 2009-09-27 23:05:07 +02:00
8f67eba044 Implement modes. Modes allow you to use different keybindings and switch between them.
For example, you can create a mode which will let you resize windows
with some easy to use keys. So, instead of binding a combination
of your homerow and modifiers to resize, like this:

	bind Mod4+44 resize right +10
	bind Mod4+45 resize right -10
	...

You can instead define a new mode:

	mode "resize" {
		bind 44 resize right +10
		bind 45 resize right -10
		...
		bind 36 mode default
	}

	bindsym Mod4+r mode resize

So, if you press Mod4+r now, your keybindings will be set to the ones
defined in your resize mode above. You can then use your homerow
(without any other modifier) to resize the current column/row and
press enter to go back to the default mode when you are done.

Note that using this option requires you to enable the new lexer/parser
by passing the -l flag to i3 when starting.
2009-09-27 18:45:39 +02:00
d916e075c3 parser: Implement parsing mode sections
Wait for further commits before they are actually used.
2009-09-27 17:02:13 +02:00
051caf571d retab! cfgparse.y 2009-09-27 17:02:05 +02:00
55f4e5ab68 Add vim modeline to lexer/parser 2009-09-27 17:01:06 +02:00
b898058105 Fix some compilation warnings (Thanks mxf) 2009-09-26 13:30:32 +02:00
0e8b87e9da lexer: Implement workspace <number> "<name>" 2009-09-19 19:39:06 +02:00
ca472559b9 Finish configfile parsing with lexer, implement -l to use the lexer.
Every user is encouraged to use -l to switch to the new lexer and
see if there are any problems.
2009-09-19 19:05:15 +02:00
207ad0a7df Implement most code to actually set the configuration settings 2009-09-13 22:13:28 +02:00
7fda4a2c32 Make variable expansion work with the new parsing 2009-09-13 21:32:58 +02:00
2986636e03 Fix some parsing problems, retab! 2009-09-13 18:40:35 +02:00
268bf71222 Implement option -p to test if the lexer/parser can parse your configfile (specify -c before) 2009-09-13 14:54:27 +02:00
9dd975e974 Add first version of lexer/parser to git, update Makefile 2009-09-13 14:16:39 +02:00