Michael Stapelberg
318d4fdeef
make in-place restarts use socket activation, too (for faster/less flaky tests)
2012-01-21 23:03:09 +00:00
Michael Stapelberg
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
Michael Stapelberg
fabcd7d911
Merge branch 'master' into next
2012-01-21 15:08:36 +00:00
Michael Stapelberg
077d2433a7
Bugfix: Fix coordinates when the rect of an output changes (Thanks Paul)
...
Fixes #623
2012-01-21 15:07:53 +00:00
Michael Stapelberg
fc27c19761
Merge branch 'master' into next
...
Conflicts:
testcases/t/005-floating.t
2012-01-21 14:22:29 +00:00
Michael Stapelberg
cb4c9b9d27
Bugfix: Position floating windows exactly where their geometry specified (Thanks B-Con)
...
Fixes #619
2012-01-21 14:20:55 +00:00
Michael Stapelberg
6ffc0f94cb
Ignore aspect ratio during fullscreen mode (fixes MPlayer subtitles) (Thanks mxf, alexander)
...
Fixes : #594
2012-01-21 13:29:06 +00:00
Michael Stapelberg
8d72a77c7a
Merge branch 'master' into next
...
Conflicts:
src/handlers.c
2012-01-21 11:50:22 +00:00
Michael Stapelberg
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
Michael Stapelberg
27b089e430
Fix prototype
2012-01-21 11:49:35 +00:00
Michael Stapelberg
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
Michael Stapelberg
fa83b46dfa
Draw a separator line after each tab (doesn’t use extra space) (by Aaron Small)
2012-01-21 11:07:10 +00:00
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
45b4d71a0b
handle the old bar color config syntax in a backwards-compatible way
2012-01-20 22:26:17 +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
759ed0b6e3
Merge branch 'master' into next
2012-01-20 18:10:52 +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
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
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
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
814695d8bb
Implement 'move workspace to output <output>'
...
Fixes : #541
2012-01-10 22:16:50 +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
6df971d5d5
Ignore next_on_output/prev_on_output when looking for the first workspace
2012-01-08 16:31:07 +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
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
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
47a25aa883
bump copyright
2012-01-08 12:00:19 +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
Michael Stapelberg
d4238c778a
Bugfix: Open new windows in the correct place when assignments match (+test) (Thanks Don)
2012-01-07 18:50:00 +00:00
Michael Stapelberg
6345124049
Merge branch 'master' into next
...
Conflicts:
src/con.c
2012-01-07 18:21:12 +00:00
Michael Stapelberg
f78caf8c58
Bugfix: Don’t lose focus on fullscreen windows when another window gets moved to that workspace (+test) (Thanks rami)
...
Fixes : #606
2012-01-07 18:18:36 +00:00
Michael Stapelberg
0e1b1dd984
Bugfix: Correctly handle 'move scratchpad' on workspace level (+test) (Thanks mseed)
...
Fixes : #597
2012-01-07 17:36:30 +00:00
Michael Stapelberg
3254188cda
Bugfix: Show scratchpad on the correct output (+test)
...
Fixes : #596
2012-01-07 16:53:37 +00:00
Michael Stapelberg
dee7c07ad2
shmlog: store meta information in the buffer itself, store path as X11 atom
...
This makes i3-dump-log completely independent of a running i3 instance.
2012-01-06 23:40:07 +00:00
Michael Stapelberg
91499ed2c7
properly serialize floating/scratchpad state when restarting
2012-01-05 21:41:20 +00:00
Michael Stapelberg
fca57ed077
Change prototype of handlers to static void, remove a bit of old code
2011-12-30 11:30:56 +01:00
Michael Stapelberg
68544a519e
Handle vsnprintf overflows (Thanks Han)
2011-12-30 01:26:36 +01:00
Michael Stapelberg
a2031a8894
Log the configfile name in verbose log, not only debug log (Thanks Han)
2011-12-29 00:04:48 +01:00
Michael Stapelberg
8a67f15ef4
add missing scratchpad.{c,h}
2011-12-21 23:17:52 +00:00
Michael Stapelberg
08986a1798
Implement scratchpad functionality (see userguide)
2011-12-21 23:15:32 +00:00
Michael Stapelberg
622b94f176
Merge branch 'master' into next
2011-12-20 18:44:26 +00:00
Michael Stapelberg
d963018990
Bugfix: Don’t close workspace when there are still floating windows on it (Thanks noxxun) (+test)
...
Fixes : #595
2011-12-20 18:44:15 +00:00
Michael Stapelberg
1f2c9306a2
Merge branch 'master' into next
...
Conflicts:
testcases/t/159-socketpaths.t
2011-12-18 18:02:08 +00:00
Michael Stapelberg
c21172a6f6
Create a secure temp path instead of a predictable one (Thanks Han)
...
With this commit, i3 will now use either $XDG_RUNTIME_DIR/i3 (XDG_RUNTIME_DIR
is only writable by the user, so this is not a problem) or a secure temporary
location in /tmp, following the pattern /tmp/i3-<user>.XXXXXX
2011-12-18 17:59:31 +00:00
Michael Stapelberg
c4298b9311
Merge branch 'master' into next
2011-12-18 17:25:15 +00:00
Michael Stapelberg
4fba2d5f91
Bugfix: Correctly check boundaries and reassign floating windows when moving (Thanks xpt)
...
Fixes : #592
2011-12-18 17:24:27 +00:00
Fernando Tarlá Cardoso Lemos
fbf6d20e05
Fix the signal handler popup text.
...
Thanks to Michael for the heads-up.
2011-12-18 15:43:00 +00:00
Michael Stapelberg
2ba09f5419
Merge branch 'master' into next
2011-12-18 15:19:09 +00:00
Michael Stapelberg
ec28f3b982
Bugfix: Fix floating resize for floating split containers (+test)
...
Fixes : #588
2011-12-18 15:18:20 +00:00
Michael Stapelberg
4412ccbe5a
Merge branch 'master' into next
2011-12-17 22:35:13 +00:00
Michael Stapelberg
7a80d903a5
keygrabbing: only look in the appropriate columns when resolving keysyms
...
Fixes : #585
This commit fixes the problem of i3 wrongly grabbing/interpreting (!) some key
bindings. Basically, when you have, say, "bindsym Mod1+4 workspace 4", but you
also have "bindsym Mod1+semicolon focus right" (both are default), and your
keyboard layout has semicolon on Mode_switch + 4, the "workspace 4" keybinding
was shadowed by the "focus right" keybinding, because that also resolves to
semicolon.
So, from now on, i3 will only consider column 0 and 1 for normal bindings and
column 2 and 3 for bindings using Mode_switch (columns as seen in xmodmap
-pke).
2011-12-17 22:31:21 +00:00
Michael Stapelberg
76202a824d
re-indent translate_keysyms()
2011-12-17 22:28:28 +00:00
Michael Stapelberg
0d210277f0
x: Handle expose-events by only copying the requested region from our pixmap
...
This is faster than always updating the whole pixmap and should be safe.
2011-12-17 20:08:56 +00:00
Michael Stapelberg
6f8b284586
Merge branch 'master' into next
2011-12-17 18:48:14 +00:00
Michael Stapelberg
664e30903c
Bugfix: Don’t change focus after (graphical) resizing
2011-12-17 18:47:29 +00:00
Michael Stapelberg
a930994dc9
Merge branch 'master' into next
2011-12-17 17:16:39 +00:00
Michael Stapelberg
75c57c4eef
Bugfix: Ignore ConfigureRequests with out-of-bound coordinates (+test)
...
JDownloader seems to use these for its captcha popups when focus is not on the
same workspace, for some weird reason.
2011-12-17 17:15:52 +00:00
Michael Stapelberg
db174234ce
Merge branch 'master' into next
...
Conflicts:
debian/changelog
2011-12-17 15:28:51 +00:00
Michael Stapelberg
1ff321bc3f
Bugfix: Disallow focusing other windows when in fullscreen mode (Thanks aksr)
...
Fixes : #579
2011-12-17 15:28:17 +00:00
Michael Stapelberg
ef224cdb98
Merge branch 'master' into next
...
Conflicts:
testcases/t/173-get-marks.t
2011-12-17 14:22:57 +00:00
Michael Stapelberg
b46ab649f5
Bugfix: Fix setting the same mark repeatedly on different windows (+test)
...
Fixes : #582
2011-12-17 14:22:23 +00:00
Michael Stapelberg
5a345db18b
Merge branch 'master' into next
2011-12-17 13:55:45 +00:00
Michael Stapelberg
87b6bf7a54
Bugfix: Make resizing work when pressing floating_modifier + right mouse button on window decorations
...
Fixes : #583
2011-12-17 13:55:16 +00:00
Michael Stapelberg
9e688a2277
Merge branch 'master' into next
2011-12-17 12:21:13 +00:00
Michael Stapelberg
f6c0a1e161
Bugfix: Make resizing of tiling windows with floating_modifier use absolute coordinates
...
Fixes : #580
2011-12-17 12:20:27 +00:00
Michael Stapelberg
9cec9e09ed
Merge branch 'master' into next
2011-12-17 11:18:35 +00:00
Michael Stapelberg
acb3bdd05e
Bugfix: Skip leading whitespace in variable assignments (Thanks ben)
...
Fixes : #577
2011-12-17 11:16:34 +00:00
Michael Stapelberg
966c654112
implement the GET_LOG_MARKERS IPC request/reply
2011-12-10 11:16:32 +00:00
Michael Stapelberg
f7a73f4a68
fix the SHM log size
2011-12-10 11:15:57 +00:00
Michael Stapelberg
d034248de0
sighandler: handle all "Core" signals
2011-12-10 11:05:37 +00:00
Michael Stapelberg
aa82adb5c0
Introduce --shmlog-size flag, unlink SHM log when exiting
2011-12-10 10:51:55 +00:00
Michael Stapelberg
e65ee63763
Implement logging to a SHM ringbuffer
...
This feature is automatically enabled when running a debug version of i3.
The logfile will use 1% of your physical RAM size, but at max 25 MiB.
2011-12-10 10:50:33 +00:00
Michael Stapelberg
6c112f2a9a
Merge branch 'master' into next
2011-11-30 20:34:54 +00:00
Michael Stapelberg
d25e77ce75
Don’t set the _NET_WM_WORKAREA hint at all (Thanks cg)
...
Fixes : #539
2011-11-30 20:33:07 +00:00
Michael Stapelberg
fb90a556c8
Merge branch 'master' into next
2011-11-30 20:10:45 +00:00
Michael Stapelberg
fb0ad1e8f9
display i3 version in errors, make conversion message an error
2011-11-30 20:09:32 +00:00
Michael Stapelberg
0f9fbcbd25
Merge branch 'master' into next
2011-11-29 22:37:11 +00:00
Michael Stapelberg
626e3efb48
Bugfix: Fix 'resize' command in nested containers (Thanks mseed)
...
Fixes : #559
2011-11-29 22:36:40 +00:00
Michael Stapelberg
f2b73b64be
Merge branch 'master' into next
2011-11-29 21:24:05 +00:00
Michael Stapelberg
0e56fcb971
add a few more keywords to make i3 recognize configs as v4
2011-11-29 21:20:42 +00:00
Michael Stapelberg
df2236c5ee
Merge branch 'master' into next
2011-11-29 20:50:11 +00:00
Michael Stapelberg
59283cce93
Bugfix: Fix resizing for (e.g.) v-split containers in h-split containers
...
Fixes : #562
2011-11-29 20:48:59 +00:00
Michael Stapelberg
752b101916
Merge branch 'master' into next
2011-11-28 23:28:03 +00:00
Michael Stapelberg
bd4b240d56
Bugfix: Ignore EnterNotify events to prevent wrong focus in complex tabbed/stacked layouts (Thanks Phlogistique)
...
Fixes #560
Finally we have a good explanation and example for why we need to ignore
EnterNotify events which were caused by an Unmap :).
2011-11-28 23:26:45 +00:00
Jan-Erik Rediger
f23d675de9
Implement new "i3bar_command" option for bar.
...
This allows you to specify an alternate path to the i3bar binary.
The userguide docu is included.
2011-11-27 21:40:57 +00:00
Michael Stapelberg
1a3b82eb02
Merge branch 'master' into next
2011-11-26 22:25:06 +00:00
Michael Stapelberg
d686f2f873
Bugfix: Don’t create a workspace named "back_and_forth" on startup
...
Fixes #565
2011-11-26 22:24:30 +00:00
Michael Stapelberg
f5dce848b8
Merge branch 'master' into next
2011-11-26 22:18:01 +00:00
Michael Stapelberg
31acb91d90
Bugfix: Fix crash on '[class="i3bar"] focus' (+test) (Thanks f8l)
...
Fixes #575
2011-11-26 22:17:34 +00:00
Fernando Tarlá Cardoso Lemos
340592a532
Invalidate cached pixmaps on reload and redraw.
...
After a reload, the drawing parameters for the decorations might
have changed, so we need to invalidate the cache and force a redraw
of the currently visible decorations. Also, don't leak the previous
font when reloading by freeing it before parsing the config.
2011-11-26 21:51:49 +00:00