]> git.sur5r.net Git - i3/i3/log
i3/i3
6 years agoFix userguide link 3191/head
Orestis Floros [Mon, 19 Mar 2018 16:30:22 +0000 (18:30 +0200)]
Fix userguide link

[[move_to_outputs]] doesn't work currently:
https://i3wm.org/docs/userguide.html#move_to_outputs
This does:
https://i3wm.org/docs/userguide.html#_moving_containers_workspaces_to_randr_outputs

This combines a 'BlockId Element' with an 'anchor'. Both should work
now.

6 years agoMerge pull request #3188 from orestisf1993/free_ran_assignments
Ingo Bürk [Mon, 19 Mar 2018 06:04:45 +0000 (07:04 +0100)]
Merge pull request #3188 from orestisf1993/free_ran_assignments

Free ran_assignments

6 years agoMerge pull request #3187 from orestisf1993/assign-memleak
Ingo Bürk [Mon, 19 Mar 2018 06:03:47 +0000 (07:03 +0100)]
Merge pull request #3187 from orestisf1993/assign-memleak

Fix memleak: FREE(assign->dest.output)

6 years agoFree ran_assignments 3188/head
Orestis Floros [Mon, 19 Mar 2018 01:00:35 +0000 (03:00 +0200)]
Free ran_assignments

When we run 'reload' all the assignments are freed:
https://github.com/i3/i3/blob/e3e09119bf994ea3f5222441832952a8dd352941/src/config.c#L99-L109

Assignments are saved to each window after they are executed:
https://github.com/i3/i3/blob/e3e09119bf994ea3f5222441832952a8dd352941/src/assignments.c#L41-L46

This means that the pointers stored in window->ran_assignments are
invalid (shouldn't be dangerous currently but could lead to a segfault
if the code is modified) after a 'reload'.

6 years agoFix memleak: FREE(assign->dest.output) 3187/head
Orestis Floros [Mon, 19 Mar 2018 00:02:59 +0000 (02:02 +0200)]
Fix memleak: FREE(assign->dest.output)

6 years agoMerge pull request #3186 from orestisf1993/i3-msg
Ingo Bürk [Sun, 18 Mar 2018 06:51:50 +0000 (07:51 +0100)]
Merge pull request #3186 from orestisf1993/i3-msg

i3-msg: only print input + errorposition if they exist

6 years agoi3-msg: only print input + errorposition if they exist 3186/head
Orestis Floros [Sun, 18 Mar 2018 01:38:06 +0000 (03:38 +0200)]
i3-msg: only print input + errorposition if they exist

Before:
$ i3-msg floating disable, move window to position 100 px 100 px
ERROR: Your command: (null)
ERROR:               (null)
ERROR: Cannot change position of a window/container because it is not floating.
[{"success":true},{"success":false,"error":"Cannot change position of a window/container because it is not floating."}]

After:
$ i3-msg floating disable, move window to position 100 px 100 px
ERROR: Cannot change position of a window/container because it is not floating.
[{"success":true},{"success":false,"error":"Cannot change position of a window/container because it is not floating."}]

6 years agoMerge pull request #3180 from chrisduerr/next
Ingo Bürk [Sat, 17 Mar 2018 06:31:48 +0000 (07:31 +0100)]
Merge pull request #3180 from chrisduerr/next

Add alacritty to `i3-sensible-terminal`

6 years agoAdd alacritty to i3-sensible-terminal 3180/head
Christian Duerr [Fri, 16 Mar 2018 21:53:39 +0000 (22:53 +0100)]
Add alacritty to i3-sensible-terminal

6 years agoMerge pull request #2975 from orestisf1993/move-con_focus
Michael Stapelberg [Fri, 16 Mar 2018 08:31:53 +0000 (09:31 +0100)]
Merge pull request #2975 from orestisf1993/move-con_focus

Fix move's focus bugs

6 years agoMerge pull request #3177 from orestisf1993/trailing
Ingo Bürk [Thu, 15 Mar 2018 19:41:47 +0000 (20:41 +0100)]
Merge pull request #3177 from orestisf1993/trailing

Remove trailing whitespace from Perl scripts

6 years agoRemove trailing whitespace from Perl scripts 3177/head
Orestis Floros [Thu, 15 Mar 2018 19:33:45 +0000 (21:33 +0200)]
Remove trailing whitespace from Perl scripts

