]> git.sur5r.net Git - i3/i3/log
i3/i3
9 years agoi3bar: implement custom mouse wheel commands
Tony Crisci [Fri, 4 Jul 2014 09:53:22 +0000 (05:53 -0400)]
i3bar: implement custom mouse wheel commands

Users can specify a command to run when a button was pressed on i3bar to
override the default behavior. Currently only the mouse wheel buttons
are supported. This is useful for disabling the scroll wheel action or
running scripts that implement custom behavior for these buttons.

Example:

bar {
    wheel_up_cmd nop
    wheel_down_cmd exec ~/.i3/scripts/custom_wheel_down
}

fixes #1104

9 years agoHandle EWMH requests to change current desktop
Tony Crisci [Fri, 4 Jul 2014 09:39:07 +0000 (05:39 -0400)]
Handle EWMH requests to change current desktop

This request is used by pagers and bars to change the current
desktop likely as a result of some user action. We interpret this as
a request to focus the given workspace.

for more information see:

http://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368135008

9 years agobugfix: default floating border regression
Tony Crisci [Mon, 7 Jul 2014 22:42:15 +0000 (18:42 -0400)]
bugfix: default floating border regression

Fixes a bug where a normal floating default border is not applied when
the default tiling border is set to a pixel value.

This bug was introduced in this commit:

43b447855df095c56e860117d53acd0dd09ac42b

Consider motif border for floating geometry

Fixes a comment that claimed default floating border could override
motif hints, which was never the case.

fixes #1305

9 years agoAdd testcase for EWMH desktop viewport
Tony Crisci [Sun, 6 Jul 2014 21:26:16 +0000 (17:26 -0400)]
Add testcase for EWMH desktop viewport

Test that the EWMH specified property _NET_DESKTOP_VIEWPORT is updated
properly on the root window. We interpret this as a list of x/y
coordinate pairs for the upper left corner of the respective outputs of
the workspaces.

This test is for this commit:

feature: implement ewmh desktop viewport property

4205973135f28a0ab0e25a63dbc8c6fff0d3539e

9 years agotests: include error message when unable to create a FIFO
Michael Stapelberg [Thu, 10 Jul 2014 20:30:45 +0000 (22:30 +0200)]
tests: include error message when unable to create a FIFO

I have seen this message once or twice, but since the actual error
message was not included, I cannot definitely say what’s going on.

I think it might be a race condition where the file with the specified
tmpname() already exists, but let’s be sure before we attempt to fix it.

9 years agoAdd link to git repository in hacking docs
Tony Crisci [Sat, 5 Jul 2014 14:38:46 +0000 (10:38 -0400)]
Add link to git repository in hacking docs

9 years agoAdd testcase for EWMH desktop names
Tony Crisci [Sat, 5 Jul 2014 13:57:33 +0000 (09:57 -0400)]
Add testcase for EWMH desktop names

Test that the EWMH specified property _NET_DESKTOP_NAMES is updated
properly on the root window. We interpret this as a list of the open
workspace names.

This test is for this commit:

Implement EWMH desktop names

a9c094b7313b48491c182a5da1194a0bb06747aa

9 years agoMake absolute floating move work with criteria
Tony Crisci [Tue, 1 Jul 2014 06:12:28 +0000 (02:12 -0400)]
Make absolute floating move work with criteria

Make commands of type `move [window|container] [to] [absolute] position
<px> [px] <px> [px]` work with command selection criteria.

fixes #1301

9 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 2 Jul 2014 17:06:01 +0000 (19:06 +0200)]
Merge branch 'master' into next

9 years agoMerge branch 'fix-i3bar-colors'
Michael Stapelberg [Wed, 2 Jul 2014 17:02:31 +0000 (19:02 +0200)]
Merge branch 'fix-i3bar-colors'

9 years agoUse FREE macro for freeing colors
Tony Crisci [Wed, 2 Jul 2014 03:17:02 +0000 (23:17 -0400)]
Use FREE macro for freeing colors

