]> git.sur5r.net Git - i3/i3/log
i3/i3
10 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 24 Dec 2013 09:37:14 +0000 (10:37 +0100)]
Merge branch 'master' into next

10 years agoMerge branch 'dpi-log'
Michael Stapelberg [Tue, 24 Dec 2013 09:37:14 +0000 (10:37 +0100)]
Merge branch 'dpi-log'

10 years agoonly LOG() the DPI when it changes, DLOG() it otherwise (Thanks lkraav)
Michael Stapelberg [Tue, 24 Dec 2013 09:35:56 +0000 (10:35 +0100)]
only LOG() the DPI when it changes, DLOG() it otherwise (Thanks lkraav)

This avoids flooding stdout every time some text (e.g. a window
decoration) is drawn, yet leaves the message in place when it’s actually
relevant (upon DPI changes).

fixes #1115

10 years agodebian/: add perl recommends to i3-wm for i3-save-tree(1)
Michael Stapelberg [Sun, 22 Dec 2013 20:54:13 +0000 (21:54 +0100)]
debian/: add perl recommends to i3-wm for i3-save-tree(1)

10 years agoupdate DEPENDS
Michael Stapelberg [Sun, 15 Dec 2013 20:31:18 +0000 (21:31 +0100)]
update DEPENDS

10 years agoadd i3-save-tree(1) which dumps the layout of a workspace or an output
Michael Stapelberg [Sun, 15 Dec 2013 20:29:21 +0000 (21:29 +0100)]
add i3-save-tree(1) which dumps the layout of a workspace or an output

10 years agoipc: dump window properties when not restarting inplace
Michael Stapelberg [Sun, 15 Dec 2013 20:29:05 +0000 (21:29 +0100)]
ipc: dump window properties when not restarting inplace

10 years agodragging: instead of using a custom event loop, use libev
Michael Stapelberg [Sun, 15 Dec 2013 16:30:06 +0000 (17:30 +0100)]
dragging: instead of using a custom event loop, use libev

This is done by installing a new check watcher that replaces the main
X11 event handler and calling ev_run with EVRUN_ONCE until the dragging
loop left state DRAGGING.

With this commit, other handlers, most notably the redraw handler for
placeholder windows, get a chance to run when dragging (placeholder!)
windows around.

10 years agoreconnect when the restore X11 connection dies
Michael Stapelberg [Sun, 15 Dec 2013 14:17:37 +0000 (15:17 +0100)]
reconnect when the restore X11 connection dies

This could happen if a user uses xkill(1) on a placeholder window.

10 years agokill placeholder windows when the actual window appears
Michael Stapelberg [Sun, 15 Dec 2013 14:00:26 +0000 (15:00 +0100)]
kill placeholder windows when the actual window appears

10 years agoreplace never-true condition with a working one
Michael Stapelberg [Sun, 15 Dec 2013 13:57:04 +0000 (14:57 +0100)]
replace never-true condition with a working one

state->initial is set to false before calling x_push_node() since we
began pushing the window stack before pushing changes. Therefore, the
condition could never be true.

10 years agofix test after renaming role to window_role
Michael Stapelberg [Sun, 15 Dec 2013 13:56:34 +0000 (14:56 +0100)]
fix test after renaming role to window_role

10 years agointroduce client.placeholder color
Michael Stapelberg [Sun, 15 Dec 2013 10:42:40 +0000 (11:42 +0100)]
introduce client.placeholder color

10 years agoset original window title on placeholder windows
Michael Stapelberg [Sun, 15 Dec 2013 10:32:36 +0000 (11:32 +0100)]
set original window title on placeholder windows

10 years agouse root window color depth instead of hard-coded 24
Michael Stapelberg [Sun, 15 Dec 2013 10:28:50 +0000 (11:28 +0100)]
use root window color depth instead of hard-coded 24

10 years agodisplay swallows criteria in placeholder windows
Michael Stapelberg [Sun, 15 Dec 2013 10:25:58 +0000 (11:25 +0100)]
display swallows criteria in placeholder windows

