Commit Graph

3161 Commits

Author SHA1 Message Date
Michael Stapelberg
1784b3858d Bugfix: Redraw right border after rendering the window title (Thanks fernandotcl)
Fixes #368
2012-01-21 11:03:57 +00:00
Michael Stapelberg
1d5071ebbe i3bar: ignore the "socket_path" config option (redundant anyway) 2012-01-20 22:29:24 +00:00
Michael Stapelberg
45b4d71a0b handle the old bar color config syntax in a backwards-compatible way 2012-01-20 22:26:17 +00:00
Michael Stapelberg
b5c25761d5 Bugfix: i3bar: Use the correct keys when reading the color config 2012-01-20 22:03:52 +00:00
Michael Stapelberg
31b7ec29fd Re-implement bar borders (by Angelo Haller)
This re-introduces borders around the workspace buttons in i3bar.
No additional pixels will be consumed (you will not lose any space for your
windows).
2012-01-20 21:36:50 +00:00
Michael Stapelberg
57bf93ebaf Merge branch 'master' into next 2012-01-20 18:14:34 +00:00
Michael Stapelberg
af97a3e56d Merge branch 'fix-xcb-compat' 2012-01-20 18:14:12 +00:00
Michael Stapelberg
07e495d2d0 Fix xcb_compat.h to make i3 compile with older xcb versions (Thanks David Coppa) 2012-01-20 18:13:52 +00:00
Michael Stapelberg
759ed0b6e3 Merge branch 'master' into next 2012-01-20 18:10:52 +00:00
Michael Stapelberg
113a96dd0d Merge branch 'fix-ewmh' 2012-01-20 18:10:49 +00:00
Michael Stapelberg
4f26d6f2a1 Bugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way
This makes chrome (and probably other apps, too) receive changes of the
_NET_ACTIVE_WINDOW and thus show its bookmark dialog properly.

Fixes: #544
2012-01-20 18:09:53 +00:00
Michael Stapelberg
a2823d3aeb Bugfix: Don’t increment 'walk' before checking it (Thanks MasterofJOKers) 2012-01-19 19:01:47 +00:00
Michael Stapelberg
fd8e1c98c9 Merge branch 'master' into next
Conflicts:
	src/handlers.c