This macro will set the colors to NULL which avoids a double free on
reload when colors that were unconfigured become configured.

fixes #1299

9 years agoBugfix: _NET_SUPPORTED property fixes
Tony Crisci [Tue, 1 Jul 2014 00:40:31 +0000 (20:40 -0400)]
Bugfix: _NET_SUPPORTED property fixes

Fix a typing mistake that may cause _NET_SUPPORTED root property to
become corrupted.

This bug was introduced in:

Implement EWMH number of desktops property

http://code.stapelberg.de/git/i3/commit/?h=next&id=b47f480728a6d053c117e4b99ee4c78d99ba6a71

Additionally adds one missing atom to _NET_SUPPORTED.

fixes #1298

9 years agoMerge branch 'revert-warp'
Michael Stapelberg [Sat, 28 Jun 2014 11:05:40 +0000 (13:05 +0200)]
Merge branch 'revert-warp'

9 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 28 Jun 2014 11:05:40 +0000 (13:05 +0200)]
Merge branch 'master' into next

9 years agoRevert "Disable render-time pointer warps if asked"
Michael Stapelberg [Sat, 28 Jun 2014 11:04:52 +0000 (13:04 +0200)]
Revert "Disable render-time pointer warps if asked"

This reverts commit b109b1b20dd51401dc929407453d3acdd8ff5566.

Turns out the change in behavior was unexpected by a number of users, so
let’s revert it and make those users that want this behavior configure
it explicitly.

Sorry for the back-and-forth here.

9 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 28 Jun 2014 11:01:48 +0000 (13:01 +0200)]
Merge branch 'master' into next

9 years agoMerge branch 'fix-width'
Michael Stapelberg [Sat, 28 Jun 2014 11:01:28 +0000 (13:01 +0200)]
Merge branch 'fix-width'

9 years agoExplicitly set current border width when BS_PIXEL
Tony Crisci [Sat, 28 Jun 2014 01:20:12 +0000 (21:20 -0400)]
Explicitly set current border width when BS_PIXEL

When a window becomes managed, if the config specifies a pixel border
style, explicitly set the current border width so it does not change
when the container changes from tiling to floating.

fixes #1266

9 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 27 Jun 2014 07:05:32 +0000 (09:05 +0200)]
Merge branch 'master' into next

9 years agoMerge branch 'fix-restart'
Michael Stapelberg [Fri, 27 Jun 2014 07:05:32 +0000 (09:05 +0200)]
Merge branch 'fix-restart'

9 years agoBugfix: create the directory for storing the restart state (Thanks hjem)
Michael Stapelberg [Fri, 27 Jun 2014 07:04:51 +0000 (09:04 +0200)]
Bugfix: create the directory for storing the restart state (Thanks hjem)

fixes #1303

9 years agocleanup: src/i3.mk: add XKB_COMMON_CFLAGS when compiling i3
Michael Stapelberg [Wed, 25 Jun 2014 15:58:16 +0000 (17:58 +0200)]
cleanup: src/i3.mk: add XKB_COMMON_CFLAGS when compiling i3

9 years agolibxkbcommon 0.4.0 is required, 0.2.0 is too old (Thanks Mii)
Michael Stapelberg [Wed, 25 Jun 2014 15:57:48 +0000 (17:57 +0200)]
libxkbcommon 0.4.0 is required, 0.2.0 is too old (Thanks Mii)

fixes #1295

9 years agoMerge branch 'fix-i3-save-tree-unicode-args'
Michael Stapelberg [Wed, 25 Jun 2014 08:00:59 +0000 (10:00 +0200)]
Merge branch 'fix-i3-save-tree-unicode-args'

9 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 25 Jun 2014 08:00:59 +0000 (10:00 +0200)]
Merge branch 'master' into next

