]> git.sur5r.net Git - i3/i3/log
i3/i3
10 years agobuild i3-save-tree(1) manpage (Thanks xeen)
Michael Stapelberg [Wed, 23 Apr 2014 17:33:22 +0000 (19:33 +0200)]
build i3-save-tree(1) manpage (Thanks xeen)

10 years agofix parallel make
Julian Ospald [Tue, 22 Apr 2014 15:09:23 +0000 (15:09 +0000)]
fix parallel make

fixes #1232

10 years agorespect CFLAGS in linking command
Julian Ospald [Tue, 22 Apr 2014 15:09:23 +0000 (15:09 +0000)]
respect CFLAGS in linking command

fixes #1233

10 years agoDon’t overwrite existing windows with placeholder windows
Michael Stapelberg [Fri, 18 Apr 2014 18:36:56 +0000 (20:36 +0200)]
Don’t overwrite existing windows with placeholder windows

This could happen when you appended a layout on a workspace where there
are already other windows.

10 years agolayout restoring: append at the nearest split container (or workspace) (Thanks chris)
Michael Stapelberg [Fri, 18 Apr 2014 18:30:27 +0000 (20:30 +0200)]
layout restoring: append at the nearest split container (or workspace) (Thanks chris)

Before this commit, leaf containers (such as terminal emulators) would
get children appended, which is not intended.

fixes #1223

10 years agoMove switch_mode to bindings.[ch]
Tony Crisci [Mon, 14 Apr 2014 18:52:56 +0000 (14:52 -0400)]
Move switch_mode to bindings.[ch]

10 years agoDont set input focus and send WM_TAKE_FOCUS
Tony Crisci [Thu, 10 Apr 2014 17:28:14 +0000 (13:28 -0400)]
Dont set input focus and send WM_TAKE_FOCUS

If input focus is set by the window manager, it is not necessary to send
WM_TAKE_FOCUS because it has already taken focus.

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

> The goal is to support window managers that want to assign the input
> focus to a top-level window in such a way that the top-level window
> either can assign it to one of its subwindows or can decline the offer
> of the focus. For example, a clock or a text editor with no currently
> open frames might not want to take focus even though the window
> manager generally believes that clients should take the input focus
> after being deiconified or raised.

Both setting input focus and sending WM_TAKE_FOCUS is effectively
setting focus on the window twice which is certainly against the spirit
of the spec, if not the letter.

fixes #1167

10 years agoMaintain the _NET_CLIENT_LIST property
Tony Crisci [Tue, 8 Apr 2014 18:27:40 +0000 (14:27 -0400)]
Maintain the _NET_CLIENT_LIST property

Add and update the _NET_CLIENT_LIST property on the root window to
better comply with ewmh standards.

Information on this property can be found here:
http://standards.freedesktop.org/wm-spec/latest/ar01s03.html

> These arrays contain all X Windows managed by the Window Manager.
> _NET_CLIENT_LIST has initial mapping order, starting with the oldest window.

fixes #1099

10 years agoBugfix: clear wm_size_hints if they are not set
Michael Stapelberg [Wed, 9 Apr 2014 20:14:50 +0000 (22:14 +0200)]
Bugfix: clear wm_size_hints if they are not set

Otherwise, we read random garbage. Found by the testsuite due to
t/185-scratchpad.t failing because a window was incorrectly recognized
as a floating window.

10 years agoFix t/158-wm_take_focus, it was not properly verifying events (Thanks TonyC)
Michael Stapelberg [Wed, 9 Apr 2014 19:47:32 +0000 (21:47 +0200)]
Fix t/158-wm_take_focus, it was not properly verifying events (Thanks TonyC)

See also http://cr.i3wm.org/patch/500 for TonyC’s patch. This version
reduces code duplication.

10 years agoBugfix: Use DOM loaded event for TOC (Thanks TonyC)
Michael Stapelberg [Wed, 9 Apr 2014 18:37:24 +0000 (20:37 +0200)]
Bugfix: Use DOM loaded event for TOC (Thanks TonyC)