6 years agoDon't call con_focus in tree_move 2975/head
Orestis Floros [Fri, 22 Sep 2017 01:48:32 +0000 (04:48 +0300)]
Don't call con_focus in tree_move

Fixes:
- Issue where moving an urgent (unfocused) window resets it's urgency
hint.
- Moving an unfocused container to a new parent should not move it to
the top of the focus stack.

6 years agoCorrect insert_con_into's focus handling
Orestis Floros [Sat, 23 Sep 2017 16:23:49 +0000 (19:23 +0300)]
Correct insert_con_into's focus handling

Change from always putting con on the head of the new parent. Important
for moving unfocused containers.

6 years agoMerge pull request #3176 from orestisf1993/dump-asy-marks
Ingo Bürk [Wed, 14 Mar 2018 13:24:00 +0000 (14:24 +0100)]
Merge pull request #3176 from orestisf1993/dump-asy-marks

dump-asy.pl: Add marks

6 years agoMerge pull request #3175 from orestisf1993/dump-asy
Ingo Bürk [Wed, 14 Mar 2018 13:23:39 +0000 (14:23 +0100)]
Merge pull request #3175 from orestisf1993/dump-asy

dump-asy.pl: Add options

6 years agodump-asy.pl: Add marks 3176/head
Orestis Floros [Wed, 14 Mar 2018 12:59:26 +0000 (14:59 +0200)]
dump-asy.pl: Add marks

6 years agodump-asy.pl: Add --save option 3175/head
Orestis Floros [Wed, 14 Mar 2018 12:43:12 +0000 (14:43 +0200)]
dump-asy.pl: Add --save option

6 years agodump-asy.pl: Add --gv option
Orestis Floros [Wed, 14 Mar 2018 10:18:58 +0000 (12:18 +0200)]
dump-asy.pl: Add --gv option

6 years agodump-asy.pl: Add POD usage
Orestis Floros [Wed, 14 Mar 2018 10:11:53 +0000 (12:11 +0200)]
dump-asy.pl: Add POD usage

6 years agoMerge pull request #3172 from klorax/patch-1
Ingo Bürk [Sun, 11 Mar 2018 18:54:39 +0000 (19:54 +0100)]
Merge pull request #3172 from klorax/patch-1