9 years agoBugfix: interpret commandline parameters as utf-8
Michael Stapelberg [Wed, 25 Jun 2014 08:00:23 +0000 (10:00 +0200)]
Bugfix: interpret commandline parameters as utf-8

fixes #1293

9 years agoMerge branch 'log-dpi'
Michael Stapelberg [Tue, 24 Jun 2014 07:57:05 +0000 (09:57 +0200)]
Merge branch 'log-dpi'

9 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 24 Jun 2014 07:57:05 +0000 (09:57 +0200)]
Merge branch 'master' into next

9 years agoadd log messages for the detected DPI
Michael Stapelberg [Tue, 24 Jun 2014 07:56:31 +0000 (09:56 +0200)]
add log messages for the detected DPI

Currently, the DPI is only logged when pango fonts are used, which is
often not the case when people report problems with the DPI detection.

9 years agoHandle WM_CHANGE_STATE requests for iconic state
Tony Crisci [Wed, 18 Jun 2014 08:23:00 +0000 (04:23 -0400)]
Handle WM_CHANGE_STATE requests for iconic state

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4

 > IconicState - The client's top-level window is iconic (whatever that
 > means for this window manager). The client can assume that its
 > top-level window is not viewable, its icon_window (if any) will be
 > viewable and, failing that, its icon_pixmap (if any) or its
 > WM_ICON_NAME will be displayed.

For these requests, we just close the window.

fixes #1279

9 years agoremove unneeded render on map request
Tony Crisci [Mon, 16 Jun 2014 06:34:22 +0000 (02:34 -0400)]
remove unneeded render on map request

manage_window() will call tree_render() when appropriate, so pushing
changes to X here is not needed.

9 years agoremove unneeded render on unmap
Tony Crisci [Mon, 16 Jun 2014 06:31:03 +0000 (02:31 -0400)]
remove unneeded render on unmap

tree_render() will call x_push_changes(), so calling it afterward is not
needed.

9 years agoConsider motif border for floating geometry
Tony Crisci [Fri, 20 Jun 2014 11:26:36 +0000 (07:26 -0400)]
Consider motif border for floating geometry

When calculating the geometry of a floating window with motif hints that
specify a border style, take into account that this window will have a
different border style when calculating its position with
floating_enable() when the window becomes managed.

A nice side effect of this is that users can override motif hints with
`new_float` config directives when they are specified other than
`normal`.

fixes #1270

9 years agoCross-output focus focus floating exception
Tony Crisci [Fri, 20 Jun 2014 09:19:30 +0000 (05:19 -0400)]
Cross-output focus focus floating exception

Focusing across outputs with `focus [direction]` should focus an
existing floating con when no tiling con exists on the output in
[direction].

9 years agoImplement the window::urgent event
Tony Crisci [Fri, 20 Jun 2014 12:33:02 +0000 (08:33 -0400)]
Implement the window::urgent event

The window::urgent event is emitted when a container becomes urgent or
loses its urgent status.

9 years agoImplement EWMH desktop names
Tony Crisci [Mon, 23 Jun 2014 21:44:24 +0000 (17:44 -0400)]
Implement EWMH desktop names

Maintain the _NET_DESKTOP_NAMES property on the root window.

http://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368131760

> _NET_DESKTOP_NAMES
>
> _NET_DESKTOP_NAMES, UTF8_STRING[]
>
> The names of all virtual desktops. This is a list of NULL-terminated
> strings in UTF-8 encoding [UTF8]. This property MAY be changed by a
> Pager or the Window Manager at any time.

9 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 24 Jun 2014 07:01:59 +0000 (09:01 +0200)]
Merge branch 'master' into next

9 years agoMerge branch 'fix-focus-unmapped'
Michael Stapelberg [Tue, 24 Jun 2014 07:01:39 +0000 (09:01 +0200)]
Merge branch 'fix-focus-unmapped'

9 years agoBugfix: don't focus unmapped container on manage
Tony Crisci [Mon, 23 Jun 2014 21:25:23 +0000 (17:25 -0400)]
Bugfix: don't focus unmapped container on manage