See http://code.i3wm.org/i3-website/commit/?id=d8e239e6 for the original
commit for the i3 website. This one is for documentation built from git.

10 years agoSend last event timestamp with WM_TAKE_FOCUS msg
Tony Crisci [Sat, 29 Mar 2014 04:25:52 +0000 (00:25 -0400)]
Send last event timestamp with WM_TAKE_FOCUS msg

According to 4.1.7 of the iccm spec

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

> Windows with the atom WM_TAKE_FOCUS in their WM_PROTOCOLS property may
> receive a ClientMessage event from the window manager (as described in
> section 4.2.8) with WM_TAKE_FOCUS in its data[0] field and a valid
> timestamp (i.e. not CurrentTime ) in its data[1] field.

Adds the timestamp parameter to send_take_focus to avoid the dangerous
use of a global variable.

10 years agoOpenBSD does not have librt
David Coppa [Wed, 26 Mar 2014 09:01:50 +0000 (10:01 +0100)]
OpenBSD does not have librt

10 years agoi3-nagbar: add missing newline when printing version information
Arun Persaud [Sun, 23 Mar 2014 17:49:20 +0000 (10:49 -0700)]
i3-nagbar: add missing newline when printing version information

10 years agoi3-nagbar.man: updated man page to include all options
Arun Persaud [Sun, 23 Mar 2014 17:49:52 +0000 (10:49 -0700)]
i3-nagbar.man: updated man page to include all options

several options were not documented in the man page.

10 years agoi3bar: Send mouse wheel events to child too
Quentin Glidic [Thu, 13 Mar 2014 12:58:15 +0000 (13:58 +0100)]
i3bar: Send mouse wheel events to child too

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
10 years agoFree owindow when no con_id match or window
Tony Crisci [Wed, 19 Mar 2014 08:56:34 +0000 (04:56 -0400)]
Free owindow when no con_id match or window

This memory leak is related to matching on con_id or matching when the
container has a null window. In that case, windows that do not match
would leak the owindow struct.

10 years agoFree match after criteria initialization
Tony Crisci [Wed, 19 Mar 2014 08:34:42 +0000 (04:34 -0400)]
Free match after criteria initialization

This memory leak is associated with matching by a criteria that uses a
regular expression. Without freeing a regex before calling match_init,
it will definitely be lost.

10 years agodocs: fix typo
jeroentbt [Mon, 17 Mar 2014 00:24:15 +0000 (01:24 +0100)]
docs: fix typo

10 years agofix typo
jeroentbt [Sun, 16 Mar 2014 23:59:01 +0000 (00:59 +0100)]
fix typo

10 years agoTest 222: call exit_gracefully
Tony Crisci [Wed, 19 Mar 2014 02:38:01 +0000 (22:38 -0400)]
Test 222: call exit_gracefully

Not calling exit_gracefully causes some other test to fail during a
complete_run sometimes.

10 years agoTest 175: use BAIL_OUT instead of `die`
Tony Crisci [Wed, 19 Mar 2014 03:07:01 +0000 (23:07 -0400)]
Test 175: use BAIL_OUT instead of `die`

BAIL_OUT produces a friendlier message explaining why the tests cannot
continue on the command line. `die` produces a cryptic message that some
test failed for some reason.

10 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 15 Mar 2014 17:05:45 +0000 (18:05 +0100)]
Merge branch 'master' into next

10 years agoMerge branch 'fix-resize'
Michael Stapelberg [Sat, 15 Mar 2014 17:05:45 +0000 (18:05 +0100)]
Merge branch 'fix-resize'

10 years agoBugfix: don't try to resize docks by command
Tony Crisci [Sat, 15 Mar 2014 02:59:08 +0000 (22:59 -0400)]
Bugfix: don't try to resize docks by command

cmd_resize does not implement a method to resize dock clients.

