]> git.sur5r.net Git - i3/i3/log
i3/i3
6 years agoMerge pull request #3101 from tpraxl/feature/workspace-variables
Ingo Bürk [Tue, 2 Jan 2018 08:34:54 +0000 (09:34 +0100)]
Merge pull request #3101 from tpraxl/feature/workspace-variables

Add workspace vars to support DRY when customizing

6 years agoMerge pull request #3105 from clonejo/feat/pango-markup
Ingo Bürk [Wed, 27 Dec 2017 17:22:32 +0000 (18:22 +0100)]
Merge pull request #3105 from clonejo/feat/pango-markup

Docs: state that pango markup in i3bar requires the use of a pango font.

6 years agoDocs: state that pango markup requires the use of a pango font. 3105/head
clonejo [Wed, 27 Dec 2017 16:40:47 +0000 (17:40 +0100)]
Docs: state that pango markup requires the use of a pango font.

6 years agoShorten comment for workspace variables 3101/head
Thomas Praxl [Tue, 26 Dec 2017 10:29:42 +0000 (11:29 +0100)]
Shorten comment for workspace variables

The old comments gave the impression that you had to define workspace names upfront, which is not true. This also keeps the overall config as brief as possible.

6 years agoMerge pull request #3100 from jolange/fix3086
Ingo Bürk [Mon, 25 Dec 2017 08:52:09 +0000 (09:52 +0100)]
Merge pull request #3100 from jolange/fix3086

free last_motion_notify before returning

6 years agofree last_motion_notify before returning 3100/head
Johannes Lange [Sun, 24 Dec 2017 08:40:23 +0000 (09:40 +0100)]
free last_motion_notify before returning

fixes #3086

6 years agoAdd workspace vars to support DRY when customizing
Thomas Praxl [Sat, 23 Dec 2017 11:28:03 +0000 (12:28 +0100)]
Add workspace vars to support DRY when customizing

Relabeling the workspaces required the user to update the labels at least in two places of the i3 config file (switch to workspace + move focused container to workspace) to keep a consistent state.

This got even worse when the user started to reference the workspaces elsewhere, e.g. for assigning containers to specific workspaces.

This change supports the DRY principle for users. Relabeling the workspaces is now merely a matter of changing the respective variable ($ws1, $ws2, … $ws10).

6 years agoMerge pull request #3095 from pallavagarwal07/next
Ingo Bürk [Wed, 20 Dec 2017 17:33:21 +0000 (18:33 +0100)]
Merge pull request #3095 from pallavagarwal07/next

Add support for relative coordinates in i3bar click events