A window may become unmapped on manage when an assignment command unmaps
the window, such as moving it to the scratchpad or killing it.

This can cause i3 focus to be an unmapped window and different than X
focus which can lead to complications

fixes #1283

9 years agoWorkspace command number selection
Tony Crisci [Sun, 22 Jun 2014 16:24:26 +0000 (12:24 -0400)]
Workspace command number selection

If a `workspace {N}` or `move to workspace {N}` command is given with N
as a plain number, the workspace of this number is selected for the
context of the command if one exists and there is no workspace with a
name that exactly matches N.

9 years agofeature: implement ewmh desktop viewport property
Tony Crisci [Sun, 22 Jun 2014 19:20:14 +0000 (15:20 -0400)]
feature: implement ewmh desktop viewport property

Set and update the _NET_DESKTOP_VIEWPORT property

http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140146176862048

> _NET_DESKTOP_VIEWPORT x, y, CARDINAL[][2]/32
> Array of pairs of cardinals that define the top left corner of each
> desktop's viewport.

9 years agofix src/commands.c with clang-format
Michael Stapelberg [Mon, 23 Jun 2014 19:29:42 +0000 (21:29 +0200)]
fix src/commands.c with clang-format

9 years agoImplement the window::floating event
Tony Crisci [Fri, 20 Jun 2014 11:44:08 +0000 (07:44 -0400)]
Implement the window::floating event

The window::floating event should be emitted when a window transitions
to or from the floating state.

9 years agoMake command `move [direction]` work with criteria
Tony Crisci [Thu, 19 Jun 2014 12:09:31 +0000 (08:09 -0400)]
Make command `move [direction]` work with criteria

A container selected with criteria should be moved with the `move
[direction]` command, instead of this command always acting on the
focused container.

9 years agoConsistently parse workspace numbers
Tony Crisci [Sun, 22 Jun 2014 15:12:51 +0000 (11:12 -0400)]
Consistently parse workspace numbers

Use ws_name_to_number() to parse workspace numbers where this
transformation takes place.

9 years agoDEPENDS: add libxkbcommon{,-x11}, update lkgv (Thanks okraits)
Michael Stapelberg [Sun, 22 Jun 2014 12:42:28 +0000 (14:42 +0200)]
DEPENDS: add libxkbcommon{,-x11}, update lkgv (Thanks okraits)

9 years agoSwitch to xcb-xkb and libxkbcommon
Michael Stapelberg [Thu, 2 Jan 2014 07:40:03 +0000 (08:40 +0100)]
Switch to xcb-xkb and libxkbcommon

This removes our last dependency on Xlib! :)

(Okay, an Xlib dependency still comes in through other libraries that we
 link against, but it’s not us. Our code is simpler by this change and
 uses one less connection to X11.)

9 years agoImplement the window::move event
Tony Crisci [Thu, 19 Jun 2014 08:58:03 +0000 (04:58 -0400)]
Implement the window::move event

The window::move event should be emitted when the window moves position
in the tree.

9 years agoImplement the window::close event
Tony Crisci [Thu, 19 Jun 2014 07:17:52 +0000 (03:17 -0400)]
Implement the window::close event

The window::close event should be emitted when a window closes.

9 years agoFeature: implement mouse bindings
Tony Crisci [Tue, 17 Jun 2014 13:34:13 +0000 (09:34 -0400)]
Feature: implement mouse bindings

A configured mouse binding (for example `bindsym button3 kill`) runs
its command when the mouse button is pressed over parts of a container.

If the binding has no modifer, it will only run when the button is
clicked on the window titlebar.

Otherwise if the binding has a modifier, it will run over the titlebar
or any part of the contained window.

fixes #558

9 years agotests: explicitly set input hint
Michael Stapelberg [Thu, 19 Jun 2014 10:17:05 +0000 (12:17 +0200)]
tests: explicitly set input hint