10 years agolayout restore: create and render placeholder windows
Michael Stapelberg [Sat, 14 Dec 2013 21:49:33 +0000 (22:49 +0100)]
layout restore: create and render placeholder windows

This is not entirely done yet, but TODO entries are placed in the code
where appropriate.

10 years agoadd debug message to trace match deletions
Michael Stapelberg [Sat, 14 Dec 2013 17:33:18 +0000 (18:33 +0100)]
add debug message to trace match deletions

10 years agoload_layout.c: use *LOG instead of (f)printf
Michael Stapelberg [Sat, 14 Dec 2013 15:28:54 +0000 (16:28 +0100)]
load_layout.c: use *LOG instead of (f)printf

10 years agoallow parsing multiple nodes from a json layout
Michael Stapelberg [Sat, 14 Dec 2013 15:25:54 +0000 (16:25 +0100)]
allow parsing multiple nodes from a json layout

10 years agoGET_TREE: serialize container type into a string
Michael Stapelberg [Sat, 14 Dec 2013 13:50:44 +0000 (14:50 +0100)]
GET_TREE: serialize container type into a string

So far, this was blessed for internal use only (by virtue of not being
in the documentation), but we want to expose it for the stored layouts.

10 years agolayout restore: support more criteria, match only once (+test)
Michael Stapelberg [Sat, 14 Dec 2013 10:44:06 +0000 (11:44 +0100)]
layout restore: support more criteria, match only once (+test)

10 years agolayout loading: allow comments in JSON files
Michael Stapelberg [Sat, 14 Dec 2013 09:43:49 +0000 (10:43 +0100)]
layout loading: allow comments in JSON files

10 years agotests: add simple layout restore test
Michael Stapelberg [Sat, 14 Dec 2013 09:42:01 +0000 (10:42 +0100)]
tests: add simple layout restore test

10 years agoswallows: value needs to be loaded as regular expression
Michael Stapelberg [Sat, 14 Dec 2013 09:41:44 +0000 (10:41 +0100)]
swallows: value needs to be loaded as regular expression

10 years agouse splith as default when restoring a layout
Michael Stapelberg [Sat, 14 Dec 2013 09:41:03 +0000 (10:41 +0100)]
use splith as default when restoring a layout

This frees users from specifying layouts even when they don’t make any
difference, e.g. leaf nodes.

10 years agodebian/: add placeholder commit
Michael Stapelberg [Sun, 22 Dec 2013 20:39:15 +0000 (21:39 +0100)]
debian/: add placeholder commit

10 years agoMerge branch 'next'
Michael Stapelberg [Sun, 22 Dec 2013 20:14:21 +0000 (21:14 +0100)]
Merge branch 'next'

10 years agoMerge branch 'release-4.7' into next
Michael Stapelberg [Sun, 22 Dec 2013 20:14:15 +0000 (21:14 +0100)]
Merge branch 'release-4.7' into next

10 years agoadd release notes for v4.7 4.7
Michael Stapelberg [Sun, 22 Dec 2013 20:12:10 +0000 (21:12 +0100)]
add release notes for v4.7

10 years agoMerge branch 'fix-active'
Michael Stapelberg [Sat, 21 Dec 2013 20:32:55 +0000 (21:32 +0100)]
Merge branch 'fix-active'

10 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 21 Dec 2013 20:32:55 +0000 (21:32 +0100)]
Merge branch 'master' into next

10 years agoBugfix: ignore _NET_ACTIVE_WINDOW for scratchpad windows (Thanks mistnim)
Michael Stapelberg [Sat, 21 Dec 2013 20:32:23 +0000 (21:32 +0100)]
Bugfix: ignore _NET_ACTIVE_WINDOW for scratchpad windows (Thanks mistnim)

fixes: #1136

10 years agoi3bar: Print error message when status_command fails
Tony Crisci [Sun, 15 Dec 2013 09:21:18 +0000 (04:21 -0500)]
i3bar: Print error message when status_command fails