A command like `[instance=".*"] resize grow width 160 px or 16 ppt`
when a dock client matched would crash i3.

fixes #1201

10 years agoMove translate_keysyms to bindings.[ch]
Tony Crisci [Thu, 13 Mar 2014 12:02:07 +0000 (08:02 -0400)]
Move translate_keysyms to bindings.[ch]

Additionally add a check so the function only handles bindings of type
B_KEYBOARD to prepare for the new bindmouse feature.

10 years agoAdd valgrind suppression file to testcases
Tony Crisci [Mon, 10 Mar 2014 08:47:40 +0000 (04:47 -0400)]
Add valgrind suppression file to testcases

The suppression file makes valgrind output more readable by hiding
reports of memory leaks for GObject-related initialization functions in
Pango and Cairo.

10 years agoFree window ran_assignments on tree_close
Tony Crisci [Mon, 10 Mar 2014 08:29:44 +0000 (04:29 -0400)]
Free window ran_assignments on tree_close

10 years agoUpdate ipc library list documentation
Tony Crisci [Mon, 10 Mar 2014 01:33:26 +0000 (21:33 -0400)]
Update ipc library list documentation

Add a link to the new JavaScript, Python, and Lua ipc libraries.

Add notice that the older Python libraries are not maintained.

Sort the list alphabetically.

10 years agoSet con window to NULL on tree_close
Tony Crisci [Mon, 10 Mar 2014 04:38:52 +0000 (00:38 -0400)]
Set con window to NULL on tree_close

Prevents invalid reads on the freed window struct.

10 years agoAdd test for floating types
Tony Crisci [Sat, 8 Mar 2014 13:18:56 +0000 (08:18 -0500)]
Add test for floating types

Add a test that verifies that windows with properties that indicate they
should be floating are indeed opened floating.

10 years agoImproved detection of windows that want floating
Kernc [Sat, 15 Feb 2014 15:49:41 +0000 (16:49 +0100)]
Improved detection of windows that want floating

Windows that match the following criteria are floated by default:
- dialog, utility, toolbar, or splash windows,
- modal windows, or
- windows that have specified equal minimum and maximum size.

closes #1182

10 years agoMerge branch 'fix-recv-memleak'
Michael Stapelberg [Sat, 8 Mar 2014 19:59:18 +0000 (20:59 +0100)]
Merge branch 'fix-recv-memleak'

10 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 8 Mar 2014 19:59:18 +0000 (20:59 +0100)]
Merge branch 'master' into next

10 years agoBugfix: ipc_receive_message reply leak
Tony Crisci [Sat, 8 Mar 2014 04:56:25 +0000 (23:56 -0500)]
Bugfix: ipc_receive_message reply leak

The function ipc_recv_message in libi3 allocates memory to the location
of the `message` reply in src/ipc_receive_message.c with malloc and must
be freed.

This memory leak was found using valgrind.

10 years agoUpdate ipc COMMAND reply documentation
Tony Crisci [Fri, 28 Feb 2014 18:45:22 +0000 (13:45 -0500)]
Update ipc COMMAND reply documentation

The COMMAND reply consists of a list of results for each command that
was parsed.

10 years agoMove keyboard binding accessor to bindings.[ch]
Tony Crisci [Sat, 22 Feb 2014 00:10:21 +0000 (19:10 -0500)]
Move keyboard binding accessor to bindings.[ch]

Rename `get_binding` to `get_keyboard_binding` and ensure that this
function only accesses bindings of type B_KEYBOARD. Other types of
bindings (e.g. mouse bindings) will be accessed by a different function.

10 years agoFix current_workspace outputs reply member docs
Tony Crisci [Sun, 23 Feb 2014 09:36:39 +0000 (04:36 -0500)]
Fix current_workspace outputs reply member docs

The current_workspace member of an ipc OUTPUTS reply is the name of the
workspace as a string.

10 years agoSend IPC window events for focus and title changes
Marco Hunsicker [Sat, 22 Feb 2014 10:52:01 +0000 (11:52 +0100)]
Send IPC window events for focus and title changes