Since i3 honors the “Globally Active Input” focus model, we need to
explicitly state that we are not using that in our testcases :).

This requires X11::XCB from git to work (commit
71b25dcaafc509e710b8fd7de20c97ac3549fc39).

9 years agobugfix: don't set input focus if not accepted
Tony Crisci [Tue, 17 Jun 2014 06:49:39 +0000 (02:49 -0400)]
bugfix: don't set input focus if not accepted

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7

> Clients using the Globally Active model can only use a SetInputFocus request
> to acquire the input focus when they do not already have it on receipt of one
> of the following events:
> * ButtonPress
> * ButtonRelease
> * Passive-grabbed KeyPress
> * Passive-grabbed KeyRelease

Since managing a window happens on a MapNotify (which is absent from this
list), the window cannot accept input focus, so we should not try to focus
the window at all.

Fixes an issue with xfce4-notifyd which (correctly) declines focus when
we send WM_TAKE_FOCUS, which puts i3 in a state where i3 focus and X
focus are different when a notification appears.

9 years agoImplement EWMH number of desktops property
Tony Crisci [Mon, 16 Jun 2014 06:50:47 +0000 (02:50 -0400)]
Implement EWMH number of desktops property

_NET_NUMBER_OF_DESKTOPS:

> This property SHOULD be set and updated by the Window Manager to
> indicate the number of virtual desktops.

We interpret this property as the number of noninternal workspaces.

9 years agoclang-format-3.5 **/*.h **/*.c
Michael Stapelberg [Thu, 19 Jun 2014 09:20:32 +0000 (11:20 +0200)]
clang-format-3.5 **/*.h **/*.c

This should be the last commit that formats a big bunch of files. From
here on, whenever I merge patches, I’ll run clang-format like described
in the title.

9 years agoclang-format: don’t define ForeachMacros
Michael Stapelberg [Thu, 19 Jun 2014 09:17:46 +0000 (11:17 +0200)]
clang-format: don’t define ForeachMacros