Add a function to i3bar to print an error message in the status line
when the child process invoked by status_command fails to provide
input that can be displayed as a statusline.

When the child provides JSON that cannot be parsed, alert the user and
convey a short message provided by yajl communicating the specific
problem.

When the child (or the shell executing the status command) exits
unexpectedly, alert the user and display the exit code. The cases where
the status command is not executable or not found in the user's PATH are
treated specially.

fixes #1130

10 years agouserguide: explain the difference between comma and semicolon for command chaining
Michael Stapelberg [Wed, 11 Dec 2013 18:46:41 +0000 (19:46 +0100)]
userguide: explain the difference between comma and semicolon for command chaining

10 years agoRemove pointer warp from test boilerplate
Tony Crisci [Fri, 6 Dec 2013 06:36:29 +0000 (01:36 -0500)]
Remove pointer warp from test boilerplate

Remove the line to warp the pointer to (0, 0) in `new-test` helper
script, which is used to create new tests.

Since 4.6-g0634766, testcases may assume at the start of the test that
the pointer begins at position (0, 0).

10 years agoTestcases: init pointer in a predictable position
Tony Crisci [Mon, 2 Dec 2013 23:06:19 +0000 (18:06 -0500)]
Testcases: init pointer in a predictable position

Tests may disturb the pointer in their normal operation that may lead to
unexpected results in later tests using that display. Reset the pointer
before a test begins to (0, 0) to save test developers from related
"gotchas" and reduce multi-monitor test boilerplate.

10 years agoRefactor and improve test 514
Tony Crisci [Mon, 2 Dec 2013 16:23:52 +0000 (11:23 -0500)]
Refactor and improve test 514

Split test 514's assertion into three assertions to make it more
explicit what is being tested, and why a run might fail.

Move critical test code out of the event handler to clarify flow and
allow a query of the actual current workspace to use in assertions.

Works around an issue which caused this test to fail spurriously because
of pointer-related quirks in the i3 test suite which would sometimes
cause i3 to open on workspace 2 (However, the test is now agnostic to
the initial workspace or output).

10 years agoi3bar: Group child processes for signalling
Tony Crisci [Sun, 1 Dec 2013 06:37:43 +0000 (01:37 -0500)]
i3bar: Group child processes for signalling

Set the process group id of the child process by calling `setpgid` after
forking and before calling `exec`.

The process group ID will be set to the process ID of the forked
process. Processes spawned by this child process will also have this
group ID.

Send signals to the process group with `killpg`. This will send the
signal to all of the process group.

fixes #1128

10 years agoRemove flex/bison from common.mk since they aren't used anymore
Jean-Philippe Ouellet [Wed, 27 Nov 2013 04:13:30 +0000 (23:13 -0500)]
Remove flex/bison from common.mk since they aren't used anymore

10 years agoi3bar: Realign tray clients on map/unmap notify
Tony Crisci [Sun, 24 Nov 2013 04:09:01 +0000 (23:09 -0500)]
i3bar: Realign tray clients on map/unmap notify

UnmapNotify events are interpreted by i3bar as an action taken by an
application to hide its tray window. Likewise, MapNotify events are
interpreted as an action taken by by an application to show its tray
window.

The actual cause of these events may be the application itself, or the
result of some action taken by i3bar itself at the request of the
application in the course of the XEmbed protocol.

We respond by adjusting the size of the tray window and realigning any
tray clients that remain. This will make room for the mapping window or
close the gap left by the unmapping window when the bar is redrawn.

fixes #1110

11 years agolibi3/root_atom_contents: handle data of arbitrary length
Lancelot SIX [Sat, 23 Nov 2013 11:03:55 +0000 (12:03 +0100)]
libi3/root_atom_contents: handle data of arbitrary length

Handle data fetched from xcb_get_property_unchecked with arbitrary
length. This avoids having to rely on PATH_MAX macro where it is not
necessary.

