Orestis Floros
d407393d0d
_con_move_to_con: Move upwards only on CT_FLOATING_CON
...
If target is inside a floating container but not its direct child, the
move can be completed as is.
Fixes #3402 .
2018-09-14 16:13:41 +03:00
Ingo Bürk
ede954128a
Merge pull request #3342 from orestisf1993/tree_close_internal
...
Simplify tree_close_internal
2018-09-14 12:24:54 +02:00
Ingo Bürk
badcb152f9
Merge pull request #3399 from orestisf1993/156-fullscreen-focus
...
Make t/156-fullscreen-focus.t easier to work with
2018-09-14 08:19:00 +02:00
Ingo Bürk
9c2ff947e1
Merge pull request #3398 from orestisf1993/i3-save-tree
...
i3-save-tree: Exclude unsupported "transient_for" property
2018-09-14 08:18:32 +02:00
Orestis Floros
68628e153f
Make t/156-fullscreen-focus.t easier to work with
...
- Add routine that will refocus the expected window on test failure.
Thus, failure on one test will not make others fail.
- Remove some redundant commands, prefer fresh_workspace for screen
changing.
- Kill previous windows between sections if the next section does not
depend on the previous layout.
2018-09-13 17:18:34 +03:00
Orestis Floros
a66048a956
i3-save-tree: Exclude unsupported "transient_for" property
...
Even if i3 supported matching windows through "transient_for", it
wouldn't be useful for the purpose of i3-save-tree.
2018-09-12 14:13:56 +03:00
Ingo Bürk
484854d52f
Merge pull request #3395 from lousyd/next
...
clarify JSON standard non-compliance
2018-09-12 10:24:30 +02:00
Ingo Bürk
1a6c971052
Merge pull request #3396 from orestisf1993/commands
...
commands.c: Improve error replies
2018-09-12 10:24:06 +02:00
Orestis Floros
e67be1ccd3
commands.c: Improve error replies
...
- Improve / add various error messages.
- Replace all `LOG(…); ysuccess(false);` with `yerror(…);`.
- switch_mode: Remove redundant "ERROR:" ELOG string.
- cmd_move_con_to_workspace*: Make sure that we don't try to move an
empty workspace to another workspace. This can be problematic when we
match a workspace using command criteria (eg marks) and the target is a
non-existing workspace. We create the new workspace but since nothing is
moved there, we are left with an empty workspace. See added testcase.
2018-09-11 08:35:58 +03:00
Todd Walton
3bfcbb88bf
clarify JSON standard non-compliance
...
Modified section on the layout file's non-compliance with the JSON
standard. The section previously stated that having multiple top-level
JSON texts is non-compliant. This isn't the case. It's just that most
JSON parsers will treat that as if it is non-compliant.
2018-09-10 16:31:25 -04:00
Michael Stapelberg
83327abae4
Merge pull request #3394 from orestisf1993/validate-utf8
...
libi3: validate UTF8 strings
2018-09-10 09:00:54 +02:00
Orestis Floros
6a1f653508
libi3: validate UTF8 strings
...
Will validate container / window titles.
Fixes #3156 .
2018-09-10 02:00:32 +03:00
Orestis Floros
a3dcee35f3
tree_restore: Check croot
...
Related to #2414 , #3156 .
2018-09-09 16:11:48 +03:00
Ingo Bürk
9dc4df81ea
Merge pull request #3391 from orestisf1993/yajl-utf8
...
tree_append_json: Allow strings that are not valid UTF8
2018-09-06 14:15:54 +02:00
Orestis Floros
be6faa3161
tree_append_json: Allow strings that are not valid UTF8
...
Fixes #3156 .
I couldn't reproduce the problem in a "natural" way so I cheated:
1. Start i3 with gdb
2. Set breakpoing on tree_restore
3. Run, open window, i3-msg restart
5. Open the file in *path with a hex editor
6. Edit the "name" field of the window and insert bytes that are not
valid UTF8
7. Continue
After parsing fails, all nodes including croot are incomplete, meaning
they have to be deleted. We can't recover in any reasonable way so we
have to allow non-UTF8 characters to avoid this situation altogether.
2018-09-06 14:58:31 +03:00
Orestis Floros
e8d2b9b7b5
tree_append_json: don't focus freed container
2018-09-06 14:48:21 +03:00
Ingo Bürk
cb6da7169a
Merge pull request #3389 from orestisf1993/resize-ensure-1px
...
Ensure containers have a size of at least 1px after resize
2018-09-06 08:41:00 +02:00
Ingo Bürk
9edb7c7a3b
Merge pull request #3390 from orestisf1993/resize-tile
...
resize set for tiling: default to px when not specified
2018-09-06 08:38:53 +02:00
Ingo Bürk
7257c3b528
Merge pull request #3388 from orestisf1993/cmd_rename_workspace
...
cmd_rename_workspace: correct order of events
2018-09-06 08:38:03 +02:00
Orestis Floros
64142eeef2
resize set for tiling: default to px when not specified
2018-09-06 05:58:51 +03:00
Orestis Floros
23c1c13d34
Ensure containers have a size of at least 1px after resize
...
Fixes #2226 .
Fixes #2776 .
Fixes #3241 .
Related to #3194 .
2018-09-06 04:56:31 +03:00
Orestis Floros
6846ac98c0
cmd_rename_workspace: correct order of events
...
1. Rename happens
2. Workspace is moved because of assignments
3. Workspace closes because it is empty (#3248 )
Fixes #3248 .
2018-09-06 03:42:07 +03:00
Orestis Floros
7c3c50c5cc
Improve comment from #3245
2018-09-06 03:42:06 +03:00
Michael Stapelberg
09683d21a9
configure.ac: fix AC_SEARCH_LIBS([shm_open]) for static linking ( #3379 )
...
Without specifying -pthread, the conftest fails and -lrt is missing during
compilation of i3, resulting in a failing build.
2018-08-31 08:59:08 -06:00
Ingo Bürk
9595263142
Merge pull request #3376 from orestisf1993/floating-disable-scratchpad
...
Don't disable floating in internal workspaces
2018-08-28 13:30:57 +02:00
Orestis Floros
9718e38a7a
Don't disable floating in internal workspaces
2018-08-28 11:26:20 +03:00
Ingo Bürk
f454a5c2dd
Merge pull request #3375 from orestisf1993/ipc_client_timeout
...
ipc_client_timeout: Fix build when not on linux
2018-08-28 10:20:45 +02:00
Orestis Floros
37b879f4ad
ipc_client_timeout: Fix build when not on linux
...
Also moved the 'end' label because it is unused otherwise.
Reported here: https://github.com/Airblader/i3/issues/233
2018-08-27 22:21:59 +03:00
Ingo Bürk
08a53611f9
Merge pull request #3374 from orestisf1993/startup-notification
...
Support startup-notification in i3-nagbar & i3-config-wizard
2018-08-27 11:19:26 +02:00
Orestis Floros
bf1cb39b4b
Support startup-notification in i3-nagbar & i3-config-wizard
...
The default i3 config uses the `exec` command without `--no-startup-id`
to launch:
1. i3-nagbar
4cba9fcbda/etc/config (L150)
2. i3-config-wizard
4cba9fcbda/etc/config (L194)
A user that opens i3 for the first time will be greeted with a "loading"
cursor because of i3-config-wizard.
2018-08-25 14:54:16 +03:00
Orestis Floros
a8b90317a0
i3-config-wizard: fix small memleak
2018-08-25 14:54:16 +03:00
Ingo Bürk
4cba9fcbda
Merge pull request #3368 from orestisf1993/render_root
...
(floating) global fullscreen bugs & others
2018-08-24 09:49:41 +02:00
Ingo Bürk
9a53d65e18
Merge pull request #3372 from orestisf1993/direction
...
Resize tile px
2018-08-24 09:43:20 +02:00
Orestis Floros
096cff0aad
Make resize set ppt more accurate
...
See the testcase for the usecase.
2018-08-24 04:13:25 +03:00
Orestis Floros
51d230ad4c
Make resize set px work with tiling containers
2018-08-24 04:13:25 +03:00
Orestis Floros
f28c50b631
541-resize-set-tiling.t: fix "my" variable mask warnings
2018-08-24 04:13:25 +03:00
Orestis Floros
423e20b960
cmd_resize* statics: remove useless 'way' argument
2018-08-24 04:13:25 +03:00
Orestis Floros
26bbaf6237
Make cmd_resize_tiling_width_height work with pixels
2018-08-24 04:13:25 +03:00
Orestis Floros
2ead7745d6
Make cmd_resize_tiling_direction work with pixels
...
Introduces resize_neighboring_cons in resize.c which is also used by
resize_graphical_handler.
Co-authored-by: Andrew Laucius <andrewla@gmail.com>
Authored original code and tests in #3240 . I rewrote most of the
resizing code and fixed the failing tests.
2018-08-24 04:13:03 +03:00
Orestis Floros
ea43507bed
precalculate_sizes: don't malloc needlessly
2018-08-24 04:12:24 +03:00
Orestis Floros
7b9318a541
precalculate_sizes: round sizes instead of flooring them
...
This will lead to more accurate and consistent container sizes.
Needed to fix the failing test of #3240 .
2018-08-24 04:12:14 +03:00
Orestis Floros
db294f4505
Improve resize_graphical_handler code style
...
- int return type is not useful
- Consistent comment style
2018-08-23 22:04:22 +03:00
Orestis Floros
9522b46f1b
Introduce parse_direction
...
Also fixes the following bug: in the fix for #1011 in
cmd_resize_floating direction "width" is not considered.
Influenced by #3240 .
2018-08-23 15:45:24 +03:00
Orestis Floros
6e1b79e057
Introduce orientation_from_direction
2018-08-23 15:36:23 +03:00
Ingo Bürk
72cc719c5d
Merge pull request #3369 from orestisf1993/clang-format
...
Apply compatible changes from clang-format 6.0.1
2018-08-22 20:29:32 +02:00
Orestis Floros
e6202d43f5
Apply compatible changes from clang-format 6.0.1
...
These are the changes that clang-format 6.0.1 makes to the codebase that
clang-format-3.8 doesn't change back.
Useful for those that use a more recent version of clang-format in their
local machines.
2018-08-22 14:51:17 +03:00
Orestis Floros
e1a83d057f
handle_configure_request: check for scratchpad once
2018-08-22 14:23:01 +03:00
Orestis Floros
9190a9ab70
handle_configure_request: use 'goto out'
2018-08-22 14:11:26 +03:00
Orestis Floros
9ae84593ba
handle_configure_request: reuse 'workspace' variable
2018-08-22 14:10:42 +03:00
Orestis Floros
0ac75bea5a
con_border_style: check con->fullscreen_mode directly
2018-08-22 14:09:05 +03:00