This patch fixes ticket #1168 to extend the window IPC event mechanism
to send IPC events for window focus and title changes. The newly added
window events use the same format as the already established "new"
event.

Specifically this patch:

* Moves the ipc_send_window_event() function from src/manage.c into
  src/ipc.c and adds an argument for the change property of the event
* Updates src/manage.c to use the new function signature. To ensure
  that the "new" event does not send the same event data as the
  "focus" event, setting focus now happens after the "new" event
  has been sent
* Adds IPC focus event notification to src/x.c. To workaround a problem
  during window close when accessing the window name, a function has been
  added to query whether a window is actually attached to its parent. To
  avoid obsolete focus notification, a new field has been added to keep
  track of the focus without any interference by the click handling
* Adds IPC title event notification to src/handlers.c. To avoid
  obsolete title notification, a function has been added to determine
  whether a window title has actually changed
* Updates the IPC documentation to include the new events
* Updates testcases/t/205-ipc-windows.t to include the "focus" event
  in order to ensure the correct event sequence
* Adds two new unit tests, b/testcases/t/219-ipc-window-focus.t and
  b/testcases/t/220-ipc-window-title.t to ensure proper "focus" and
 "title" events

10 years agotests: sync_with_i3 before warping pointer
Michael Stapelberg [Tue, 25 Feb 2014 19:44:17 +0000 (20:44 +0100)]
tests: sync_with_i3 before warping pointer

To be honest, I’m not entirely sure where the race condition originates
from, but when making sure that there are no pending events
(which is what sync_with_i3 accomplishes) before warping the pointer, we
have less flaky testsuite runs.

closes #1189

10 years agoman/i3.man: Update font doc to reflect i3.config
Alexander Berntsen [Sat, 15 Feb 2014 12:00:14 +0000 (13:00 +0100)]
man/i3.man: Update font doc to reflect i3.config

10 years agoMove grab_all_keys to bindings.[ch]
Tony Crisci [Fri, 14 Feb 2014 23:38:01 +0000 (18:38 -0500)]
Move grab_all_keys to bindings.[ch]

Also add checks for binding input_type to filter bindings that are not
keyboard bindings.

10 years agoi3bar: Do not kill watcher on EOF
Tony Crisci [Fri, 14 Feb 2014 01:17:18 +0000 (20:17 -0500)]
i3bar: Do not kill watcher on EOF

Wait for the child process to exit on its own before freeing
watcher-related resources.

i3bar shows the last received status line until the process exits.

Fixes a race condition where the termination signal was sometimes not
received to display a meaningful error message.

10 years agoImprove drag_pointer error handling
Tony Crisci [Wed, 12 Feb 2014 10:16:37 +0000 (05:16 -0500)]
Improve drag_pointer error handling

Log errors generated by failed pointer grabs and ungrab the pointer
after failed keyboard grabs.

10 years agot/130-close-empty-split: clean up old workspace
Michael Stapelberg [Thu, 13 Feb 2014 20:05:42 +0000 (21:05 +0100)]
t/130-close-empty-split: clean up old workspace

This hopefully increases the reliability of the test. Empty containers
created by “open” sometimes get spurious UnmapNotify events, and in at
least one run, this test failed because of such an event.

10 years agohandle ButtonPress events with child != XCB_NONE (Thanks xeen)
Michael Stapelberg [Sun, 9 Feb 2014 13:00:43 +0000 (14:00 +0100)]
handle ButtonPress events with child != XCB_NONE (Thanks xeen)

The X11 protocol description states:

  The window the event is reported with respect to is called the event
  window. The event window is found by starting with the source window
  and looking up the hierarchy for the first window on which any client
  has selected interest in the event.