11 years agoignore symbol files on OS X (only for debugging, breaks git-add -A)
Jean-Philippe Ouellet [Tue, 26 Nov 2013 10:50:35 +0000 (05:50 -0500)]
ignore symbol files on OS X (only for debugging, breaks git-add -A)

11 years agofix the build on OS X
Jean-Philippe Ouellet [Tue, 26 Nov 2013 10:41:56 +0000 (05:41 -0500)]
fix the build on OS X

OS X doesn't have posix_fallocate() yet, so put
bf760d0241f0f078735e230b4bf6da4fc83368fe in
    #if defined(__APPLE__)

the cd fails with:
    /bin/sh: line 0: cd: include: No such file or directory
so give it a path relative to the top directory

11 years agolibi3/root_atom_contents: Free xcb reply structures
Lancelot SIX [Sat, 23 Nov 2013 10:56:28 +0000 (11:56 +0100)]
libi3/root_atom_contents: Free xcb reply structures

Free memory allocated during xcb calls.

11 years agoRemove references to PATH_MAX macro
Lancelot SIX [Thu, 21 Nov 2013 21:03:49 +0000 (22:03 +0100)]
Remove references to PATH_MAX macro

Since the macro PATH_MAX is not defined on every system (GNU/Hurd being
one of those who do not define it), we remove all references to this
macro. Instead, we use a buffer of arbitraty size and grow it when
needed to contain paths.

11 years agopersist root window’s background contents to a pixmap
Michael Stapelberg [Sun, 24 Nov 2013 12:44:30 +0000 (13:44 +0100)]
persist root window’s background contents to a pixmap

The commit title is fairly technical, so I’ll try to explain.

Recently, users of GDM3 (I’m sure) and LightDM (I think) have reported
that when switching to a new workspace, the contents of the previous
workspace are still visible. i3bar updates, though, so it is the X11
root window which is not being updated here.

When using GDM3, X11 will be started with -background none, and no
background pixmap or pixel is set. Then, apparently,
gnome-settings-daemon will display a fade animation from whatever is
currently on the window to the destination contents. I think this is to
avoid flickering when logging in, which would occur when just setting a
specific background pixmap or pixel.

So, this commit will, when i3 starts first (not on restarts), copy the
contents of the X11 root window (typicall a grey background, at least on
my machine with GDM3) into a pixmap and set that pixmap as background
pixmap. That way, the content will be preserved and one has a
background, instead of what is perceived as a bug :).

This commit has some chance of breakage, so I’m prepared to revert it
unless we can figure out the issues and roll forward.

11 years agoi3bar: Handle DestroyNotify events
Tony Crisci [Sat, 23 Nov 2013 02:22:56 +0000 (21:22 -0500)]
i3bar: Handle DestroyNotify events

Handle DestroyNotify events by removing the tray client from the tray
client list held in memory.

This change is intended to be part of the i3bar's implementation of the
XEmbed protocol. For more information, see:

<http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html>

According to the XEmbed protocol specification, this is one way for a
tray client to finish the protocol. After this event is received, i3bar
should have no more interaction with the tray client.

11 years agoMerge branch 'fix-urgent-crash'
Michael Stapelberg [Fri, 22 Nov 2013 16:09:28 +0000 (17:09 +0100)]
Merge branch 'fix-urgent-crash'

11 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 22 Nov 2013 16:09:28 +0000 (17:09 +0100)]
Merge branch 'master' into next

11 years agoRemove-child callback skips output content cons
Tony Crisci [Fri, 22 Nov 2013 15:00:49 +0000 (10:00 -0500)]
Remove-child callback skips output content cons

Every container 'above' (in the hierarchy) the workspace content should
not be closed when the last child was removed.

Add a check for output content containers and do not handle them. These
cons are at the root of the output container with dockarea siblings.
They may be run through this callback when an output is killed with
RandR.

Fixes an issue that caused content cons to become urgent when the output
is killed with RandR.