6 years agoAdd relative coordinates in JSON for i3bar click events (fixes #2767) 3095/head
Pallav Agarwal [Wed, 20 Dec 2017 12:19:38 +0000 (17:49 +0530)]
Add relative coordinates in JSON for i3bar click events (fixes #2767)

Add support for relative coordinates in i3bar click events

Rename {x,y}_rel to relative_{x,y}

Update i3bar-protocol doc to mention the added fields in click events

6 years agoMerge pull request #2969 from orestisf1993/issue-1819
Michael Stapelberg [Mon, 18 Dec 2017 07:54:45 +0000 (08:54 +0100)]
Merge pull request #2969 from orestisf1993/issue-1819

Make 'focus' disable blocking fullscreen windows

6 years agoMerge pull request #3079 from orestisf1993/generate-command-parser
Ingo Bürk [Tue, 12 Dec 2017 15:49:48 +0000 (16:49 +0100)]
Merge pull request #3079 from orestisf1993/generate-command-parser

 generate-command-parser.pl: remove trailing characters

6 years agoMake 'focus' disable blocking fullscreen windows 2969/head
Orestis Floros [Sat, 16 Sep 2017 23:20:48 +0000 (02:20 +0300)]
Make 'focus' disable blocking fullscreen windows

The problem here is that con_fullscreen_permits_focusing() does not
check if there is a blocking fullscreen container in the workspace that
the container to be focused belongs. This makes it possible to focus a
container behind a fullscreen window if it's in an unfocused workspace.

This commit introduces a change in the 'focus' command behaviour. When
focusing a container blocked by a fullscreen container, either CF_OUTPUT
or CF_GLOBAL, the blocking container loses its fullscreen mode and the
target container is focused like normal.

This should not affect directional focus commands: left, right, up,
down, parent, child.

Fixes issue #1819.

6 years agouserguide: mention <criteria> in focus
Orestis Floros [Sat, 23 Sep 2017 10:09:08 +0000 (13:09 +0300)]
userguide: mention <criteria> in focus

6 years agoMove is_num_fullscreen to Test.pm
Orestis Floros [Tue, 19 Sep 2017 06:56:53 +0000 (09:56 +0300)]
Move is_num_fullscreen to Test.pm

6 years agoAdd error reply to cmd_focus_window_mode
Orestis Floros [Tue, 19 Sep 2017 11:52:02 +0000 (14:52 +0300)]
Add error reply to cmd_focus_window_mode

6 years agoUse con_has_parent in con_fullscreen_permits_focusing
Orestis Floros [Mon, 18 Sep 2017 10:22:01 +0000 (13:22 +0300)]
Use con_has_parent in con_fullscreen_permits_focusing

6 years agogenerate-command-parser.pl: remove trailing whitespace 3079/head
Orestis Floros [Sun, 10 Dec 2017 19:30:09 +0000 (21:30 +0200)]
generate-command-parser.pl: remove trailing whitespace

6 years agogenerate-command-parser.pl: remove trailing comma
Orestis Floros [Sun, 10 Dec 2017 19:29:56 +0000 (21:29 +0200)]
generate-command-parser.pl: remove trailing comma

6 years agoMerge pull request #3078 from orestisf1993/issue-3075
Ingo Bürk [Sun, 10 Dec 2017 21:02:10 +0000 (22:02 +0100)]
Merge pull request #3078 from orestisf1993/issue-3075

Fix sticky-related crash (#3075)

6 years agoPrevent access of freed workspace in _workspace_show 3078/head
Orestis Floros [Sat, 9 Dec 2017 20:17:48 +0000 (22:17 +0200)]
Prevent access of freed workspace in _workspace_show

The bug triggers when _workspace_show calls tree_close_internal and
old == old_focus. Ie, when the old workspace was empty and needs to be
closed but then is accessed as output_push_sticky_windows's argument:
Breakpoint 1, output_push_sticky_windows (to_focus=0x55555589c8a0) at ../../i3/src/output.c:102
102                     con_move_to_workspace(current, visible_ws, true, false, current != to_focus->parent);
(gdb) print con_exists(to_focus)
$1 = false

The access violation can also be prevented by checking if
con_exists(old_focus) but it shouldn't be necessary: the old_focus
container can only be killed when it is an empty workspace.

With --enable-sanitizers this causes i3 to exit but with
--disable-sanitizers the access violation doesn't reliably cause a crash
and the con_move_to_workspace call continues with:
(gdb) print current != to_focus->parent
$2 = 1

Since current->type is CT_FLOATING_CON and to_focus->type is
CT_WORKSPACE, in this specific case ignore_focus would always be true.
So, in this case, passing NULL instead of old_focus to
output_push_sticky_windows doesn't change the behaviour of i3.

Fixes #3075.

6 years agoMerge pull request #3076 from orestisf1993/v3-to-v4-issue
Ingo Bürk [Sat, 9 Dec 2017 18:42:30 +0000 (19:42 +0100)]
Merge pull request #3076 from orestisf1993/v3-to-v4-issue

minor V3 to v4 issues

6 years agomigrate_config: scalloc converted config 3076/head
Orestis Floros [Sat, 9 Dec 2017 17:56:54 +0000 (19:56 +0200)]
migrate_config: scalloc converted config

Prevents a false-positive error eg with config file:
set $mod Mod4
bindsym $mod+h split h
bindsym $mod+v split v

ERROR: CONFIG: Expected one of these tokens: <end>, '#', 'set ', ...
ERROR: CONFIG: Line   8:     status_command i3status
ERROR: CONFIG: Line   9: }
ERROR: CONFIG: Line  10: <BE><BE><BE><BE><BE><BE>

6 years agoFix v3 to v4 crash with a variable with longer name than value
Orestis Floros [Sat, 9 Dec 2017 17:50:43 +0000 (19:50 +0200)]
Fix v3 to v4 crash with a variable with longer name than value

6 years agoMerge pull request #3074 from orestisf1993/issue-2921
Ingo Bürk [Sat, 9 Dec 2017 14:52:01 +0000 (15:52 +0100)]
Merge pull request #3074 from orestisf1993/issue-2921

Fix workspace_show-related issues

6 years agoShow workspace in _tree_next 3074/head
Orestis Floros [Sat, 9 Dec 2017 14:28:30 +0000 (16:28 +0200)]
Show workspace in _tree_next

Fixes a regression introduced by #2980.

6 years agoRemove useless check in _tree_next
Orestis Floros [Sat, 9 Dec 2017 14:25:30 +0000 (16:25 +0200)]
Remove useless check in _tree_next

con_descend_focused on an empty workspace should return the workspace.

6 years agofloating_maybe_reassign_ws: show workspace before focusing
Orestis Floros [Sat, 9 Dec 2017 13:35:05 +0000 (15:35 +0200)]
floating_maybe_reassign_ws: show workspace before focusing

With this change i3 will correctly switch to the focused workspace.
This fixes bug with moving floating windows with 'move <direction>' or by dragging like _NET_CURRENT_DESKTOP not getting updated or 'workspace back_and_forth' not working.

Fixes #2921.

6 years agoMerge pull request #3073 from veselov/i3-3072
Ingo Bürk [Sat, 9 Dec 2017 14:34:13 +0000 (15:34 +0100)]
Merge pull request #3073 from veselov/i3-3072

Fixes #3072, Xft.dpi can be floating point

6 years agoFixes #3072, Xft.dpi can be floating point 3073/head
Pawel S. Veselov [Sat, 9 Dec 2017 14:12:25 +0000 (15:12 +0100)]
Fixes #3072, Xft.dpi can be floating point

6 years agoMerge pull request #3070 from orestisf1993/issue-3068
Ingo Bürk [Fri, 8 Dec 2017 13:29:17 +0000 (14:29 +0100)]
Merge pull request #3070 from orestisf1993/issue-3068

Add '--release' flag for bindsym in the bar block

6 years agoAdd '--release' flag for bindsym in the bar block 3070/head
Orestis Floros [Fri, 8 Dec 2017 00:23:15 +0000 (02:23 +0200)]
Add '--release' flag for bindsym in the bar block

i3bar's handle_button is modified to also handle XCB_BUTTON_RELEASE
events. During these button release events, only custom commands are
checked to avoid sending multiple workspace ipc messages.

The way this patch is implemented will allow to assign a custom command
for both the press and release of the same button:
bar {
  ...
  bindsym buttonX exec command1
  bindsym --release buttonX exec command2
}

Fixes #3068.

6 years agoMerge pull request #3066 from orestisf1993/xvfb-opt
Ingo Bürk [Tue, 5 Dec 2017 06:29:10 +0000 (07:29 +0100)]
Merge pull request #3066 from orestisf1993/xvfb-opt

complete-run.pl: accept the xvfb option from command line

6 years agocomplete-run.pl: accept the xvfb option from command line 3066/head
Orestis Floros [Mon, 4 Dec 2017 22:22:14 +0000 (00:22 +0200)]
complete-run.pl: accept the xvfb option from command line

6 years agoMerge pull request #3022 from orestisf1993/i3bar-leaks
Ingo Bürk [Sun, 3 Dec 2017 18:51:25 +0000 (19:51 +0100)]
Merge pull request #3022 from orestisf1993/i3bar-leaks

Fix i3bar leaks

6 years agoi3bar: free output data structures 3022/head
Orestis Floros [Tue, 26 Sep 2017 11:50:26 +0000 (14:50 +0300)]
i3bar: free output data structures

6 years agoMerge pull request #3065 from orestisf1993/issue-3064
Ingo Bürk [Sun, 3 Dec 2017 17:46:34 +0000 (18:46 +0100)]
Merge pull request #3065 from orestisf1993/issue-3064

Skip internal workspaces with 'move workspace to output'

6 years agoSkip internal workspaces with 'move workspace to output' 3065/head
Orestis Floros [Fri, 1 Dec 2017 14:12:43 +0000 (16:12 +0200)]
Skip internal workspaces with 'move workspace to output'

Fixes #3064.

6 years agoMerge pull request #3058 from d-e-s-o/fix-FREE
Ingo Bürk [Wed, 29 Nov 2017 07:33:27 +0000 (08:33 +0100)]
Merge pull request #3058 from d-e-s-o/fix-FREE

do not check for NULL in FREE macro

6 years agoPerform proper cleanup for signals with 'Term' action (#3057)
Daniel Mueller [Wed, 29 Nov 2017 07:29:47 +0000 (23:29 -0800)]
Perform proper cleanup for signals with 'Term' action (#3057)

Issue #3049 describes a case where terminating i3 by means of SIGTERM
causes it to leak the runtime directory and all its contents. There are
multiple issues at play: first, any cleanup handlers registered via
atexit are never invoked when a signal terminates the program (see
atexit(3)). Hence, the log SHM log cleanup performed in i3_exit is not
invoked in that case. Second, compared to the shutdown path for the
'exit' command, we do not unlink the UNIX domain socket we create,
causing it to be leaked as well. Third, a handler for SIGTERM is not
registered at all despite handle_signal claiming to be the handler for
all 'Term' signals.
This change addresses all three problems and results in a graceful exit
including cleanup to happen when we receive a signal with the default
action 'Term'. It addresses issue #3049.

6 years agoMerge pull request #3052 from d-e-s-o/remove-magic-numbers
Ingo Bürk [Wed, 29 Nov 2017 07:22:51 +0000 (08:22 +0100)]
Merge pull request #3052 from d-e-s-o/remove-magic-numbers

i3bar: replace magic numbers with more meaningful constructs

6 years agoMerge pull request #3059 from stapelberg/debuglog
Michael Stapelberg [Mon, 27 Nov 2017 07:34:10 +0000 (23:34 -0800)]
Merge pull request #3059 from stapelberg/debuglog

i3-dump-log: enable shmlog on demand

6 years agoshmlog: remote atom when disabled 3059/head
Michael Stapelberg [Sun, 26 Nov 2017 17:07:13 +0000 (18:07 +0100)]
shmlog: remote atom when disabled

6 years agoi3-dump-log: enable shmlog on demand
Michael Stapelberg [Sun, 26 Nov 2017 16:26:40 +0000 (17:26 +0100)]
i3-dump-log: enable shmlog on demand

fixes #3055

6 years agono-op refactoring: make ipc_connect find socket path
Michael Stapelberg [Sun, 26 Nov 2017 15:41:59 +0000 (16:41 +0100)]
no-op refactoring: make ipc_connect find socket path

6 years agodo not check for NULL in FREE macro 3058/head
Daniel Mueller [Thu, 23 Nov 2017 23:41:33 +0000 (15:41 -0800)]
do not check for NULL in FREE macro

free(3) is safe to invoke on a NULL pointer, in which case no action is
taken. This change adjusts the FREE macros to omit this unnecessary
check.

6 years agoMerge pull request #3050 from d-e-s-o/fix-typo
Ingo Bürk [Sat, 18 Nov 2017 18:19:25 +0000 (19:19 +0100)]
Merge pull request #3050 from d-e-s-o/fix-typo

fix typo in src/main.c

6 years agofix typo in src/main.c 3050/head
Daniel Mueller [Sat, 18 Nov 2017 17:48:38 +0000 (09:48 -0800)]
fix typo in src/main.c

6 years agoi3bar: replace magic numbers with more meaningful constructs 3052/head
Daniel Mueller [Fri, 17 Nov 2017 14:58:12 +0000 (06:58 -0800)]
i3bar: replace magic numbers with more meaningful constructs

In i3bar/src/config.c we compare string lengths agains magic numbers.
This change replaces those numbers with the lengths of the strings they
represent.

6 years agoMerge pull request #3041 from d-e-s-o/update-userguide
Ingo Bürk [Fri, 17 Nov 2017 14:09:50 +0000 (15:09 +0100)]
Merge pull request #3041 from d-e-s-o/update-userguide

docs/userguide: Correct mark/goto i3-input commands

6 years agoMerge pull request #3040 from jchook/next
Ingo Bürk [Mon, 13 Nov 2017 21:01:06 +0000 (22:01 +0100)]
Merge pull request #3040 from jchook/next

$mod+r toggles resize mode

6 years agoMerge pull request #3042 from Mayeu/kitty-terminal
Ingo Bürk [Sun, 12 Nov 2017 12:38:52 +0000 (13:38 +0100)]
Merge pull request #3042 from Mayeu/kitty-terminal

add the kitty terminal in i3-sensible-terminal

6 years agoadd the kitty terminal in i3-sensible-terminal 3042/head
Cast [Sun, 12 Nov 2017 08:48:21 +0000 (16:48 +0800)]
add the kitty terminal in i3-sensible-terminal

6 years agodocs/userguide: Correct mark/goto i3-input commands 3041/head
Daniel Mueller [Sun, 12 Nov 2017 01:06:43 +0000 (17:06 -0800)]
docs/userguide: Correct mark/goto i3-input commands

The userguide still mentions an old 'goto' command which no longer
exists and will be ignored silently (when used in the i3 config) or
causes an error to be reported (when invoked from the command line).
This change updates the userguide to correct this problem. In addition
to that it also updates the i3-input command shown to no longer use the
deprecated -p flag but -F instead.

6 years agoBugfix: avert endless loop on unexpected EOF at ipc messages (#3021)
xzfc [Thu, 9 Nov 2017 19:18:23 +0000 (02:18 +0700)]
Bugfix: avert endless loop on unexpected EOF at ipc messages (#3021)

Fix freeze on invalid ipc commands like

    echo -n $'i3-ipc\0\0\0\xa\0\0\0\0focus left' | socat - `i3 --get-socketpath`

Also, treat incomplete headers as IPC violation. Example of incomplete header:

    echo -n i3-ip | socat - `i3 --get-socketpath`

6 years agoMerge pull request #2980 from orestisf1993/issue-1160-pr
Ingo Bürk [Sun, 5 Nov 2017 16:42:31 +0000 (17:42 +0100)]
Merge pull request #2980 from orestisf1993/issue-1160-pr

Use con_descend_focused for workspaces in _tree_next

6 years agoMerge pull request #3030 from tylerbrazier/next
Ingo Bürk [Sun, 5 Nov 2017 16:37:53 +0000 (17:37 +0100)]
Merge pull request #3030 from tylerbrazier/next

config: use ascii single quote

6 years agoMerge pull request #3023 from orestisf1993/issue-2816
Ingo Bürk [Sun, 5 Nov 2017 16:27:48 +0000 (17:27 +0100)]
Merge pull request #3023 from orestisf1993/issue-2816

Add support to resize floating container in percentage

6 years ago$mod+r toggles resize mode 3040/head
Wes Roberts [Tue, 31 Oct 2017 01:19:12 +0000 (21:19 -0400)]
$mod+r toggles resize mode

6 years agoconfig: use ascii single quote 3030/head
Tyler Brazier [Wed, 25 Oct 2017 20:26:44 +0000 (15:26 -0500)]
config: use ascii single quote

The unicode quote doesn’t render very well in terminals that don't
support unicode

6 years agoMerge pull request #3028 from stapelberg/flakes2
Michael Stapelberg [Wed, 25 Oct 2017 06:56:02 +0000 (08:56 +0200)]
Merge pull request #3028 from stapelberg/flakes2

Eliminate causes of flakyness

6 years agoMove XCB event handling into xcb_prepare_cb. 3028/head
Michael Stapelberg [Tue, 3 Oct 2017 08:03:29 +0000 (10:03 +0200)]
Move XCB event handling into xcb_prepare_cb.

Previously, we used ev_check watchers, which are executed at the beginning of an
event loop iteration.

This was problematic if one of the handlers happened to fill the XCB event
queue, e.g. by reading a reply from X11 and an event happened in the meantime.

In that situation, we would hand control to the event loop, entirely ignoring
the pending event. This would manifest itself as a 1-minute hang,
reproducible (sometimes) in the i3 testsuite.

issue #2790 describes an instance of this issue in i3bar, and we fixed that by
changing the watcher priority to run last. Handling events in xcb_prepare_cb has
the same effect, as ev_prepare watchers are run just before the event loop goes
to sleep.

6 years agot/525: remove flaky focus check
Michael Stapelberg [Tue, 3 Oct 2017 15:16:34 +0000 (17:16 +0200)]
t/525: remove flaky focus check

6 years agoi3test: blockingly wait for events
Michael Stapelberg [Tue, 3 Oct 2017 08:02:41 +0000 (10:02 +0200)]
i3test: blockingly wait for events

…as polling the xcb file descriptor directly is not reliable.

6 years agoskip ConfigureNotify events with --force_xinerama
Michael Stapelberg [Tue, 3 Oct 2017 08:00:55 +0000 (10:00 +0200)]
skip ConfigureNotify events with --force_xinerama

This prevents an i3 crash under certain conditions when running the tests.

6 years agoi3test: reliably warp the pointer to (0, 0) before tests start
Michael Stapelberg [Tue, 3 Oct 2017 08:00:05 +0000 (10:00 +0200)]
i3test: reliably warp the pointer to (0, 0) before tests start

6 years agotests: add sync_with_i3 after open_window
Michael Stapelberg [Tue, 3 Oct 2017 07:58:10 +0000 (09:58 +0200)]
tests: add sync_with_i3 after open_window

We need to set dont_map => 1 on the sync window to prevent an endless loop.

Further, t/219-ipc-window-focus.t made assumptions about windows being named
incrementally, and that assumption is broken by the sync window opened by the
first sync_with_i3 call from open_window, so use the more reliable ->name.

6 years ago_NET_ACTIVE_WINDOW: invalidate focus to force SetInputFocus call (#3027)
Michael Stapelberg [Sun, 22 Oct 2017 20:16:15 +0000 (22:16 +0200)]
_NET_ACTIVE_WINDOW: invalidate focus to force SetInputFocus call (#3027)

The sender of the _NET_ACTIVE_WINDOW client message might know better when to
set focus than i3, as i3 does not know about unmanaged (override_redirect=1)
windows.

related to https://github.com/i3/i3lock/issues/35

6 years agoAdd support to resize floating container in percentage 3023/head
Orestis Floros [Tue, 17 Oct 2017 23:04:42 +0000 (02:04 +0300)]
Add support to resize floating container in percentage

resize set is modified to accept both 'px' and 'ppt' height and width.

Fixes #2816.

6 years agoi3bar: avoid possible va_args leak
Orestis Floros [Tue, 26 Sep 2017 09:29:40 +0000 (12:29 +0300)]
i3bar: avoid possible va_args leak

6 years agoi3bar: free fontname
Orestis Floros [Tue, 26 Sep 2017 09:30:03 +0000 (12:30 +0300)]
i3bar: free fontname

6 years agoMerge pull request #2849 from Streetwalrus/next
Ingo Bürk [Sun, 15 Oct 2017 20:23:40 +0000 (22:23 +0200)]
Merge pull request #2849 from Streetwalrus/next

Create a new split container when switching a workspace container to split layout

6 years agodocs: full-size, so-called (#3019)
Michael Stapelberg [Sun, 15 Oct 2017 12:22:41 +0000 (14:22 +0200)]
docs: full-size, so-called (#3019)

As per Michael Siegel, who studied the English language :).

6 years agouserguide: explain why Mod4 is usually preferred (#3018)
Michael Stapelberg [Sun, 15 Oct 2017 10:17:22 +0000 (12:17 +0200)]
userguide: explain why Mod4 is usually preferred (#3018)

6 years agoDefault to L_SPLITH with toggle split when last_split_layout hasn't been initialized 2849/head
Dan Elkouby [Thu, 12 Oct 2017 20:44:25 +0000 (23:44 +0300)]
Default to L_SPLITH with toggle split when last_split_layout hasn't been initialized

6 years agoAdd regression tests for #2846
hwangcc23 [Sun, 6 Aug 2017 15:08:05 +0000 (23:08 +0800)]
Add regression tests for #2846

1). Add one regression test in 167-workspace_layout.t:
    - Get a fresh workspace
    - Set the layout to something
    - Create windows
    - Try to switch to another layout
    - Check if successful
    - Repeat for all 12 possible transitions
2). Add another regression test in 167-workspace_layout.t:
    - Check that the command 'layout toggle split' works regardless of
      what layout we're using

6 years agoCreate a new split container when switching a workspace container to split layout
Dan Elkouby [Sun, 30 Jul 2017 15:49:42 +0000 (18:49 +0300)]
Create a new split container when switching a workspace container to split layout

The behavior before 52ce8c8 was to do it regardless of what layout we're
switching to.

Fixes #2846

6 years agotests: run under Xvfb by default (if available) (#2951)
Michael Stapelberg [Fri, 13 Oct 2017 07:18:49 +0000 (00:18 -0700)]
tests: run under Xvfb by default (if available) (#2951)

This shaves off two seconds of wall-clock time (10s → 8s).

6 years agoFix AnyEvent->timer call (#3008)
Michael Stapelberg [Thu, 5 Oct 2017 20:03:33 +0000 (13:03 -0700)]
Fix AnyEvent->timer call (#3008)

And make the remaining AnyEvent->condvar and AnyEvent->timer calls
consistent.

6 years agodump-asy.pl: use layout instead of orientation for names (#3004)
Orestis [Sat, 30 Sep 2017 17:17:20 +0000 (20:17 +0300)]
dump-asy.pl: use layout instead of orientation for names (#3004)

6 years agoMerge pull request #3005 from stapelberg/tick
Michael Stapelberg [Sat, 30 Sep 2017 17:16:43 +0000 (10:16 -0700)]
Merge pull request #3005 from stapelberg/tick

Implement the tick event

6 years agoFix compilation warnings on all Debian architectures. (#3007)
Michael Stapelberg [Sat, 30 Sep 2017 17:16:21 +0000 (10:16 -0700)]
Fix compilation warnings on all Debian architectures. (#3007)

stbuf.st_size is of type off_t, which the standard defines as “extended signed
integral type”¹, and for which there is no correct printf format string. Hence,
we need to cast it into a hopefully-large-enough type (ugh) and use the
corresponding format string. In our case, int64_t should do it, as config files
really shouldn’t be anywhere close to those numbers.

① http://pubs.opengroup.org/onlinepubs/007908799/xsh/systypes.h.html

6 years agoFix memory leak when config conversion fails (#3006)
Michael Stapelberg [Sat, 30 Sep 2017 17:15:58 +0000 (10:15 -0700)]
Fix memory leak when config conversion fails (#3006)

This happens on an empty config file, for example.

6 years agoSynchronize with i3bar+i3, not just i3. 3005/head
Michael Stapelberg [Sat, 30 Sep 2017 11:04:20 +0000 (13:04 +0200)]
Synchronize with i3bar+i3, not just i3.

6 years agoImplement the tick event
Michael Stapelberg [Sun, 24 Sep 2017 13:40:30 +0000 (15:40 +0200)]
Implement the tick event

This makes our tests less flaky, shorter, and more readable.

fixes #2988

6 years agotests: implement xtest_sync_with_i3
Michael Stapelberg [Sat, 30 Sep 2017 09:27:53 +0000 (11:27 +0200)]
tests: implement xtest_sync_with_i3

The regular sync_with_i3 is not sufficient because i3test::XTEST uses a separate
X11 connection.

6 years agodocs/ipc: include new Go package, reference example byteorder code (#3000)
Michael Stapelberg [Fri, 29 Sep 2017 21:02:18 +0000 (14:02 -0700)]
docs/ipc: include new Go package, reference example byteorder code (#3000)

6 years agoDeal with UTF8 in per-workspace-layout.pl. (#2997)
Ingo Bürk [Thu, 28 Sep 2017 20:12:51 +0000 (22:12 +0200)]
Deal with UTF8 in per-workspace-layout.pl. (#2997)

fixes #2996

6 years agoUse con_descend_focused for workspaces in _tree_next 2980/head
Orestis Floros [Sun, 24 Sep 2017 07:05:04 +0000 (10:05 +0300)]
Use con_descend_focused for workspaces in _tree_next

This way, when changing focus between outputs, the directional focus
command will focus the focused window within the parent container that
is next in the given direction.

Previously, the next window of the given direction was focused which is
Inconsistent with changing focus inside the same output.

Fixes #1160.

6 years agoMerge pull request #2992 from orestisf1993/next
Ingo Bürk [Wed, 27 Sep 2017 19:47:52 +0000 (21:47 +0200)]
Merge pull request #2992 from orestisf1993/next

i3bar: fix segfault when no status_command is provided

6 years agoMerge pull request #2995 from orestisf1993/dump-asy-basename
Ingo Bürk [Wed, 27 Sep 2017 19:46:00 +0000 (21:46 +0200)]
Merge pull request #2995 from orestisf1993/dump-asy-basename

dump-asy.pl: use correct tmp dirname instead of hardcoded /tmp

6 years agoMerge pull request #2953 from CyberShadow/focus_wrapping
Michael Stapelberg [Wed, 27 Sep 2017 16:31:39 +0000 (09:31 -0700)]
Merge pull request #2953 from CyberShadow/focus_wrapping

Add "focus_wrapping" option

6 years agodump-asy.pl: use correct tmp dirname instead of hardcoded /tmp 2995/head
Orestis Floros [Wed, 27 Sep 2017 12:23:32 +0000 (15:23 +0300)]
dump-asy.pl: use correct tmp dirname instead of hardcoded /tmp

For example, on some systems, $rep might be saved in /tmp/$USER/ instead
of /tmp/.

6 years agoi3bar: fix segfault when no status_command is provided 2992/head
Orestis Floros [Mon, 25 Sep 2017 23:50:10 +0000 (02:50 +0300)]
i3bar: fix segfault when no status_command is provided

Fixes #2933.

6 years agoMerge "force_focus_wrapping" option into "focus_wrapping force" 2953/head
Vladimir Panteleev [Fri, 22 Sep 2017 23:41:38 +0000 (23:41 +0000)]
Merge "force_focus_wrapping" option into "focus_wrapping force"

Allow enabling forced focus wrapping by specifying "focus_wrapping
force" in i3's configuration. This syntax supersedes the previous
"force_focus_wrapping yes" one, which remains available for backwards
compatibility.

6 years agoWIFEXITED needs sys/wait.h (#2989)
Pietro Cerutti [Mon, 25 Sep 2017 16:11:15 +0000 (17:11 +0100)]
WIFEXITED needs sys/wait.h (#2989)

6 years agoMerge pull request #2985 from orestisf1993/next
Ingo Bürk [Mon, 25 Sep 2017 07:09:56 +0000 (09:09 +0200)]
Merge pull request #2985 from orestisf1993/next

Correct remaining string length for fill_rmlvo_from_root

6 years agoupdate debian/changelog and release.sh after release (#2987)
Michael Stapelberg [Mon, 25 Sep 2017 07:04:31 +0000 (09:04 +0200)]
update debian/changelog and release.sh after release (#2987)

6 years agoCorrect remaining string length for fill_rmlvo_from_root 2985/head
Orestis Floros [Mon, 25 Sep 2017 01:43:00 +0000 (04:43 +0300)]
Correct remaining string length for fill_rmlvo_from_root

Fixes #2538.

6 years agodocs/ipc: document the GET_CONFIG request (#2984)
Michael Stapelberg [Sun, 24 Sep 2017 15:25:41 +0000 (17:25 +0200)]
docs/ipc: document the GET_CONFIG request (#2984)

This was neglected in commit a6d8ed9b1ac6efa507d65b752758522bcfcc5213

related to #2856

6 years agoMerge pull request #2981 from stapelberg/https
Michael Stapelberg [Sun, 24 Sep 2017 11:11:01 +0000 (13:11 +0200)]
Merge pull request #2981 from stapelberg/https

Replace http:// with https:// where applicable