For the case of urxvt with URxvt.internalBorder > 0, urxvt sets up a
subwindow for its actual contents that is placed “in the middle” of the
urxvt window. In terms of the X11 protocol, the source window is urxvt’s
window, but urxvt does not select ButtonPress events for that.
Therefore, X11 will go up in the hierarchy and deliver the event to i3
for i3’s window decoration, even though this was not actually a click on
the decoration, but into the managed window.

Therefore, we check whether child != XCB_NONE for clicks on window
decorations and then handle them as a click inside the window.

fixes #1176

10 years agofix warnings: unsigned check for >= 0 is always true
Michael Stapelberg [Sat, 8 Feb 2014 20:03:26 +0000 (21:03 +0100)]
fix warnings: unsigned check for >= 0 is always true

10 years agoBugfix: `tree_split` should not split floating cons
Tony Crisci [Fri, 7 Feb 2014 15:07:56 +0000 (10:07 -0500)]
Bugfix: `tree_split` should not split floating cons

Use the more robust test of `con_is_floating` for testing a container
for being floating.

fixes #1177

10 years agoDoc update: title right click resizes floating windows
Jonas Maaskola [Fri, 7 Feb 2014 10:52:14 +0000 (11:52 +0100)]
Doc update: title right click resizes floating windows

This documentation update describes the change implemented in
905440d6d1c6d2a872e3bbb0da4c963bedaf5708
It avoids repetitive usage of the word 'also'.

10 years agoSet EWMH desktop properties on startup.
Steve Jones [Sat, 1 Feb 2014 16:09:51 +0000 (16:09 +0000)]
Set EWMH desktop properties on startup.

Calls ewmh_update_current_desktop on startup to set the
_NET_CURRENT_DESKTOP property. Without this change the property only
gets set after the workspaces have been manipulated. Also exclude
hidden workspaces (i.e. those starting with "__" from the workspace
index.

Adds tests for startup and workspace switching.

10 years agoResize floating windows by right-clicking decoration
Jonas Maaskola [Wed, 5 Feb 2014 16:29:42 +0000 (17:29 +0100)]
Resize floating windows by right-clicking decoration

10 years agoDocument the existence of a C ipc project
Tony Crisci [Tue, 4 Feb 2014 15:52:52 +0000 (10:52 -0500)]
Document the existence of a C ipc project

Add a link to https://github.com/acrisci/i3-ipc which is a new ipc
library in the design phase of development. When it is stable, it will
provide bindings to many high-level scripting languages with
GObject-introspection.

This project aims to replace the unmaintained Python library and offer
an ipc library in new languages such as Lua and JavaScript.

10 years agoReally do not create con pixmap when not needed
Tony Crisci [Tue, 4 Feb 2014 18:36:20 +0000 (13:36 -0500)]
Really do not create con pixmap when not needed

The pixmap of a borderless leaf container will not be used except
for the titlebar in a stack or tabs.

Make sure these containers do not (really) have a pixmap because it can
only get in the way.

fixes #1013

10 years agoi3bar: fix resource leak: statusline_ctx needs to be freed first
Michael Stapelberg [Sun, 2 Feb 2014 10:22:42 +0000 (11:22 +0100)]
i3bar: fix resource leak: statusline_ctx needs to be freed first

In practice this is rarely noticeable, unless you very often switch
screen resolutions, I think.

fixes #1172

10 years agoMerge branch 'fix-i3bar-leak'
Michael Stapelberg [Sun, 2 Feb 2014 10:23:54 +0000 (11:23 +0100)]
Merge branch 'fix-i3bar-leak'

10 years agoi3bar: fix resource leak: statusline_ctx needs to be freed first
Michael Stapelberg [Sun, 2 Feb 2014 10:22:42 +0000 (11:22 +0100)]
i3bar: fix resource leak: statusline_ctx needs to be freed first

In practice this is rarely noticeable, unless you very often switch
screen resolutions, I think.

fixes #1172

10 years agoRevert "Do not create container pixmap when not needed"
Michael Stapelberg [Thu, 30 Jan 2014 21:55:26 +0000 (22:55 +0100)]
Revert "Do not create container pixmap when not needed"

This reverts commit 6578976b6159437c16187cf8d1ea38aa9fec9fc8.

fixes #1170

10 years agoAbstract binding configuration to bindings.[ch]
Tony Crisci [Tue, 28 Jan 2014 03:45:01 +0000 (22:45 -0500)]
Abstract binding configuration to bindings.[ch]

Create files bindings.[ch] to contain functions for configuring,
finding, and running bindings.

Use the new function `configure_binding` for binding configuration. This
function adds a binding from config parameters.

Export the function `modifiers_from_str` from config_directives.h.

This change is made in preparation for the new bindmouse functionality.

10 years agocontrib: add per-workspace-layout.pl
Michael Stapelberg [Sun, 26 Jan 2014 15:51:32 +0000 (16:51 +0100)]
contrib: add per-workspace-layout.pl

10 years agocontrib: add sticker that was actually printed
Michael Stapelberg [Sun, 26 Jan 2014 15:43:02 +0000 (16:43 +0100)]
contrib: add sticker that was actually printed

While sticker_stickma_black.svg is the file that we originally provided,
the file that we got back from stickma and actually ordered is the new
one.

10 years agodocs/NoName-2009-03-12: add missing screenshot
Michael Stapelberg [Sun, 26 Jan 2014 15:39:09 +0000 (16:39 +0100)]
docs/NoName-2009-03-12: add missing screenshot

10 years agodebian/rules: get rid of hardcoded release notes file name
Michael Stapelberg [Sun, 26 Jan 2014 15:22:06 +0000 (16:22 +0100)]
debian/rules: get rid of hardcoded release notes file name

10 years agoupdate year in copyright notices to 2014
Marco Hunsicker [Fri, 24 Jan 2014 22:49:46 +0000 (23:49 +0100)]
update year in copyright notices to 2014

This patch updates the copyright year information the i3 and
i3bar binaries show to the user.

10 years agoupdate debian/changelog
Michael Stapelberg [Thu, 23 Jan 2014 22:11:49 +0000 (23:11 +0100)]
update debian/changelog

10 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 23 Jan 2014 22:05:15 +0000 (23:05 +0100)]
Merge branch 'master' into next