2012-01-18 19:18:22 +00:00
Michael Stapelberg
67ff74d4e3 Merge branch 'fix-focus' 2012-01-18 19:17:48 +00:00
Michael Stapelberg
2d14ced024 Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
This fixes problems with Qt apps (like Quassel) and apparently Eclipse since
the last commit.
2012-01-18 19:16:57 +00:00
Michael Stapelberg
f32cc6f4ae Merge branch 'master' into next 2012-01-17 23:39:04 +00:00
Michael Stapelberg
e2b97a6fda Merge branch 'fix-take-focus' 2012-01-17 23:34:52 +00:00
Michael Stapelberg
21a2971b24 Bugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both
This fixes problems with the Oracle JRE7, which checks the current focus after
receiving WM_TAKE_FOCUS and just does nothing when the focus is on one of its
windows. Hopefully it doesn’t introduce any regressions :).
2012-01-17 23:33:33 +00:00
Michael Stapelberg
62cde927a5 Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows
This should fix (some?) focus follows mouse problems.
2012-01-17 20:37:36 +00:00
Michael Stapelberg
518d210a9b hacking-howto: point out that the parser is not used for the configfile (yet) (Thanks fernandotcl) 2012-01-16 23:41:24 +00:00
Michael Stapelberg
fa4a909f34 hacking-howto: describe the new commands parser 2012-01-16 22:44:28 +00:00
Michael Stapelberg
a59090ac2e Bugfix: Make generate-command-parser.pl compatible with perl 5.10 2012-01-16 21:20:48 +00:00
Michael Stapelberg
4f975aa060 Merge branch 'new-parser' into next 2012-01-14 21:30:02 +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
f81c89ac28 Refactor the code out of src/cmdparse.y to src/commands.c
This is the first step towards our new parser.
2012-01-14 16:59:52 +00:00
Michael Stapelberg
608def6c6e cmdparse.l: [^t] is enough (Thanks f8l) 2012-01-10 23:09:00 +00:00
Michael Stapelberg
0174f1c183 Merge branch 'move-workspace-to-output' into next 2012-01-10 22:16:57 +00:00
Michael Stapelberg
814695d8bb Implement 'move workspace to output <output>'
Fixes: #541
2012-01-10 22:16:50 +00:00
Michael Stapelberg
a4a59a797f tests: use open_window to avoid motion notifies which in turn trigger endless loops
Using 'open' will not create an X11 window (while open_window does), so we will
get spurious motion notify events when switching focus, leading to endless loops.
2012-01-10 22:16:09 +00:00
Michael Stapelberg
df9b338175 Introduce synonyms: 'move to workspace' and 'move container to workspace' and 'move window to workspace'
This makes the new 'move workspace to output' command much more clear
2012-01-10 22:16:09 +00:00
Michael Stapelberg
9c11ef4b23 Merge branch 'workspace_on_output' into next 2012-01-08 16:33:48 +00:00
Michael Stapelberg
6585d289cf add testcase for workspace next_on_output/prev_on_output 2012-01-08 16:33:16 +00:00
Michael Stapelberg
6e4a86b7d1 tests: make focused_ws multi-monitor-safe, document it 2012-01-08 16:32:58 +00:00
Michael Stapelberg
6df971d5d5 Ignore next_on_output/prev_on_output when looking for the first workspace 2012-01-08 16:31:07 +00:00
Michael Stapelberg
58f331c50a userguide: document workspace next_on_output/prev_on_output 2012-01-08 16:30:48 +00:00
Max Alexander Busse
fba2582b2e Switch and Move to next workspace on the same Output. As requested in \#554 2012-01-08 16:24:21 +00:00
Michael Stapelberg
659e06a170 Merge branch 'i3bar-hide-mod' into next 2012-01-08 12:54:10 +00:00
Michael Stapelberg
c72367660f update userguide to reflect the modifier option in i3bar config 2012-01-08 12:52:45 +00:00
dbp
a3081c488a Allow different modifier keys for showing hidden i3bar. 2012-01-08 12:47:41 +00:00
Michael Stapelberg
f88c779457 Merge branch 'master' into next 2012-01-08 12:30:41 +00:00
Michael Stapelberg
af73d3bffe Merge branch 'fix-floating-assign' 2012-01-08 12:30:23 +00:00
Michael Stapelberg
96c491a488 Bugfix: Fix assignments of floating windows to (yet) unused workspaces (Thanks zeus)
The problem was that the workspace was considered empty for a brief period of
time when entering floating mode. This happened when you assigned Gimp to a
workspace which is not in use yet.
2012-01-08 12:28:49 +00:00
Michael Stapelberg
d662ba3c0c Merge branch 'focus-output' into next 2012-01-08 12:03:31 +00:00
Michael Stapelberg
c92aa648cb document the 'focus output' command 2012-01-08 12:02:59 +00:00
Michael Stapelberg
47a25aa883 bump copyright 2012-01-08 12:00:19 +00:00
Michael Stapelberg
07d07719f0 add testcase for 'focus output' 2012-01-08 11:59:24 +00:00
Michael Stapelberg
5c3077bc78 wrap 'focus output': when on the right-most output and focusing right, it will focus the left-most output 2012-01-08 11:58:45 +00:00
Michael Stapelberg
e3051629d1 remove trailing whitespace and empty lines 2012-01-08 11:44:01 +00:00
Max Alexander Busse
d0b3a943f0 Feature: focus the output right/left/above/below 2012-01-08 11:43:31 +00:00
Michael Stapelberg
470ee00012 Merge branch 'master' into next 2012-01-07 18:50:46 +00:00