Otherwise clang-formatting **/*.h breaks include/queue.h

9 years agouserguide: document exit confirmation dialog
Tony Crisci [Sun, 15 Jun 2014 04:21:33 +0000 (00:21 -0400)]
userguide: document exit confirmation dialog

In the section "Exiting i3", document the confirmation dialog (nagbar)
that will show when the user presses the default keys to exit in such a
way to hint that it is configurable.

9 years agodocs: fix ipc library list formatting
Tony Crisci [Sat, 14 Jun 2014 00:06:22 +0000 (20:06 -0400)]
docs: fix ipc library list formatting

9 years agodebian: add placeholder changelog entry
Michael Stapelberg [Sun, 15 Jun 2014 17:37:38 +0000 (19:37 +0200)]
debian: add placeholder changelog entry

9 years agodebian: bump standards-version to 3.9.5 (no changes necessary)
Michael Stapelberg [Sun, 15 Jun 2014 17:37:03 +0000 (19:37 +0200)]
debian: bump standards-version to 3.9.5 (no changes necessary)

9 years agodebian: install i3-save-tree(1) manpage
Michael Stapelberg [Sun, 15 Jun 2014 17:36:54 +0000 (19:36 +0200)]
debian: install i3-save-tree(1) manpage

9 years agodebian: update changelog
Michael Stapelberg [Sun, 15 Jun 2014 17:15:44 +0000 (19:15 +0200)]
debian: update changelog

9 years agoMerge branch 'next'
Michael Stapelberg [Sun, 15 Jun 2014 17:14:36 +0000 (19:14 +0200)]
Merge branch 'next'

9 years agoMerge branch 'release-4.8' into next
Michael Stapelberg [Sun, 15 Jun 2014 17:14:25 +0000 (19:14 +0200)]
Merge branch 'release-4.8' into next

9 years agoman: bump version to 4.8 4.8
Michael Stapelberg [Sun, 15 Jun 2014 17:12:16 +0000 (19:12 +0200)]
man: bump version to 4.8

9 years agoformat **/*.c with clang-format-3.5
Michael Stapelberg [Sun, 15 Jun 2014 17:07:02 +0000 (19:07 +0200)]
format **/*.c with clang-format-3.5

This has multiple effects:

1) The i3 codebase is now consistently formatted. clang-format uncovered
   plenty of places where inconsistent code made it into our code base.

2) When writing code, you don’t need to think or worry about our coding
   style. Write it in yours, then run clang-format-3.5

3) When submitting patches, we don’t need to argue about coding style.

The basic idea is that we don’t want to care about _how_ we write the
code, but _what_ it does :). The coding style that we use is defined in
the .clang-format config file and is based on the google style, but
adapted in such a way that the number of modifications to the i3 code
base is minimal.

9 years agoadd .clang-format, to be used with clang-format-3.5
Michael Stapelberg [Sun, 15 Jun 2014 17:05:01 +0000 (19:05 +0200)]
add .clang-format, to be used with clang-format-3.5

9 years agodelete old release notes
Michael Stapelberg [Sun, 15 Jun 2014 16:27:03 +0000 (18:27 +0200)]
delete old release notes

9 years agoadd release notes for v4.8
Michael Stapelberg [Sun, 15 Jun 2014 16:26:40 +0000 (18:26 +0200)]
add release notes for v4.8

9 years agoman/i3.man: update to contain new default font
Michael Stapelberg [Sun, 15 Jun 2014 16:18:44 +0000 (18:18 +0200)]
man/i3.man: update to contain new default font

9 years agoBugfix: don’t overwrite the window’s geometry after restarting
Michael Stapelberg [Fri, 13 Jun 2014 20:29:24 +0000 (22:29 +0200)]
Bugfix: don’t overwrite the window’s geometry after restarting

fixes #1263

9 years agoBugfix: ensure floating windows don’t drop out of fullscreen when restarting
Michael Stapelberg [Fri, 13 Jun 2014 20:26:06 +0000 (22:26 +0200)]
Bugfix: ensure floating windows don’t drop out of fullscreen when restarting

fixes #1263

9 years agoBugfix: don’t errnously render floating fullscreen windows during restart
Michael Stapelberg [Fri, 13 Jun 2014 20:21:00 +0000 (22:21 +0200)]
Bugfix: don’t errnously render floating fullscreen windows during restart

fixes #1263

9 years agoBugfix: don’t overwrite the original size of floating windows when changing border...
Michael Stapelberg [Fri, 13 Jun 2014 20:18:36 +0000 (22:18 +0200)]
Bugfix: don’t overwrite the original size of floating windows when changing border style

fixes #1263

9 years agoalso change the default font in i3.config.keycodes
Michael Stapelberg [Fri, 13 Jun 2014 18:02:34 +0000 (20:02 +0200)]
also change the default font in i3.config.keycodes

9 years agodefault config: use `set` for directions
Tony Crisci [Thu, 12 Jun 2014 23:34:57 +0000 (19:34 -0400)]
default config: use `set` for directions

Using `set` for direction letter keys makes them easier to configure for
users who prefer traditional vim-style directions.

9 years agofix warning: use size_t when comparing against strlen()
Michael Stapelberg [Thu, 12 Jun 2014 19:24:29 +0000 (21:24 +0200)]
fix warning: use size_t when comparing against strlen()

9 years agohandle windows whose WM_TRANSIENT_FOR points to themselve
Michael Stapelberg [Thu, 12 Jun 2014 19:16:45 +0000 (21:16 +0200)]
handle windows whose WM_TRANSIENT_FOR points to themselve

I consider this behavior broken and not respecting the standard, but it
happens in real life, and it’s better for i3 to not busy-loop in such a
situation :).

fixes #1259

9 years agoRevert "Rerender on button press only when focus changes"
Michael Stapelberg [Thu, 12 Jun 2014 19:01:06 +0000 (21:01 +0200)]
Revert "Rerender on button press only when focus changes"

This reverts commit b714878f52ef7c175699ed831c5925a577621f5a.

That commit introduced a regression: clicking on floating windows would
no longer raise them reliably.

fixes #1260

9 years agoBugfix: Set input focus with last timestamp
Tony Crisci [Thu, 12 Jun 2014 05:33:33 +0000 (01:33 -0400)]
Bugfix: Set input focus with last timestamp

Setting input focus with the last event timestamp prevents race
conditions when setting focus.

fixes #1127

9 years agoBugfix: fix crash when using multiple for_window statements that move windows (Thanks...
Michael Stapelberg [Thu, 12 Jun 2014 07:32:55 +0000 (09:32 +0200)]
Bugfix: fix crash when using multiple for_window statements that move windows (Thanks Antonio)

fixes #1257

9 years agoInclude sys/sysctl.h after i3.h to prevent redefinition warnings caused by queue...
Marcus Crestani [Wed, 11 Jun 2014 18:53:22 +0000 (20:53 +0200)]
Include sys/sysctl.h after i3.h to prevent redefinition warnings caused by queue.h on OS X.

9 years agoBugfix: Typo in i3.xsession.desktop TryExec rule.
Holger Langenau [Wed, 11 Jun 2014 10:28:53 +0000 (12:28 +0200)]
Bugfix: Typo in i3.xsession.desktop TryExec rule.

Typo in executable for TryExec prevents LightDM from starting i3.

9 years agoBugfix: prevent unneeded render on pointer enter
Tony Crisci [Wed, 11 Jun 2014 00:28:19 +0000 (20:28 -0400)]
Bugfix: prevent unneeded render on pointer enter

When `focus_follows_mouse` option is on, prevent an uneeded render on
pointer enter when the con is already focused.

This pointer enter might be caused by entering a window decoration of an
already-focused container.

This extra render can cause concurrency issues when focus is set
asynchronously with WM_TAKE_FOCUS.

9 years agocleanup temporary directory when restarting and not using XDG_RUNTIME_DIR
Michael Stapelberg [Wed, 11 Jun 2014 07:17:43 +0000 (09:17 +0200)]
cleanup temporary directory when restarting and not using XDG_RUNTIME_DIR

fixes #1253

9 years agodebian: recommend fonts-dejavu-core after we switched the default
Michael Stapelberg [Sun, 8 Jun 2014 20:28:13 +0000 (22:28 +0200)]
debian: recommend fonts-dejavu-core after we switched the default

9 years agodefault config: switch to “DejaVu Sans Mono 8” as default font
Michael Stapelberg [Sun, 8 Jun 2014 20:25:59 +0000 (22:25 +0200)]
default config: switch to “DejaVu Sans Mono 8” as default font

As mentioned in the comment, this change is motivated by better support
for unicode, right-to-left rendering and scalability on retina/hidpi
setups.

9 years agodelete ipc socket when exiting, cleanup tmpdir
Michael Stapelberg [Sun, 8 Jun 2014 20:13:43 +0000 (22:13 +0200)]
delete ipc socket when exiting, cleanup tmpdir

fixes #1253

9 years agoreplace remaining printf()s with D?LOG
Michael Stapelberg [Sun, 8 Jun 2014 19:56:14 +0000 (21:56 +0200)]
replace remaining printf()s with D?LOG

fixes #1252

9 years agoUse XCB_BUTTON_INDEX defines for mouse buttons
Campbell Barton [Sun, 8 Jun 2014 07:14:27 +0000 (17:14 +1000)]
Use XCB_BUTTON_INDEX defines for mouse buttons

9 years agoDon't ELOG ipc EOF
Tony Crisci [Sat, 7 Jun 2014 02:11:44 +0000 (22:11 -0400)]
Don't ELOG ipc EOF

Receiving EOF from a client is not an error, but rather a standard way a
client may disconnect from the IPC. This should rather be logged from
a consumer of the libi3 ipc_recv_message() function as a normal client
disconnect event.

fixes #1252

9 years agoMod i3.xsession.desktop for autostart Ubuntu 14.04
Matthias Thubauville [Tue, 3 Jun 2014 06:38:11 +0000 (08:38 +0200)]
Mod i3.xsession.desktop for autostart Ubuntu 14.04

i3 started from lightdm properly, but autostart did not work. The line
"X-LightDM-DesktopName=i3" seems to be responsible to allow autostart.

Tested on a clean install of Ubuntu 14.04.

9 years agoAdd abstraction for running a binding
Tony Crisci [Sat, 31 May 2014 15:00:02 +0000 (11:00 -0400)]
Add abstraction for running a binding

Add run_binding function to bindings.h.

> Runs the given binding and handles parse errors. Returns a
> CommandResult for running the binding's command. Caller should render
> tree if needs_tree_render is true. Free with command_result_free().

9 years agotests: fix a few racy testcases by adding sync_with_i3 calls
Michael Stapelberg [Sun, 1 Jun 2014 09:48:10 +0000 (11:48 +0200)]
tests: fix a few racy testcases by adding sync_with_i3 calls

9 years agoSet EWMH active window to None when none has focus
Tony Crisci [Sat, 31 May 2014 16:06:39 +0000 (12:06 -0400)]
Set EWMH active window to None when none has focus

_NET_ACTIVE_WINDOW:

> The window ID of the currently active window or None if no window has
> the focus.

This fixes a bug that would not update _NET_ACTIVE_WINDOW when focus
changed to an i3 container without a window such as a branch or
workspace content container.

9 years agoRefactor parse_command
Tony Crisci [Wed, 28 May 2014 06:01:50 +0000 (02:01 -0400)]
Refactor parse_command

parse_command returns a struct that contains useful information about
the result of a command as a whole (instead of the intermediate
representation used during parsing).

parse_command now requires the caller to allocate the yajl_gen used for
generating a json reply. This is passed as the second parameter to
parse_command. If NULL is passed, no json reply will be generated.

9 years agoAdd configuration option for disabling mouse warping
Atte Peltomaki [Mon, 24 Mar 2014 17:03:05 +0000 (19:03 +0200)]
Add configuration option for disabling mouse warping

This patch adds a new configuration option "mouse_warping [output|none]".

When mouse warping is disabled, mouse cursor does not jump to middle of current
screen when changing workspaces between multiple outputs. This introduces a
"special" cursor state, where focus is in one window and cursor on another.
Useful for eg. scrolling a web page with mouse wheel while typing into another
window on keyboard.

9 years agoFeature: Workspace assignment by number
Tony Crisci [Sun, 18 May 2014 03:36:58 +0000 (23:36 -0400)]
Feature: Workspace assignment by number

Workspace assignments with bare numbers assign all workspaces with that
number to the specified output.

Workspace assignment by number is overridden by workspace assignment by
name.

9 years agoBugfix: double X render on manage
Tony Crisci [Sun, 18 May 2014 07:12:39 +0000 (03:12 -0400)]
Bugfix: double X render on manage

When a con is being managed, tree_render should only be called once to
push the changes to the rendering server to prevent wasting resources.

9 years agoFix test 517
Tony Crisci [Sun, 18 May 2014 05:56:50 +0000 (01:56 -0400)]
Fix test 517

Test 517 was sometimes failing because the command to reset the test
generates a focus event which was not being properly ignored.

Now the correct event should always be tested.

9 years agoChange the names of parser result structs
Tony Crisci [Sun, 18 May 2014 04:44:19 +0000 (00:44 -0400)]
Change the names of parser result structs

Change the name of structs CommandResult and ConfigResult to
CommandResultIR and ConfigResultIR to show they are an intermediate
representation used during parsing.