fixes: #1121

11 years agomake i3bar use libi3’s root_atom_contents()
Michael Stapelberg [Fri, 22 Nov 2013 14:48:45 +0000 (15:48 +0100)]
make i3bar use libi3’s root_atom_contents()

This removes code duplication, which will be useful for a subsequent
commit.

Furthermore, we now don’t open X11 connections unnecessarily in some
corner cases.

11 years agot/516-move: use window id, fix typo
Michael Stapelberg [Tue, 19 Nov 2013 19:28:32 +0000 (20:28 +0100)]
t/516-move: use window id, fix typo

11 years agoCommand 'move <direction>' moves across outputs
Tony Crisci [Wed, 13 Nov 2013 08:39:32 +0000 (03:39 -0500)]
Command 'move <direction>' moves across outputs

When 'move <direction>' is issued in the context of a container that
borders a workspace, and there is no suitable place within this
workspace for which this container can move, move the container to the
closest output in this direction instead.

11 years agorefactor previous commit’s new code into a function, add log message
Michael Stapelberg [Mon, 18 Nov 2013 22:17:44 +0000 (23:17 +0100)]
refactor previous commit’s new code into a function, add log message

11 years agolibi3/font: Set DPI for the pango context
Bas Pape [Wed, 13 Nov 2013 19:23:35 +0000 (20:23 +0100)]
libi3/font: Set DPI for the pango context

The pango font specification accepts a font size in points, but pango
defaults to a DPI of 96. Create a default PangoContext (which
internally creates a default PangoCairoFontMap as usual) and set the
DPI to the value of the root Screen manually.

Fixes #1115

11 years agoUpdate userguide on multiple criteria
Trung Ngo [Sun, 10 Nov 2013 09:10:17 +0000 (16:10 +0700)]
Update userguide on multiple criteria

Change wording, add an example for multiple criteria and move
the sentence explaining the Firefox example into the code listing
block.

11 years agoAdd sensible discretion to UnmapNotify drag abort
Tony Crisci [Sat, 9 Nov 2013 17:51:44 +0000 (12:51 -0500)]
Add sensible discretion to UnmapNotify drag abort

Only abort a drag action on UnmapNotify when the unmapping window is
managed on the current workspace.

fixes #1108

11 years agoi3bar: Simplify hide mode logic
Tony Crisci [Wed, 30 Oct 2013 04:16:13 +0000 (00:16 -0400)]
i3bar: Simplify hide mode logic

When determining whether to hide or unhide the bar on redraw in hide
mode, use simpler rules. When the config specifies the 'show' state or a
workspace is urgent, or if the caller requests it, or the modifier is
pressed, show the bar. Otherwise, hide the bar.

11 years agoReturn DRAG_ABORT on UnmapNotify from drag_pointer
Tony Crisci [Fri, 1 Nov 2013 00:36:31 +0000 (20:36 -0400)]
Return DRAG_ABORT on UnmapNotify from drag_pointer

Add DRAG_ABORT to enum drag_result_t. DRAG_ABORT will indicate the drag
operation cannot be completed.

Return DRAG_ABORT on UnmapNotify, or when the keyboard or pointer cannot
be grabbed.

Add DRAGGING to return value for drag_result_t. DRAGGING is used
internally by drag_pointer to indicate the drag is in progress.

Change DRAG_CANCEL to DRAG_REVERT to clarify the distinction between
"abort" and "revert/cancel" actions.

Fixes an issue that caused i3 to crash when a user is dragging or
resizing a floating window that becomes destroyed.

11 years agoUse _PATH_BSHELL to ensure using a bourne shell
Baptiste Daroussin [Fri, 8 Nov 2013 20:13:35 +0000 (21:13 +0100)]
Use _PATH_BSHELL to ensure using a bourne shell

[Michael]
This commit should fix problems with people using a non-bourne shell as
login shell, e.g. fish or rc. AFAICT, $SHELL should only be used for
interactive shells, but we just want a bourne shell, not an interactive
shell.

