Commit Graph

6880 Commits

Author SHA1 Message Date
Orestis Floros c46fdc8363
Merge pull request #3995 from xzfc/refactor-property-handlers
Refactor property handlers
2020-04-10 03:58:12 +02:00
Ingo Bürk c611b9e0e0
Merge pull request #4000 from orestisfl/revert-3983-resize-behind-fullscreen
Correctly handle mouse resize in fullscreen containers
2020-04-09 16:41:43 +02:00
Orestis Floros 6fa2cd32a0
handle_button_press and route_click do not need to return int 2020-04-09 16:16:30 +02:00
Orestis Floros 93e96f4e6b
Do not propagate $mod+right click to clients 2020-04-09 16:08:41 +02:00
Orestis Floros b590ca076c
Avoid resizing fullscreen container with non-fullscreen
Another option is to modify resize_find_tiling_participants but this
would also affect resizing of tiling containers in scripts, so I chose
to make this change specific to resizing with the mouse.

Follow-up after #3983
Fixes #3980
2020-04-09 15:49:09 +02:00
Orestis Floros 4922b245c1
Revert "Avoid resizing fullscreen container"
This reverts commit 1a2882d740.

As mentioned in
https://github.com/i3/i3/issues/3980#issuecomment-611515497, this
disables resizing children of fullscreen containers.
2020-04-09 15:11:46 +02:00
Ingo Bürk 26cbca3d27
Merge pull request #3999 from orestisfl/cmd_focus_sibling_workspace_crash
cmd_focus_sibling: Fix crash on workspace level
2020-04-09 11:47:32 +02:00
Orestis Floros 4b4f1f604f
cmd_focus_sibling: Fix crash on workspace level
Fixes #3997
2020-04-09 11:29:14 +02:00
Orestis Floros 016d4a3f45
Call cont_child() more liberally (#3996)
Following the reproduction instructions from
https://github.com/i3/i3/issues/3242#issuecomment-436175346

For me, #3242 happened when the following sequence executed:
1. Fullscreening window correctly calls `stop_child()` in
6e24e2ad6f/i3bar/src/xcb.c (L685)
2. Xrandr change, `reconfig_windows()` is called and `output->visible` is
set to `true` in this line:
6e24e2ad6f/i3bar/src/xcb.c (L1791)
3. When the window's fullscreen is disabled,
`handle_visibility_notify()` returns in this line:
6e24e2ad6f/i3bar/src/xcb.c (L677)
because previously `output->visible` was set to `true`

To fix this, I call `cont_child()` more leniently since it is a no-op
when the child is not stopped.

Fixes #3242
Closes #3761
2020-04-09 10:43:48 +02:00
Albert Safin d9d366a656 handlers.c: cb_property_handler_t: take Con instead of xcb_window_t
Since every handler calls con_by_window_id() and checks for NULL, it is
better to move this call into property_notify().
2020-04-08 08:37:40 +00:00
Albert Safin e03fdef3e5 handlers.c: property_notify(): DLOG and return in case of an error 2020-04-08 08:37:40 +00:00
Albert Safin 5716ff541f handlers.c: remove redundant property fetching
Some property handlers trying to fetch property again if `prop == NULL`.
This is redundant since these properties are either fetched by
property_notify() just before or deleted.
2020-04-08 08:37:40 +00:00
Albert Safin 148ff54f18 handlers.c: remove unused arguments from cb_property_handler_t
Also, use `conn` global variable instead of passing it as an argument.
2020-04-08 08:02:17 +00:00
Orestis Floros 6e24e2ad6f
Merge pull request #3985 from orestisfl/userguide-button6-7
userguide: Add button{6,7}
2020-04-07 20:20:00 +02:00
Orestis Floros f3762cd041
userguide: Add button{6,7}
Related to #3984
2020-04-07 20:10:29 +02:00
Ingo Bürk 47732a4d9b
Merge pull request #3994 from stapelberg/lintian
check-spelling: update to new Lintian::Profile API
2020-04-07 17:47:46 +02:00
Michael Stapelberg 72a6ad2013 check-spelling: update to new Lintian::Profile API
This changed between Lintian 2.62.0 and 2.64.0.
2020-04-07 17:41:56 +02:00
Ingo Bürk cf505eaea8
Merge pull request #3983 from orestisfl/resize-behind-fullscreen
Avoid resizing fullscreen container
2020-03-31 09:52:46 +02:00
Orestis Floros 1a2882d740
Avoid resizing fullscreen container
Fixes #3980
2020-03-31 08:52:53 +02:00
Ingo Bürk 164336099d
Merge pull request #3970 from ianyfan/ipc
ipc: always include marks property in TREE reply
2020-03-09 13:01:11 +01:00
Ian Fan d02cda4241 ipc: always include marks property in TREE reply 2020-03-07 11:12:47 +00:00
Ingo Bürk cae3b294ad
Merge pull request #3964 from ammgws/_PATH_BSHELL
Use _PATH_BSHELL in nagbar script as well
2020-03-01 08:28:28 +01:00
Jason Nader 9a3318b622
Fix error message 2020-03-01 13:25:42 +09:00
Jason Nader 191c394db8
Use _PATH_BSHELL in nagbar script as well 2020-03-01 12:46:30 +09:00
Ingo Bürk d2acdcc69f
Merge pull request #3960 from ammgws/patch-2
Remove comment referencing old source code
2020-03-01 01:29:30 +01:00
Ingo Bürk daa2ea0d05
Merge pull request #3961 from ammgws/patch-1
i3-nagbar: Use _PATH_BSHELL
2020-03-01 01:28:57 +01:00
Jason 5024a13b8b
Remove comment referencing old source code
Behaviour was changed in f691a55923
2020-03-01 05:03:41 +09:00
Jason a516bdbb92
Use _PATH_BSHELL
Possibly overlooked in f691a55923850a4d315450925fc98733d07b69c9?
2020-03-01 04:53:35 +09:00
xzfc 47be36410c
Assume xcb_cursor_context_new never fails (#3955)
According to libxcb-cursor code, the only condition in which
xcb_cursor_context_new() returns a non-zero result is a memory
allocation failure[1].  Thus, it is safe to assume that
xcursor_supported is always true, and remove dead code.

[1]: https://gitlab.freedesktop.org/xorg/lib/libxcb-cursor/blob/0.1.3/cursor/cursor.c#L131-132
2020-02-24 08:48:58 +01:00
Michael Stapelberg 0ba325c5f3
Makefile.am: respect configure --program-suffix (#3944)
related to #3838
2020-02-22 13:47:49 +01:00
Joseph 967ec2e0ea
Fix test case 180-fd-leaks when running on Fedora (#3911) 2020-02-22 10:09:11 +01:00
Orestis Floros a376d1e52f
Merge pull request #3950 from xzfc/small-fixes
Small fixes
2020-02-21 19:01:40 +01:00
Ingo Bürk c5d50ac5fd
Merge pull request #3951 from txtor/next
typo
2020-02-21 10:59:35 +01:00
Francesc Hervada-Sala 80f9bb6dbe typo 2020-02-21 10:53:02 +01:00
Albert Safin b98b055459 i3 --moreversion: erase the line before writing over
The trailing part of the line (`abort…)`) has often been appearing in
bug reports.
2020-02-21 02:07:23 +00:00
Albert Safin 83c7aff089 Limit workspace numbers within 0..INT32_MAX
Before this commit, large workspace numbers treated oddly:

   $ i3-msg 'rename workspace to 1234567890'
   # displayed in i3bar as `0`

   $ i3-msg 'rename workspace to 4294967200'
   $ i3-msg -t get_workspaces | jq '.[]|select(.focused).num'
   -96 # int32_t overflow

   $ i3-msg 'rename workspace to 99999999999999999999'
   $ i3-msg -t get_workspaces | jq '.[]|select(.focused).num'
   -1 # treated as unnumbered

This commit puts a consistent limit on workspace numbers.  Now
workspaces with numbers beyond INT32_MAX are treated as unnumbered.
2020-02-21 02:07:04 +00:00
Albert Safin d3976fee8c Code style: fix misaligned and trailing whitespaces 2020-02-21 02:06:48 +00:00
Orestis Floros 854885ea9d
Merge pull request #3949 from xzfc/overlap
Sanitize window dimensions and handle decoration overlap
2020-02-19 11:41:58 +01:00
Albert Safin 670c23600f
Decoration click/mouse move: iterate children in reverse order
In the case of decoration overlap, we should handle the one that is
drawn on top, i.e., the last one.
2020-02-19 11:33:49 +01:00
Albert Safin e6ca7ca06f
Sanitize con and window rect dimensions
Make sure they're neither zero (prohibited by X11) nor overflown during
subtraction.
2020-02-19 11:33:49 +01:00
xzfc 1f0c628cde
clang-format: bring back ForeachMacros (#3948)
* clang-format: bring back ForeachMacros

ForeachMacros was disabled in 4211274fcd
due to the breakage of include/queue.h. The currently used version,
clang-format-6.0 doesn't break it.

* Add curly braces

Co-authored-by: Orestis Floros <orestisflo@gmail.com>
2020-02-19 11:31:09 +01:00
Ingo Bürk e3f120c0b6
Merge pull request #3946 from phy1729/i3bar_command-exec
Prepend "exec " to default i3bar_command
2020-02-18 09:16:27 +01:00
Ingo Bürk 13ca970bfe
Merge pull request #3945 from stapelberg/deps
Makefile.am: i3-config-wizard: add dependency on config parser
2020-02-18 09:16:06 +01:00
Michael Stapelberg 12095103fa Makefile.am: i3-config-wizard: add dependency on config parser
fixes #3670
2020-02-17 21:49:47 +01:00
Michael Stapelberg 30e886b031 debian: update changelog 2020-02-17 18:31:40 +01:00
Michael Stapelberg 0dd60756af Merge branch 'release-4.18' 2020-02-17 18:27:46 +01:00
Michael Stapelberg 949aff3016 Set non-git version to 4.18-non-git. 2020-02-17 18:27:46 +01:00
Michael Stapelberg 9929949d26 release i3 4.18 2020-02-17 18:27:38 +01:00
Ingo Bürk 2914c7fb43
Merge pull request #3942 from stapelberg/iconv
configure.ac: test for iconv_open with #include <iconv.h>
2020-02-16 18:50:54 +01:00
Michael Stapelberg 91b00c5605 configure.ac: test for iconv_open with #include <iconv.h>
The previously used AC_SEARCH_LIBS uses AC_LANG_CALL, which is discouraged
because it intentionally violates the C type system: it has no way of specifying
function parameters, so it does not include the required headers to suppress
type warnings:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Generating-Sources.html

The new code does what AC_SEARCH_LIBS does, but uses AC_LANG_PROGRAM instead of
AC_LANG_CALL. It explicitly includes iconv.h and calls iconv_open with the
correct number and type of arguments.

This fixes compilation on systems where libiconv’s iconv.h is discovered first,
but glibc also provides iconv. Previously, this would result in configure
discovering glibc’s iconv, and make failing to compile because -liconv wasn’t
specified, but iconv.h pulled in libiconv.
2020-02-16 18:38:44 +01:00