10 years agoMerge branch 'release-4.7.2'
Michael Stapelberg [Thu, 23 Jan 2014 21:53:21 +0000 (22:53 +0100)]
Merge branch 'release-4.7.2'

10 years agoadd release notes for 4.7.2 4.7.2
Michael Stapelberg [Thu, 23 Jan 2014 21:51:55 +0000 (22:51 +0100)]
add release notes for 4.7.2

10 years agoasciidoc git config: fix impress link, update copyright (Thanks Jens)
Michael Stapelberg [Thu, 23 Jan 2014 21:24:03 +0000 (22:24 +0100)]
asciidoc git config: fix impress link, update copyright (Thanks Jens)

10 years agoMerge branch 'userguide-reset'
Michael Stapelberg [Thu, 23 Jan 2014 21:20:39 +0000 (22:20 +0100)]
Merge branch 'userguide-reset'

10 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 23 Jan 2014 21:20:39 +0000 (22:20 +0100)]
Merge branch 'master' into next

10 years agodocs/userguide: change 'reseted' to 'reset'
Wieland Hoffmann [Wed, 22 Jan 2014 21:46:37 +0000 (22:46 +0100)]
docs/userguide: change 'reseted' to 'reset'

It's an irregular verb.

10 years agoMerge branch 'openbsd-fallocate'
Michael Stapelberg [Thu, 23 Jan 2014 21:20:16 +0000 (22:20 +0100)]
Merge branch 'openbsd-fallocate'

10 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 23 Jan 2014 21:20:16 +0000 (22:20 +0100)]
Merge branch 'master' into next

10 years agoOpenBSD lacks posix_fallocate()
David Coppa [Wed, 22 Jan 2014 12:55:49 +0000 (13:55 +0100)]
OpenBSD lacks posix_fallocate()