Docs [#3164]: Clarification about X resource value

6 years agoDocs [#3164]: Clarification about X resource value 3172/head
Klorax [Sun, 11 Mar 2018 17:04:32 +0000 (18:04 +0100)]
Docs [#3164]: Clarification about X resource value

Clarification about X resource value: they are loaded verbatim and must therefore be in the format that i3 uses.
Solves #3164.

6 years agoMerge pull request #3167 from hwangcc23/fix-3163
Ingo Bürk [Sun, 11 Mar 2018 15:33:10 +0000 (16:33 +0100)]
Merge pull request #3167 from hwangcc23/fix-3163

Add strip_workspace_name

6 years agoAdd strip_workspace_name 3167/head
hwangcc23 [Sat, 10 Mar 2018 04:49:09 +0000 (12:49 +0800)]
Add strip_workspace_name

See the issue #3163 (https://github.com/i3/i3/issues/3163).

Add strip_workspace_name to strip off the workspace name.

6 years agoRefocus focused window for FOCUS_IN events on the root window. (#3097)
Ingo Bürk [Sat, 10 Mar 2018 18:18:44 +0000 (19:18 +0100)]
Refocus focused window for FOCUS_IN events on the root window. (#3097)

This deals with (admittedly somewhat misbehaving) clients which
use XSetInputFocus to take focus, but then don't properly restore
focus. This has been observed with TK apps, but also, e.g., Steam.

fixes #2722
fixes #3096

6 years agoMerge pull request #3166 from Hritik14/next
Ingo Bürk [Sat, 10 Mar 2018 18:11:55 +0000 (19:11 +0100)]
Merge pull request #3166 from Hritik14/next

Fixed typo

6 years agoMerge pull request #3168 from stapelberg/release-fixes
Ingo Bürk [Sat, 10 Mar 2018 18:08:19 +0000 (19:08 +0100)]
Merge pull request #3168 from stapelberg/release-fixes

Release fixes

6 years agoupdate release.sh after release 3168/head
Michael Stapelberg [Sat, 10 Mar 2018 17:53:20 +0000 (18:53 +0100)]
update release.sh after release

6 years agorelease: new-enough dput no longer needs an explicit file name
Michael Stapelberg [Sat, 10 Mar 2018 17:53:04 +0000 (18:53 +0100)]
release: new-enough dput no longer needs an explicit file name

6 years agorelease: also build a Debian source-only upload
Michael Stapelberg [Sat, 10 Mar 2018 17:52:50 +0000 (18:52 +0100)]
release: also build a Debian source-only upload

6 years agorelease: disable git’s rename protection (prevented merging)
Michael Stapelberg [Sat, 10 Mar 2018 17:52:27 +0000 (18:52 +0100)]
release: disable git’s rename protection (prevented merging)

6 years agodebian: update changelog
Michael Stapelberg [Sat, 10 Mar 2018 17:35:11 +0000 (18:35 +0100)]
debian: update changelog

6 years agoMerge branch 'release-4.15'
Michael Stapelberg [Sat, 10 Mar 2018 17:29:21 +0000 (18:29 +0100)]
Merge branch 'release-4.15'

6 years agoSet non-git version to 4.15-non-git.
Michael Stapelberg [Sat, 10 Mar 2018 17:29:21 +0000 (18:29 +0100)]
Set non-git version to 4.15-non-git.

6 years agorelease i3 4.15 4.15
Michael Stapelberg [Sat, 10 Mar 2018 17:29:14 +0000 (18:29 +0100)]
release i3 4.15

6 years agoFixed typo 3166/head
Hritik Vijay [Fri, 9 Mar 2018 21:08:47 +0000 (02:38 +0530)]
Fixed typo

6 years agoMerge pull request #3165 from stapelberg/nagbar
Ingo Bürk [Fri, 9 Mar 2018 07:40:19 +0000 (08:40 +0100)]
Merge pull request #3165 from stapelberg/nagbar

Bugfix: ignore ConfigureNotify with width == 0 || height == 0

6 years agoBugfix: ignore ConfigureNotify with width == 0 || height == 0 3165/head
Michael Stapelberg [Fri, 9 Mar 2018 07:25:07 +0000 (08:25 +0100)]
Bugfix: ignore ConfigureNotify with width == 0 || height == 0

fixes #3132

6 years agoMerge pull request #3087 from orestisf1993/focus_order
Ingo Bürk [Tue, 27 Feb 2018 06:59:37 +0000 (07:59 +0100)]
Merge pull request #3087 from orestisf1993/focus_order

 Fix focus order issues when encapsulating workspaces

6 years agoFix focus order issues when encapsulating workspaces 3087/head
Orestis Floros [Wed, 13 Dec 2017 14:15:01 +0000 (16:15 +0200)]
Fix focus order issues when encapsulating workspaces

See new tests for an explanation of the problem.

6 years agoIntroduce *focus_order functions
Orestis Floros [Wed, 13 Dec 2017 14:29:54 +0000 (16:29 +0200)]
Introduce *focus_order functions

6 years agoMerge pull request #3153 from orestisf1993/issue-2990
Ingo Bürk [Mon, 26 Feb 2018 20:50:59 +0000 (21:50 +0100)]
Merge pull request #3153 from orestisf1993/issue-2990

Don't raise floating windows when workspace is shown

6 years agoDon't raise floating windows when workspace is shown 3153/head
Orestis Floros [Mon, 26 Feb 2018 01:26:05 +0000 (03:26 +0200)]
Don't raise floating windows when workspace is shown

From comment:
https://github.com/i3/i3/issues/2990#issuecomment-368345169

To easily reproduce:
1. Open 2 floating windows
2. Focus (with `focus_follows_mouse`) the one behind
3. Move the mouse to the other workspace
4. Move the mouse inside the previous workspace (without it even
touching a window)

6 years agoMakefile: include contrib/ in dist tarballs (#3152)
Michael Stapelberg [Sun, 25 Feb 2018 12:55:30 +0000 (13:55 +0100)]
Makefile: include contrib/ in dist tarballs (#3152)

unbreaks the debian package build

6 years agoMerge pull request #3147 from walker0643/next
Ingo Bürk [Sat, 24 Feb 2018 08:48:04 +0000 (09:48 +0100)]
Merge pull request #3147 from walker0643/next

dump-asy: add prerequisites check; fix empty container names warnings

6 years agoMerge pull request #3150 from stapelberg/examples
Ingo Bürk [Sat, 24 Feb 2018 08:42:14 +0000 (09:42 +0100)]
Merge pull request #3150 from stapelberg/examples

debian: install contrib/ scripts as examples (Thanks anarcat)

6 years agoMerge pull request #3151 from stapelberg/gzip
Ingo Bürk [Sat, 24 Feb 2018 08:41:49 +0000 (09:41 +0100)]
Merge pull request #3151 from stapelberg/gzip

debian: explicitly use gzip compression

6 years agodebian: explicitly use gzip compression 3151/head
Michael Stapelberg [Sat, 24 Feb 2018 07:55:57 +0000 (08:55 +0100)]
debian: explicitly use gzip compression

fixes #3146

6 years agodebian: install contrib/ scripts as examples (Thanks anarcat) 3150/head
Michael Stapelberg [Sat, 24 Feb 2018 07:24:53 +0000 (08:24 +0100)]
debian: install contrib/ scripts as examples (Thanks anarcat)

6 years agocontrib/dump-asy.pl: add prerequisites check and fix warnings about empty container... 3147/head
walker0643 [Wed, 21 Feb 2018 21:55:55 +0000 (16:55 -0500)]
contrib/dump-asy.pl: add prerequisites check and fix warnings about empty container names

6 years agoMerge pull request #3145 from DebianWall/gvim
Ingo Bürk [Mon, 19 Feb 2018 15:03:55 +0000 (16:03 +0100)]
Merge pull request #3145 from DebianWall/gvim

Added gVim to i3-sensible-editor

6 years agoMerge pull request #3144 from DebianWall/guaketilda
Ingo Bürk [Mon, 19 Feb 2018 14:42:30 +0000 (15:42 +0100)]
Merge pull request #3144 from DebianWall/guaketilda

Added guake and tilda.

6 years agoAdded gVim to i3-sensible-editor 3145/head
DebianWall [Mon, 19 Feb 2018 14:39:46 +0000 (15:39 +0100)]
Added gVim to i3-sensible-editor

6 years agoAdded guake and tilda. 3144/head
DebianWall [Mon, 19 Feb 2018 14:35:01 +0000 (15:35 +0100)]
Added guake and tilda.

6 years agoMerge pull request #3138 from clawoflight/default-border
Ingo Bürk [Mon, 19 Feb 2018 06:03:03 +0000 (07:03 +0100)]
Merge pull request #3138 from clawoflight/default-border

[WIP] Add default_{,floating_}border

6 years agoMerge pull request #3142 from jcrben/patch-1
Ingo Bürk [Mon, 19 Feb 2018 05:58:43 +0000 (06:58 +0100)]
Merge pull request #3142 from jcrben/patch-1

Remove hardcoded 2013 date from user guide

6 years agoRemove hardcoded 2013 date 3142/head
Ben Creasy [Mon, 19 Feb 2018 02:44:40 +0000 (18:44 -0800)]
Remove hardcoded 2013 date

The front page and docs landing page emphasize documentation, but the user guide looks like it hasn't been updated since 2013. It seems from the history of the file that this number is misleading. Let me know if I'm missing anything.

6 years agoMerge pull request #3135 from op8867555/update_ewmh_atoms
Ingo Bürk [Thu, 15 Feb 2018 15:29:29 +0000 (16:29 +0100)]
Merge pull request #3135 from op8867555/update_ewmh_atoms

Update EWMH atoms when closing inactive workspace

6 years agoAdd default_{,floating_}border to config 3138/head
Bennett Piater [Mon, 12 Feb 2018 14:11:19 +0000 (15:11 +0100)]
Add default_{,floating_}border to config

userguide: document default_{,floating_}border

201-config-parser.t: add new tokens to $expected_all_tokens

201-config-parser-t: fix whitespace

closes i3/i3#2702

6 years agoUpdate EWMH atoms when closing a workspace container 3135/head
Alex Lu [Sun, 11 Feb 2018 11:05:43 +0000 (19:05 +0800)]
Update EWMH atoms when closing a workspace container

fix #3126

6 years agoMerge pull request #3131 from EdwardBetts/patch-1
Ingo Bürk [Sun, 11 Feb 2018 14:48:55 +0000 (15:48 +0100)]
Merge pull request #3131 from EdwardBetts/patch-1

Correct spelling a mistake.

6 years agoCorrect spelling a mistake. 3131/head
Edward Betts [Wed, 7 Feb 2018 08:01:26 +0000 (08:01 +0000)]
Correct spelling a mistake.

6 years agoMerge pull request #3080 from orestisf1993/cmd_move_con_to_workspace
Ingo Bürk [Wed, 17 Jan 2018 20:26:09 +0000 (21:26 +0100)]
Merge pull request #3080 from orestisf1993/cmd_move_con_to_workspace

 Reduce repetition in cmd_move_con_to_workspace*

6 years agoMerge pull request #3102 from jolange/fix3071
Ingo Bürk [Wed, 17 Jan 2018 20:24:52 +0000 (21:24 +0100)]
Merge pull request #3102 from jolange/fix3071

tiling resize: remove minimum size (was 5%)

6 years agoMerge pull request #3104 from jolange/testcase_warnings
Ingo Bürk [Wed, 17 Jan 2018 20:24:00 +0000 (21:24 +0100)]
Merge pull request #3104 from jolange/testcase_warnings

Testcase warnings

6 years agoMerge pull request #2998 from orestisf1993/issue-2990
Michael Stapelberg [Sun, 14 Jan 2018 17:22:44 +0000 (18:22 +0100)]
Merge pull request #2998 from orestisf1993/issue-2990

Don't raise floating windows when focused because of focus_follows_mouse

6 years agoDon't raise floating windows when focused because of focus_follows_mouse 2998/head
Orestis Floros [Tue, 5 Dec 2017 23:58:47 +0000 (01:58 +0200)]
Don't raise floating windows when focused because of focus_follows_mouse

Fixes #2990.

6 years agoImplement 'resize set <width> ppt <height> ppt' command for tiling windows (#3036)
livanh [Mon, 8 Jan 2018 22:25:08 +0000 (23:25 +0100)]
Implement 'resize set <width> ppt <height> ppt' command for tiling windows (#3036)

6 years agoSend success response for nop. (#3113)
Ingo Bürk [Sat, 6 Jan 2018 22:24:33 +0000 (23:24 +0100)]
Send success response for nop. (#3113)

fixes #3112

6 years agoImprove resize_find_tiling_participants() and simplify cmd_resize_tiling_width_height...
livanh [Sat, 6 Jan 2018 16:59:27 +0000 (17:59 +0100)]
Improve resize_find_tiling_participants() and simplify cmd_resize_tiling_width_height() (#3111)

6 years agoMerge pull request #3110 from DikiCook/config
Ingo Bürk [Fri, 5 Jan 2018 17:43:51 +0000 (18:43 +0100)]
Merge pull request #3110 from DikiCook/config

Add comment $mod+r in back to normal when resize window

6 years agoconfig: add comment $mod+r in back to normal when resize window 3110/head
Diki Ananta [Fri, 5 Jan 2018 00:14:57 +0000 (07:14 +0700)]
config: add comment $mod+r in back to normal when resize window

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 agoAdd testcases for focus_follows_mouse
Orestis Floros [Thu, 28 Sep 2017 22:35:11 +0000 (01:35 +0300)]
Add testcases for focus_follows_mouse

6 years agocmd_move_con_to_workspace_number: rename workspace->ws 3080/head
Orestis Floros [Sun, 10 Dec 2017 20:08:46 +0000 (22:08 +0200)]
cmd_move_con_to_workspace_number: rename workspace->ws

For consistency with other cmd_move_con_to_workspace* functions.

6 years agoReduce repetition in cmd_move_con_to_workspace*
Orestis Floros [Sun, 10 Dec 2017 20:06:29 +0000 (22:06 +0200)]
Reduce repetition in cmd_move_con_to_workspace*

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 agofixing uninitialized warnings in testcases 3104/head
Johannes Lange [Tue, 26 Dec 2017 12:39:19 +0000 (13:39 +0100)]
fixing uninitialized warnings in testcases

6 years agofixing redeclaration warnings in testcases
Johannes Lange [Tue, 26 Dec 2017 12:16:15 +0000 (13:16 +0100)]
fixing redeclaration warnings in testcases

6 years agotiling resize: remove minimum size (was 5%) 3102/head
Johannes Lange [Tue, 26 Dec 2017 08:37:22 +0000 (09:37 +0100)]
tiling resize: remove minimum size (was 5%)

fixes #3071

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>