11 years agoUpdate comment for the con_toggle_fullscreen method
jj [Tue, 22 Oct 2013 12:12:24 +0000 (14:12 +0200)]
Update comment for the con_toggle_fullscreen method

11 years agoFix output retrieval for floating cons
jj [Tue, 22 Oct 2013 11:17:23 +0000 (13:17 +0200)]
Fix output retrieval for floating cons

When focusing/moving to outputs, the method of getting the correct
output for a given container fails if the container in question is
floating and only partially mapped on an output screen. This patch
introduces a fail-safe retrieval of the output for any container.

11 years agoAdd `.clang_complete` and `Xdummy.so` to gitignore
Tony Crisci [Wed, 23 Oct 2013 16:57:32 +0000 (12:57 -0400)]
Add `.clang_complete` and `Xdummy.so` to gitignore

Adds two files to gitignore.

`.clang_complete` is created by the clang_complete vim plugin
[https://github.com/Rip-Rip/clang_complete]

`Xdummy.so` is created by compiling the Xdummy module.

11 years agoi3bar: Only configure tray on own outputs
Tony Crisci [Sun, 20 Oct 2013 11:51:50 +0000 (07:51 -0400)]
i3bar: Only configure tray on own outputs

If the config specifies a `tray_output` not in the list of outputs over
which this bar will span, do not initialize a tray for the bar.

Fixes former behavior, which was to initialize the tray without showing
the icons, causing disapearing tray icons in multi-monitor environments
when `tray_output` isnt `output`.

11 years agoAssigned windows open urgent when not visible
Tony Crisci [Thu, 17 Oct 2013 02:44:56 +0000 (22:44 -0400)]
Assigned windows open urgent when not visible

When i3 begins to manage a window, if the window opens on a workspace
that is not visible, the urgency hint on the newly managed window will
be set.

fixes #1088

11 years agoTestcases: Use AnyEvent::I3 version 0.15
Tony Crisci [Sat, 19 Oct 2013 00:02:17 +0000 (20:02 -0400)]
Testcases: Use AnyEvent::I3 version 0.15

Use the latest version of AnyEvent::I3, version 0.15, which includes
support for the `window` event tag.

11 years agoTestcases: new-test prints usage without input
Tony Crisci [Thu, 17 Oct 2013 11:20:35 +0000 (07:20 -0400)]
Testcases: new-test prints usage without input

Prevent the accidental creation of new tests with empty names by
printing usage information for new-test when the test name would be
empty.

11 years agoTestcases: remove "latest" if it is a symbolic link
Tony Crisci [Tue, 15 Oct 2013 07:36:12 +0000 (03:36 -0400)]
Testcases: remove "latest" if it is a symbolic link

Test for the existence of the symlink to "latest" with the -l flag,
which tests if the target is a symbolic link. Testing with the -e flag
will fail in case the link points to a file that does not exist, which
will occur if the test result directories are deleted by hand.

11 years agoCorrect typos in user guide
Alexander Neumann [Sun, 13 Oct 2013 20:52:01 +0000 (22:52 +0200)]
Correct typos in user guide

11 years agoFix command parser: resizing tiling windows
jj [Wed, 9 Oct 2013 20:30:41 +0000 (22:30 +0200)]
Fix command parser: resizing tiling windows

i3 would accept an invalid resize command like 'resize shrink width 10
px or' without specifying the ppt value, and then crash. This patch
fixes the parser specification.

11 years agoi3-nagbar: Set button inner-width to the width of the label
Tony Crisci [Mon, 7 Oct 2013 16:06:28 +0000 (12:06 -0400)]
i3-nagbar: Set button inner-width to the width of the label

Use predict_text_width to find the width of the label and then account
for right padding when calculating the width of the button.

11 years agoprevious commit: extend test and code to also work with floating windows
Michael Stapelberg [Sun, 13 Oct 2013 15:57:50 +0000 (17:57 +0200)]
previous commit: extend test and code to also work with floating windows

11 years agoFix endless loop when trying to kill a visible workspace
jj [Fri, 11 Oct 2013 18:12:05 +0000 (20:12 +0200)]
Fix endless loop when trying to kill a visible workspace

This regression was introduced with commit
97b086efd9833d2a787e54417789b279143e43a6

fixes #1103

11 years agoTestcases: ignore Xorg config dir when starting Xdummy
Tony Crisci [Fri, 11 Oct 2013 19:52:25 +0000 (15:52 -0400)]
Testcases: ignore Xorg config dir when starting Xdummy

Start Xdummy with '-configdir /dev/null' to avoid conflicting settings
in xorg.conf.d.

11 years agoUpdate docs/hacking-howto to reflect parser changes
Peter Maatman [Fri, 11 Oct 2013 20:54:37 +0000 (22:54 +0200)]
Update docs/hacking-howto to reflect parser changes

11 years agoAdd quoting for sample command
Alexander Neumann [Sun, 13 Oct 2013 13:18:20 +0000 (15:18 +0200)]
Add quoting for sample command

The user's guide talks about renaming workspaces, for example to
"2: mail", and a sample key binding for use with i3-input is supplied.
However, this example lacks proper quoting for the format string, so
that when workspace name with a space in it, like "2: mail", is given,
the current workspace is renamed to "2:". This patch adds proper
quoting.

11 years agoMerge branch 'fix-extents'
Michael Stapelberg [Wed, 9 Oct 2013 17:49:48 +0000 (19:49 +0200)]
Merge branch 'fix-extents'

11 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 9 Oct 2013 17:49:48 +0000 (19:49 +0200)]
Merge branch 'master' into next

