Commit Graph

2051 Commits

Author SHA1 Message Date
53541817ef Implement urgency flag matcher
Currently it supports the following options:
"oldest": match the first window that triggered an urgent event
"latest": match the last window that triggered an urgent event
2012-02-14 22:47:10 +00:00
82247fd0ab Bugfix: Correctly handle missing ending double quotes (+test) (Thanks mxf) 2012-02-10 19:49:38 +00:00
2f8d3d3390 Bugfix: Properly handle workspace names with double quotes (+test) (Thanks kvapen) 2012-02-07 22:50:27 +00:00
ed2bcc15e3 Merge branch 'master' into next 2012-02-07 17:42:58 -05:00
0fc459892e Bugfix: Properly split when the current container is alone within a stacked/tabbed con (+test) (Thanks aksr)
Fixes: #630
2012-02-07 17:42:35 -05:00
4fe974408d Merge branch 'master' into next 2012-02-07 17:41:36 -05:00
4f98bbf5ff Bugfix: Obey workspace_layout when re-inserting floating containers (+test) (Thanks aksr)
The code wasn’t using con_attach and therefore didn’t obey workspace_layout.

Fixes: #631
2012-02-07 17:41:00 -05:00
e04628e581 Error message was missing a slash 2012-02-07 17:38:45 -05:00
c1e0c38b27 randr: Skip workspaces which are assigned to a different output when creating a new workspace
If you had workspace 1, 2, 3, 4 on LVDS1 and you enabled HDMI2 (where workspace
1 to workspace 5 are assigned to HDMI2), i3 would look for a new workspace for
LVDS1 (since all workspaces were moved), create workspace 5, move that over due
to assignment and then create workspace 6. Effectively, you would end up with
an empty workspace 5.
2012-02-07 21:10:16 +00:00
8cffde232f Don't migrate unfocused empty workspaces when disabling output.
This is more similar to what happens when you close the last client
of an unfocused workspace (the workspace gets reaped).
2012-02-07 20:45:14 +00:00
36464c7a54 Merge branch 'master' into next 2012-01-29 18:02:48 +00:00
55525015cc Fix coords of floating containers when the output is disabled.
This prevents floating containers from "disappearing" when their
associated output is disabled. Thanks Michael for the advice.
2012-01-29 18:02:27 +00:00
29aa28b623 commands_parser: use safewrapper functions 2012-01-28 10:35:18 +00:00
7cdddc6524 add comments to src/commands.c 2012-01-27 22:32:40 +00:00
3229f7677f Rip out the old command parser, remove migration code 2012-01-27 22:11:03 +00:00
76ad5dac63 Bugfix: Free old criteria matching window list (Thanks piroko) 2012-01-27 21:47:55 +00:00
19dc92a9a5 new parser: correctly handle leading/trailing newlines (+test) (Thanks helgikrs) 2012-01-25 22:00:32 +00:00
d579992528 Force redrawing the indicators after a move.
Fixes a bug where splitting then moving in the other orientation
(e.g. v-splitting and moving right) would result in the old
indicators not disappearing.
2012-01-22 17:25:08 +00:00
ae049449af force rendering in more cases 2012-01-22 17:24:55 +00:00
ef522b4dc1 Force re-rendering after changing the orientation of a split container 2012-01-22 13:19:37 +00:00
f9bc434e2a Implement highlighting right/bottom borders of splitted windows
Fixes #299
2012-01-22 11:22:15 +00:00
318d4fdeef make in-place restarts use socket activation, too (for faster/less flaky tests) 2012-01-21 23:03:09 +00:00
3b7f4d428e Correctly restore focus after in-place restarts
Note: This change requires two in-place restarts when you are upgrading
in-place from an old version.

Fixes #611
2012-01-21 18:35:15 +00:00
fabcd7d911 Merge branch 'master' into next 2012-01-21 15:08:36 +00:00
077d2433a7 Bugfix: Fix coordinates when the rect of an output changes (Thanks Paul)
Fixes #623
2012-01-21 15:07:53 +00:00
fc27c19761 Merge branch 'master' into next
Conflicts:
	testcases/t/005-floating.t
2012-01-21 14:22:29 +00:00
cb4c9b9d27 Bugfix: Position floating windows exactly where their geometry specified (Thanks B-Con)
Fixes #619
2012-01-21 14:20:55 +00:00
6ffc0f94cb Ignore aspect ratio during fullscreen mode (fixes MPlayer subtitles) (Thanks mxf, alexander)
Fixes: #594
2012-01-21 13:29:06 +00:00
8d72a77c7a Merge branch 'master' into next
Conflicts:
	src/handlers.c
2012-01-21 11:50:22 +00:00
7a4d8ed6ed Bugfix: Force a new sequence number after UnmapNotify
This should fix the problem where (legitimate) EnterNotifys arrived with the
same sequence as the UnmapNotify and was ignored.

Fixes: #609
2012-01-21 11:49:46 +00:00
27b089e430 Fix prototype 2012-01-21 11:49:35 +00:00
47fd15649a Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows
This should fix (some?) focus follows mouse problems.

Conflicts:

	src/handlers.c
2012-01-21 11:46:23 +00:00
fa83b46dfa Draw a separator line after each tab (doesn’t use extra space) (by Aaron Small) 2012-01-21 11:07:10 +00:00
1784b3858d Bugfix: Redraw right border after rendering the window title (Thanks fernandotcl)
Fixes #368
2012-01-21 11:03:57 +00:00
45b4d71a0b handle the old bar color config syntax in a backwards-compatible way 2012-01-20 22:26:17 +00:00
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
759ed0b6e3 Merge branch 'master' into next 2012-01-20 18:10:52 +00:00
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
a2823d3aeb Bugfix: Don’t increment 'walk' before checking it (Thanks MasterofJOKers) 2012-01-19 19:01:47 +00:00
fd8e1c98c9 Merge branch 'master' into next
Conflicts:
	src/handlers.c
2012-01-18 19:18:22 +00:00
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
f32cc6f4ae Merge branch 'master' into next 2012-01-17 23:39:04 +00:00
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
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
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
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
608def6c6e cmdparse.l: [^t] is enough (Thanks f8l) 2012-01-10 23:09:00 +00:00
814695d8bb Implement 'move workspace to output <output>'
Fixes: #541
2012-01-10 22:16:50 +00:00
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
6df971d5d5 Ignore next_on_output/prev_on_output when looking for the first workspace 2012-01-08 16:31:07 +00:00