10 years agoMerge branch 'fix-i3-with-shmlog'
Michael Stapelberg [Thu, 23 Jan 2014 21:19:49 +0000 (22:19 +0100)]
Merge branch 'fix-i3-with-shmlog'

10 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 23 Jan 2014 21:19:49 +0000 (22:19 +0100)]
Merge branch 'master' into next

10 years agoFix install target of i3-with-shmlog.desktop
David Coppa [Wed, 22 Jan 2014 12:52:35 +0000 (13:52 +0100)]
Fix install target of i3-with-shmlog.desktop

10 years agoupdate debian/
Michael Stapelberg [Tue, 21 Jan 2014 18:38:46 +0000 (19:38 +0100)]
update debian/

10 years agoMerge branch 'release-4.7.1'
Michael Stapelberg [Tue, 21 Jan 2014 18:23:25 +0000 (19:23 +0100)]
Merge branch 'release-4.7.1'

10 years agoMerge branch 'release-4.7.1' into next
Michael Stapelberg [Tue, 21 Jan 2014 18:22:43 +0000 (19:22 +0100)]
Merge branch 'release-4.7.1' into next

10 years agoadd release notes for 4.7.1, update manpage version 4.7.1
Michael Stapelberg [Tue, 21 Jan 2014 18:20:36 +0000 (19:20 +0100)]
add release notes for 4.7.1, update manpage version

10 years agoDo not create container pixmap when not needed
Tony Crisci [Sun, 19 Jan 2014 15:22:50 +0000 (10:22 -0500)]
Do not create container pixmap when not needed

The pixmap of a borderless container will not be used (except for the
titlebar in a stack or tabs). Make sure these containers do not have a
pixmap because it can only get in the way.

fixes #1013

10 years agodocs/i3bar-protocol: add missing newline
Vivien Didelot [Tue, 14 Jan 2014 21:15:56 +0000 (16:15 -0500)]
docs/i3bar-protocol: add missing newline

10 years agoRespect Motif hint for window decorations
Tony Crisci [Wed, 15 Jan 2014 02:16:54 +0000 (21:16 -0500)]
Respect Motif hint for window decorations

When the _MOTIF_WM_HINTS property of a window specifies it should have
no title bar, or no decorations at all, respond by setting the border
style of that container to BS_PIXEL or BS_NONE respectively.

This comes from the old Motif window manager. It was originally intended
to specify exactly what sort of decorations a window should have, and
exactly what sort of user input it should respond to. The EWMH spec
intended to replace Motif hints with _NET_WM_WINDOW_TYPE, but it is
still in use by popular widget toolkits such as GTK+ and Java AWT.

i3's implementation simply mirrors Gnome's Metacity. Official
documentation of this hint is nowhere to be found.

For more information see:
https://people.gnome.org/~tthurman/docs/metacity/xprops_8h-source.html
http://stackoverflow.com/questions/13787553/detect-if-a-x11-window-has-decorations

fixes #832

10 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 13 Jan 2014 22:36:47 +0000 (23:36 +0100)]
Merge branch 'master' into next

10 years agoMerge branch 'fix-move-focus'
Michael Stapelberg [Mon, 13 Jan 2014 22:36:34 +0000 (23:36 +0100)]
Merge branch 'fix-move-focus'

10 years agoBugfix: `move <direction>` sends workspace focus
Tony Crisci [Mon, 13 Jan 2014 20:36:11 +0000 (15:36 -0500)]
Bugfix: `move <direction>` sends workspace focus

Make sure the command `move <direction>` properly sends the workspace
focus ipc event required for i3bar to be properly updated and redrawn.