11 years agoReply to _NET_REQUEST_FRAME_EXTENTS correctly
Tony Crisci [Wed, 9 Oct 2013 16:49:15 +0000 (12:49 -0400)]
Reply to _NET_REQUEST_FRAME_EXTENTS correctly

Reply to _NET_REQUEST_FRAME_EXTENTS by settings _NET_FRAME_EXTENTS
property of the window to widths of the respective borders added by i3.

fixes #1093
fixes #1069

11 years agoOnly abort resizing on KeyPress, not KeyRelease (Thanks vandannen)
Michael Stapelberg [Tue, 1 Oct 2013 05:21:40 +0000 (07:21 +0200)]
Only abort resizing on KeyPress, not KeyRelease (Thanks vandannen)

Otherwise, releasing a key that was used to trigger the resizing (e.g.
the modifier key) needs to be pressed all the time.

11 years agoDo not resize/reposition floating containers when moving them to scratchpad
jj [Fri, 27 Sep 2013 09:03:52 +0000 (11:03 +0200)]
Do not resize/reposition floating containers when moving them to scratchpad

11 years agoAdd ability to escape out of a mouse-resize operation
Tony Crisci [Thu, 26 Sep 2013 00:52:59 +0000 (20:52 -0400)]
Add ability to escape out of a mouse-resize operation

Implement #1074. drag_cancel grabs the keyboard and returns DRAG_CANCEL
when the user presses any key during the grab.

11 years agolibi3/font: Draw the text at the expected place
Quentin Glidic [Fri, 27 Sep 2013 13:55:49 +0000 (15:55 +0200)]
libi3/font: Draw the text at the expected place

When drawing a text with Pango, shift it to the top according to the top
if the glyph if taller than expected
We always shift of (height - savedHeight) which is a no-op for normal glyphs

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
11 years agoFix keyboard and mouse resize in nested containers
jj [Tue, 24 Sep 2013 13:46:58 +0000 (15:46 +0200)]
Fix keyboard and mouse resize in nested containers

fixes #1084
fixes #1085

11 years agoreduce some yajl boilerplate
Vivien Didelot [Wed, 25 Sep 2013 21:17:38 +0000 (17:17 -0400)]
reduce some yajl boilerplate

This patch introduces a yerror() macro in src/commands.c and also
removes some unused yajl helper macros from src/config_directives.c.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
11 years agoImprove error message when $XDG_RUNTIME_DIR is not writable
Michael Stapelberg [Wed, 25 Sep 2013 17:33:28 +0000 (19:33 +0200)]
Improve error message when $XDG_RUNTIME_DIR is not writable

11 years agotests: move set_wm_class to X11::XCB::Window
Michael Stapelberg [Tue, 24 Sep 2013 19:53:48 +0000 (21:53 +0200)]
tests: move set_wm_class to X11::XCB::Window

This code was duplicated way too often for a long time :)

11 years agoMerge branch 'fix-urgency-assign'
Michael Stapelberg [Tue, 24 Sep 2013 05:48:09 +0000 (07:48 +0200)]
Merge branch 'fix-urgency-assign'

11 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 24 Sep 2013 05:48:09 +0000 (07:48 +0200)]
Merge branch 'master' into next

11 years agoBugfix: correctly recognize assigned windows as urgent (Thanks jookia)
Michael Stapelberg [Tue, 24 Sep 2013 05:47:36 +0000 (07:47 +0200)]
Bugfix: correctly recognize assigned windows as urgent (Thanks jookia)

fixes #1086

11 years agoAdd new bar.binding_mode_indicator configuration.
syl20bnr [Fri, 9 Aug 2013 03:30:14 +0000 (23:30 -0400)]
Add new bar.binding_mode_indicator configuration.

i3 current behavior hides the binding mode indicator when
workspace buttons are disabled.
This patch adds a new configuration for i3bar called
'binding_mode_indicator' which acts like the workspace_buttons.
It is now possible to configure i3bar to hide the
workspace buttons and keep showing the binding mode indicator.
This should make the hide workspace buttons configuration
more convenient for those who are heavily using binding
modes.
Default value for binding_mode_indicator is true.

11 years agoClose all children when closing a workspace
jj [Thu, 19 Sep 2013 12:34:02 +0000 (14:34 +0200)]
Close all children when closing a workspace

fixes #591

11 years agotests: also get rid of smartmatch in complete-run.pl
Michael Stapelberg [Tue, 24 Sep 2013 04:37:40 +0000 (06:37 +0200)]
tests: also get rid of smartmatch in complete-run.pl

11 years agoFix handling of new windows with WM_STATE_FULLSCREEN
jj [Wed, 18 Sep 2013 18:06:48 +0000 (20:06 +0200)]
Fix handling of new windows with WM_STATE_FULLSCREEN

If the currently focused window is in fullscreen mode, and a new window
is opened with WM_STATE_FULLSCREEN set, the new window now becomes the
new fullscreen window and gains focus.

11 years agotests: fix setting the urgency hint
Michael Stapelberg [Tue, 24 Sep 2013 04:36:08 +0000 (06:36 +0200)]
tests: fix setting the urgency hint

X11::XCB < 0.08 had a bug which caused this code to work even though it
shouldn’t.

11 years agoi3test: get rid of the smartmatch operator, it’s experimental since perl 5.18
Michael Stapelberg [Tue, 24 Sep 2013 04:35:51 +0000 (06:35 +0200)]
i3test: get rid of the smartmatch operator, it’s experimental since perl 5.18

11 years agoman/i3-dump-log: document -f (Thanks TonyC)
Michael Stapelberg [Sat, 21 Sep 2013 22:08:27 +0000 (00:08 +0200)]
man/i3-dump-log: document -f (Thanks TonyC)

11 years agoAdd scratchpad bindings to the default config.
Deiz [Sat, 14 Sep 2013 18:57:42 +0000 (14:57 -0400)]
Add scratchpad bindings to the default config.

11 years agoClarify userguide description of urgent_workspace configuration
James Baumgarten [Mon, 9 Sep 2013 02:30:39 +0000 (19:30 -0700)]
Clarify userguide description of urgent_workspace configuration