Make `ipc_send_workspace_focus_event publicly available from ipc.h for
more flexible event sending.

10 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 13 Jan 2014 22:35:22 +0000 (23:35 +0100)]
Merge branch 'master' into next

10 years agoMerge branch 'fix-eof-msg'
Michael Stapelberg [Mon, 13 Jan 2014 22:35:22 +0000 (23:35 +0100)]
Merge branch 'fix-eof-msg'

10 years agoi3bar Bugfix: don't show "EOF" status line error
Tony Crisci [Tue, 7 Jan 2014 18:32:21 +0000 (13:32 -0500)]
i3bar Bugfix: don't show "EOF" status line error

When the `status_command` sends EOF, it is terminated. Terminating this
process prints an error message to the status line (hence, a race
condition). This error message is always more useful than the former
"EOF" status line error because it shows the exit code.

10 years agoAdd `input_type` enum to `Binding` typedef
Tony Crisci [Thu, 9 Jan 2014 16:59:21 +0000 (11:59 -0500)]
Add `input_type` enum to `Binding` typedef

An input type of B_KEYBOARD will indicated this binding was created with
"bindsym", "bindcode", or "bind" and should only run on key press
events.

An input type of B_MOUSE will indicate this binding was created with
"bindmouse" and should only run on button press events (not yet
implemented).

For more information see #558.

10 years agoi3bar: Amend status line error 127 message
Tony Crisci [Wed, 8 Jan 2014 07:51:27 +0000 (02:51 -0500)]
i3bar: Amend status line error 127 message

Exit 127 can be returned by the shell when the command is not found or
when the `status_command` process returns 127 because of a missing C
library dependency.

10 years agoMovement into a branch considers movement direction
Tony Crisci [Tue, 26 Nov 2013 10:46:10 +0000 (05:46 -0500)]
Movement into a branch considers movement direction

Change the behavior of movement into a branch with respect to the
position the moving con will be placed within the branch when the
movement is complete.

The correct position is determined by the direction of movement or the
position of the focused-inactive container within the branch.

If the direction of movement is the same as the orientation of the
branch container, append or prepend the container to the branch in the
obvious way.  If the movement is to the right or downward, insert the
moving container in the first position (i.e., the leftmost or top
position resp.) If the movement is to the left or upward, insert the
moving container in the last position (i.e., the rightmost or bottom
position resp.)

If the direction of movement is different from the orientation of the
branch container, insert the container into the branch after the
focused-inactive container.

fixes #1060

10 years agouse designated initializers for yajl_callbacks struct
Alexander Kedrik [Wed, 1 Jan 2014 16:19:55 +0000 (20:19 +0400)]
use designated initializers for yajl_callbacks struct

10 years agoadd testcase for #1149
Michael Stapelberg [Sun, 5 Jan 2014 19:37:42 +0000 (20:37 +0100)]
add testcase for #1149

10 years agoipc: dump new "swallows" properties
Michael Stapelberg [Sun, 5 Jan 2014 19:30:03 +0000 (20:30 +0100)]
ipc: dump new "swallows" properties

10 years agosanity check: drop swallows for split containers (Thanks xeen)
Michael Stapelberg [Sun, 5 Jan 2014 19:25:47 +0000 (20:25 +0100)]
sanity check: drop swallows for split containers (Thanks xeen)

fixes #1149

10 years agoi3-save-tree: only create "swallows" key for leaf nodes (Thanks xeen)
Michael Stapelberg [Sun, 5 Jan 2014 19:10:24 +0000 (20:10 +0100)]
i3-save-tree: only create "swallows" key for leaf nodes (Thanks xeen)

fixes #1149

10 years agoRevert "use designated initializers for yajl_callbacks struct"
Michael Stapelberg [Sun, 5 Jan 2014 12:05:31 +0000 (13:05 +0100)]
Revert "use designated initializers for yajl_callbacks struct"

This reverts commit 705b43294add2fffede086c0c072dc5a849ffc49.

This commit broke i3bar for some users.

10 years agofix killing placeholder windows
Michael Stapelberg [Sat, 4 Jan 2014 21:24:47 +0000 (22:24 +0100)]
fix killing placeholder windows

The only consequence of the previous situation was that there was a
misleading log message.