nixo
c8f383329d
many progresses
2020-05-10 17:20:32 +02:00
nixo
29f551626e
simplify, fix garbage read
2020-05-10 02:43:00 +02:00
nixo
0270a9c565
[ipc] remove complex managing of message types. guile will do better easily
2020-05-10 01:33:55 +02:00
nixo
176a56df0a
eval received i3-msg
2020-05-10 01:08:49 +02:00
nixo
3fe8e00356
[meson]: add more programs, [i3]: add bindsym
2020-05-10 00:40:57 +02:00
Orestis Floros
f63a4bef54
cmd_bar improvements ( #4014 )
...
- Split cmd_bar into 2 functions, improving errors and reducing strcmps
- Only update barconfig when something has changed
- Only update barconfig for the specific bar that has changed
Fixes #3958
2020-05-07 09:22:03 +02:00
Orestis Floros
94b619e118
randr_query_outputs: call ewmh_update_desktop_properties
...
Fixes #4053
2020-05-06 17:26:49 +02:00
Ingo Bürk
d7d4f0a95b
Merge pull request #3969 from ghost/patch-1
...
clean up math calculating width of last tab
2020-05-01 09:47:25 +02:00
Ingo Bürk
b61a28f156
Merge pull request #4025 from xzfc/always-clear-parent-pixmap
...
x_draw_decoration: always clear parent pixmap when rendering the first child
2020-05-01 09:46:07 +02:00
Orestis Floros
c6cf0d32b9
placeholder_t: Make char*s const
...
Similarly to https://github.com/i3/i3status/pull/412
2020-05-01 01:13:12 +02:00
Ingo Bürk
10646eb002
Merge pull request #4041 from orestisfl/floating_enable-bool
...
Only set FLOATING_AUTO_ON when floating_enable succeeds
2020-04-30 09:04:22 +02:00
Orestis Floros
0c9c9fb35f
con.c: Reorder use after free
...
This shows up in various static analysis tools. I doubt that it is dangerous in any way but the end result is the same.
2020-04-28 21:41:13 +02:00
Orestis Floros
5e2f13a28c
Only set FLOATING_AUTO_ON when floating_enable succeeds
...
Fixes #4039
Crash with docking clients where the floating field is set even though
floating_enable refuses to make them floating.
See issue for example with logs.
2020-04-27 13:43:53 +02:00
Orestis Floros
38f28186ec
Remove some includes from all.h
...
Also removes duplicates from other headers
All used std* imports are included once in all.h for easy use
- getopt: Only used in main.c and inject_randr1.5.c
- glob: Not used in i3, only in i3bar & libi3
- inttypes: Only used in util.c
- locale: A bit specific for all.h
- math: Slow according to #4022
- unistd: I feel it's good to explicitly include per file that needs it
- yajl: Specific to yajl_utils.h and ipc.h
Related to #4022
Timing before:
```
Analyzing build trace from ...
**** Time summary:
Compilation (81 times):
Parsing (frontend): 51.3 s
Codegen & opts (backend): 7.7 s
**** Files that took longest to parse (compiler frontend):
1254 ms: build/src/i3-commands.o
972 ms: build/src/i3-resize.o
945 ms: build/src/i3-con.o
921 ms: build/src/i3-scratchpad.o
907 ms: build/src/i3-main.o
904 ms: build/src/i3-handlers.o
904 ms: build/src/i3-config_directives.o
893 ms: build/src/i3-restore_layout.o
875 ms: build/src/i3-x.o
854 ms: build/src/i3-ipc.o
**** Files that took longest to codegen (compiler backend):
863 ms: build/src/i3-commands.o
471 ms: build/i3bar/src/i3bar-xcb.o
377 ms: build/src/i3-con.o
360 ms: build/src/i3-ipc.o
306 ms: build/src/i3-x.o
290 ms: build/src/i3-main.o
238 ms: build/src/i3-config_parser.o
237 ms: build/src/i3-handlers.o
220 ms: build/i3-config-wizard/i3_config_wizard-main.o
214 ms: build/src/i3-bindings.o
**** Functions that took longest to compile:
209 ms: main (../../i3/src/main.c)
95 ms: manage_window (../../i3/src/manage.c)
57 ms: reconfig_windows (../../i3/i3bar/src/xcb.c)
55 ms: x_draw_decoration (../../i3/src/x.c)
49 ms: x_push_node (../../i3/src/x.c)
48 ms: handle_client_message (../../i3/src/handlers.c)
48 ms: dump_node (../../i3/src/ipc.c)
47 ms: GENERATED_call (../../i3/src/config_parser.c)
45 ms: config_string_cb (../../i3/i3bar/src/config.c)
44 ms: GENERATED_call (../../i3/src/commands_parser.c)
42 ms: floating_check_size (../../i3/src/floating.c)
40 ms: con_swap (../../i3/src/con.c)
40 ms: parse_config (../../i3/src/config_parser.c)
39 ms: main (../../i3/i3-nagbar/main.c)
39 ms: cmd_rename_workspace (../../i3/src/commands.c)
38 ms: window_update_normal_hints (../../i3/src/window.c)
38 ms: cmd_swap (../../i3/src/commands.c)
37 ms: dump_bar_config (../../i3/src/ipc.c)
36 ms: translate_keysyms (../../i3/src/bindings.c)
35 ms: tree_close_internal (../../i3/src/tree.c)
34 ms: match_matches_window (../../i3/src/match.c)
34 ms: floating_enable (../../i3/src/floating.c)
34 ms: json_string (../../i3/src/load_layout.c)
33 ms: x_push_changes (../../i3/src/x.c)
33 ms: main (../../i3/i3-config-wizard/main.c)
31 ms: free_configuration (../../i3/src/config.c)
30 ms: parse_file (../../i3/src/config_parser.c)
28 ms: load_font (../../i3/libi3/font.c)
28 ms: handle_configure_request (../../i3/src/handlers.c)
28 ms: parse_command (../../i3/src/commands_parser.c)
**** Function sets that took longest to compile / optimize:
*** Expensive headers:
29287 ms: ../../i3/include/libi3.h (included 78 times, avg 375 ms), included via:
i3-resize.o all.h data.h (576 ms)
a-g_utf8_make_valid.o (491 ms)
a-dpi.o (491 ms)
a-get_colorpixel.o (483 ms)
a-is_debug_build.o (478 ms)
a-strndup.o (478 ms)
...
29221 ms: ../../i3/include/all.h (included 39 times, avg 749 ms), included via:
i3-resize.o (946 ms)
i3-scratchpad.o (895 ms)
i3-restore_layout.o (865 ms)
i3-handlers.o (839 ms)
i3-drag.o (830 ms)
i3-config_directives.o (793 ms)
...
5195 ms: /usr/include/xcb/xcb.h (included 79 times, avg 65 ms), included via:
i3-handlers.o all.h (113 ms)
i3-restore_layout.o all.h (108 ms)
a-g_utf8_make_valid.o libi3.h (108 ms)
i3bar-xcb.o common.h (105 ms)
i3-scratchpad.o all.h (95 ms)
a-get_colorpixel.o libi3.h (89 ms)
...
4100 ms: /usr/include/math.h (included 41 times, avg 100 ms), included via:
i3-scratchpad.o all.h (180 ms)
i3-fake_outputs.o all.h (138 ms)
i3-regex.o all.h (130 ms)
i3-restore_layout.o all.h (128 ms)
i3-xcb.o all.h (121 ms)
i3-move.o all.h (119 ms)
...
4046 ms: ../../i3/i3bar/include/common.h (included 9 times, avg 449 ms), included via:
i3bar-main.o (503 ms)
i3bar-xcb.o (501 ms)
i3bar-workspaces.o (472 ms)
i3bar-parse_json_header.o (446 ms)
i3bar-child.o (438 ms)
i3bar-ipc.o (434 ms)
...
2713 ms: ../../i3/include/i3.h (included 41 times, avg 66 ms), included via:
i3-xcursor.o (450 ms)
i3-config_directives.o all.h ipc.h configuration.h (87 ms)
i3-config.o all.h ipc.h configuration.h (71 ms)
i3-manage.o all.h ipc.h configuration.h (70 ms)
i3-window.o all.h ipc.h configuration.h (68 ms)
i3-x.o all.h ipc.h configuration.h (61 ms)
...
1492 ms: /usr/include/xcb/xkb.h (included 42 times, avg 35 ms), included via:
i3-config_directives.o all.h ipc.h configuration.h i3.h (50 ms)
i3-config.o all.h ipc.h configuration.h i3.h (45 ms)
i3-window.o all.h ipc.h configuration.h i3.h (43 ms)
i3-x.o all.h ipc.h configuration.h i3.h (42 ms)
i3-manage.o all.h ipc.h configuration.h i3.h (41 ms)
i3-config_parser.o all.h ipc.h configuration.h i3.h (38 ms)
...
1432 ms: /usr/include/stdlib.h (included 79 times, avg 18 ms), included via:
i3-scratchpad.o all.h (48 ms)
i3-restore_layout.o all.h (36 ms)
i3-regex.o all.h (32 ms)
i3-key_press.o all.h (28 ms)
i3-commands.o all.h (28 ms)
i3-bindings.o all.h (24 ms)
...
1349 ms: /usr/include/pthread.h (included 79 times, avg 17 ms), included via:
i3bar-xcb.o common.h xcb.h (33 ms)
a-ucs2_conversion.o libi3.h xcb.h (32 ms)
i3-match.o all.h xcb.h (27 ms)
i3-scratchpad.o all.h xcb.h (25 ms)
a-g_utf8_make_valid.o libi3.h xcb.h (25 ms)
i3_config_wizard-main.o xcb.h (24 ms)
...
1151 ms: /usr/include/X11/Xlib.h (included 45 times, avg 25 ms), included via:
i3-output.o all.h data.h sn-launcher.h sn-common.h (50 ms)
i3-config_parser.o all.h data.h sn-launcher.h sn-common.h (43 ms)
i3-x.o all.h data.h sn-launcher.h sn-common.h (34 ms)
i3-config_directives.o all.h data.h sn-launcher.h sn-common.h (32 ms)
i3_config_wizard-main.o sn-launchee.h sn-common.h (30 ms)
i3-drag.o all.h data.h sn-launcher.h sn-common.h (29 ms)
...
```
Timing after:
```
Analyzing build trace from ...
**** Time summary:
Compilation (81 times):
Parsing (frontend): 47.6 s
Codegen & opts (backend): 7.6 s
**** Files that took longest to parse (compiler frontend):
1154 ms: build/src/i3-commands.o
929 ms: build/src/i3-display_version.o
852 ms: build/src/i3-bindings.o
847 ms: build/src/i3-con.o
806 ms: build/src/i3-ipc.o
801 ms: build/src/i3-floating.o
792 ms: build/src/i3-main.o
792 ms: build/src/i3-drag.o
792 ms: build/src/i3-window.o
776 ms: build/src/i3-config_directives.o
**** Files that took longest to codegen (compiler backend):
885 ms: build/src/i3-commands.o
422 ms: build/i3bar/src/i3bar-xcb.o
382 ms: build/src/i3-con.o
348 ms: build/src/i3-x.o
288 ms: build/src/i3-ipc.o
268 ms: build/src/i3-handlers.o
254 ms: build/src/i3-main.o
251 ms: build/src/i3-floating.o
249 ms: build/src/i3-config_parser.o
194 ms: build/src/i3-randr.o
**** Functions that took longest to compile:
186 ms: main (../../i3/src/main.c)
95 ms: manage_window (../../i3/src/manage.c)
65 ms: floating_check_size (../../i3/src/floating.c)
63 ms: x_draw_decoration (../../i3/src/x.c)
58 ms: handle_client_message (../../i3/src/handlers.c)
55 ms: x_push_node (../../i3/src/x.c)
54 ms: match_matches_window (../../i3/src/match.c)
51 ms: parse_config (../../i3/src/config_parser.c)
49 ms: dump_node (../../i3/src/ipc.c)
47 ms: reconfig_windows (../../i3/i3bar/src/xcb.c)
47 ms: config_string_cb (../../i3/i3bar/src/config.c)
45 ms: GENERATED_call (../../i3/src/config_parser.c)
45 ms: GENERATED_call (../../i3/src/commands_parser.c)
43 ms: floating_enable (../../i3/src/floating.c)
42 ms: handle_configure_request (../../i3/src/handlers.c)
40 ms: con_swap (../../i3/src/con.c)
36 ms: main (../../i3/i3-input/main.c)
36 ms: main (../../i3/i3-msg/main.c)
36 ms: main (../../i3/i3-nagbar/main.c)
36 ms: cmd_move_con_to_workspace_number (../../i3/src/commands.c)
35 ms: json_string (../../i3/src/load_layout.c)
35 ms: tree_restore (../../i3/src/tree.c)
35 ms: cmd_swap (../../i3/src/commands.c)
34 ms: x_push_changes (../../i3/src/x.c)
32 ms: main (../../i3/i3-config-wizard/main.c)
32 ms: ewmh_setup_hints (../../i3/src/ewmh.c)
31 ms: match_parse_property (../../i3/src/match.c)
30 ms: cmd_mark (../../i3/src/commands.c)
30 ms: translate_keysyms (../../i3/src/bindings.c)
30 ms: window_update_normal_hints (../../i3/src/window.c)
**** Function sets that took longest to compile / optimize:
*** Expensive headers:
29596 ms: ../../i3/include/libi3.h (included 78 times, avg 379 ms), included via:
a-get_config_path.o (539 ms)
i3_dump_log-main.o (522 ms)
i3_config_wizard-main.o (501 ms)
a-fake_configure_notify.o (500 ms)
a-root_atom_contents.o (488 ms)
i3-display_version.o all.h (466 ms)
...
26054 ms: ../../i3/include/all.h (included 41 times, avg 635 ms), included via:
i3-display_version.o (901 ms)
i3-drag.o (775 ms)
i3-ewmh.o (703 ms)
i3-startup.o (693 ms)
i3-commands.o (687 ms)
i3-xcb.o (680 ms)
...
5345 ms: /usr/include/xcb/xcb.h (included 79 times, avg 67 ms), included via:
i3-display_version.o all.h (173 ms)
i3_input-keysym2ucs.o keysym2ucs.h (106 ms)
i3-ewmh.o all.h (106 ms)
a-fake_configure_notify.o libi3.h (103 ms)
a-get_config_path.o libi3.h (95 ms)
i3bar-parse_json_header.o common.h (93 ms)
...
4127 ms: ../../i3/i3bar/include/common.h (included 9 times, avg 458 ms), included via:
i3bar-child.o (524 ms)
i3bar-mode.o (486 ms)
i3bar-outputs.o (464 ms)
i3bar-parse_json_header.o (463 ms)
i3bar-config.o (457 ms)
i3bar-ipc.o (448 ms)
...
1542 ms: /usr/include/xcb/xkb.h (included 42 times, avg 36 ms), included via:
i3-con.o all.h ipc.h configuration.h i3.h (60 ms)
i3-render.o all.h ipc.h configuration.h i3.h (56 ms)
i3-bindings.o all.h ipc.h configuration.h i3.h (56 ms)
i3-sighandler.o all.h ipc.h configuration.h i3.h (48 ms)
i3-xcb.o all.h ipc.h configuration.h i3.h (47 ms)
i3-resize.o all.h ipc.h configuration.h i3.h (39 ms)
...
1456 ms: /usr/include/stdlib.h (included 79 times, avg 18 ms), included via:
i3-drag.o all.h (60 ms)
i3-display_version.o all.h (55 ms)
i3-fake_outputs.o all.h (39 ms)
i3-config_directives.o all.h (33 ms)
i3-xcursor.o all.h (30 ms)
i3bar-mode.o common.h libi3.h pango.h pango-attributes.h pango-font.h pango-coverage.h glib-object.h gbinding.h glib.h gasyncqueue.h gthread.h gutils.h (29 ms)
...
1136 ms: /usr/include/X11/Xlib.h (included 44 times, avg 25 ms), included via:
i3-con.o all.h data.h sn-launcher.h sn-common.h (35 ms)
i3-resize.o all.h data.h sn-launcher.h sn-common.h (34 ms)
i3-util.o all.h data.h sn-launcher.h sn-common.h (33 ms)
i3-assignments.o all.h data.h sn-launcher.h sn-common.h (33 ms)
i3-sighandler.o all.h data.h sn-launcher.h sn-common.h (31 ms)
i3-xcb.o all.h data.h sn-launcher.h sn-common.h (31 ms)
...
808 ms: /usr/include/stdio.h (included 79 times, avg 10 ms), included via:
i3-drag.o all.h (19 ms)
i3-fake_outputs.o all.h (18 ms)
a-font.o libi3.h (16 ms)
i3bar-child.o common.h libi3.h (15 ms)
a-safewrappers.o libi3.h (15 ms)
a-ipc_send_message.o libi3.h (13 ms)
...
770 ms: /usr/include/xcb/randr.h (included 42 times, avg 18 ms), included via:
i3-click.o all.h data.h (29 ms)
i3-commands.o all.h data.h (27 ms)
i3-assignments.o all.h data.h (25 ms)
i3-xcb.o all.h data.h (21 ms)
i3-resize.o all.h data.h (21 ms)
i3-sighandler.o all.h data.h (20 ms)
...
688 ms: /usr/include/math.h (included 6 times, avg 114 ms), included via:
a-dpi.o (145 ms)
i3-render.o (127 ms)
i3-floating.o (106 ms)
a-root_atom_contents.o (106 ms)
i3-window.o (102 ms)
i3-bindings.o (99 ms)
...
```
2020-04-20 05:54:17 +02:00
Orestis Floros
0b62129224
Remove unused headers
...
With help from
https://github.com/include-what-you-use/include-what-you-use/
2020-04-20 04:25:06 +02:00
Orestis Floros
3c522d9f2f
Sort includes in *.c files
...
Not enabling in .clang-format because it breaks headers files.
Used:
IncludeCategories:
- Regex: '^<config'
Priority: 0
- Regex: '^".*"'
Priority: 1
- Regex: '^<(xcb|xkb|yajl|X11)'
Priority: 3
- Regex: '.*'
Priority: 2
2020-04-19 09:58:25 +02:00
Albert Safin
7419400a8d
x_draw_decoration: always clear parent pixmap when rendering the first child
...
Previously, i3 used to clean the parent pixmap only if the first child
has a titlebar.
This worked well for case `V[a b]` when both `a` and `b` have titlebars
(clearing is required), or both haven't (clearing is not required).
However, in case if `a` has no titlebar, but `b` has, this could lead
to graphical glitches.
This commit rearranges the order of conditions to make sure that the
parent pixmap is cleared regardless of the border style of the first
child.
2020-04-18 04:21:16 +00:00
Ingo Bürk
0bce0d86bf
Merge pull request #4018 from orestisfl/reorder-docks
...
Sort dock clients by class and instance
2020-04-15 08:36:10 +02:00
Orestis Floros
7df88f18eb
Sort dock clients by class and instance
...
This is similar to #3820 but does not use qsort but an insertion sort in
con_attach.
Since each bar block automatically gets its own incremental bar id,
bards end up being sorted according to their definition order in the
config file.
For i3bar, the WM_CLASS is modified to include an instance name which
depends on the bar_id. This could be useful for other reason, e.g. users
targeting a specific bar instance.
Fixes #3491
2020-04-14 20:47:51 +02:00
Orestis Floros
831a52de9a
Move content for non-existing output containers ( #3767 )
...
Probably fixes various related issues:
Closes #2276
Closes #2459
Closes #2936
Closes #3766
Tested using
bindsym $mod+Shift+i exec xrandr --output DVI-D-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DVI-I-1 --off, restart
The core issue here is that the JSON read during a restart might contain
invalid outputs when the new process is done reading it.
2020-04-12 13:52:05 +02:00
Orestis Floros
ae757c6848
Extend tiling/floating criteria with optional auto/user values ( #4006 )
...
The default `tiling` and `floating` behavior is preserved and matches
both cases.
Adds a new handler to `remanage_window` on A_I3_FLOATING_WINDOW change.
Mainly in order to `run_assignments`, this makes `for_window [floating]`
directives to work for windows which where initially opened as tiling.
Now, when floating is enabled, `for_window` will trigger correctly. Same
applies to `for_window [tiling]`.
The obvious solution of `run_assignments` after
`floating_{enable,disable}` doesn't work because `run_assignments`
modifies the parser state in src/assignments.c:51.
Fixes #3588
Co-Authored-By: Michael Stapelberg <michael@stapelberg.de>
2020-04-12 13:49:08 +02:00
Orestis Floros
a87e8c8d5b
Fix load_layout crash when floating node doesn't have CT_FLOATING_CON parent
...
Fixes #3901
2020-04-12 00:48:01 +02:00
Ingo Bürk
62279aba45
Merge pull request #4005 from orestisfl/route_click_clutter
...
route_click readability improvements
2020-04-11 19:51:00 +02:00
Ingo Bürk
f4b1da7f23
Merge pull request #4011 from orestisfl/floating_reposition-needs_tree_render
...
Call tree_render if floating move changes workspace
2020-04-11 19:50:14 +02:00
Ingo Bürk
93bb2022bb
Merge pull request #4012 from orestisfl/floating_maybe_reassign_ws_focus
...
floating_maybe_reassign_ws: only re-focus if previously focused
2020-04-11 19:49:53 +02:00
Ingo Bürk
e47d5f6a3e
Merge pull request #4008 from orestisfl/limit-run_command-LOG
...
Limit log length with IPC commands
2020-04-11 19:49:24 +02:00
Ingo Bürk
1e9fbd7186
Merge pull request #4010 from orestisfl/trailing-whitespace-log
...
Fix trailing whitespace in a DLOG
2020-04-11 19:49:05 +02:00
Orestis Floros
5eab604a10
floating_maybe_reassign_ws: only re-focus if previously focused
...
Fixes #3979
2020-04-11 11:10:51 +02:00
Orestis Floros
755d306df3
Revert "floating_reposition: avoid extra tree_render"
...
This reverts commit 204eefc679
.
workspace_show does not call tree_render
2020-04-11 11:08:55 +02:00
Orestis Floros
bb8f2927ae
Call tree_render if floating move changes workspace
...
This fixes a bug where moving a floating container with
cmd_move_direction displays a "broken" state if the container crosses
workspace boundaries.
2020-04-11 10:52:35 +02:00
Orestis Floros
e4cfb80a05
Fix trailing whitespace in a DLOG
2020-04-11 10:10:44 +02:00
Orestis Floros
964456b628
Limit log length with IPC commands
...
Fixes #3525
2020-04-10 16:59:46 +02:00
Orestis Floros
57a37f8af4
run_command: Update outdated docstring
2020-04-10 16:41:36 +02:00
Heman Gandhi
b247896a75
Move parent nodes in scratchpad correctly ( #3793 )
...
* Move parent nodes in scratchpad across workspaces
Co-Authored-By: Orestis <orestisflo@gmail.com>
2020-04-10 16:27:40 +02:00
Ingo Bürk
312d3dfbd3
Merge pull request #4003 from orestisfl/update_desktop_properties_on_move
...
Update EWMH properties on workspace move
2020-04-10 14:00:26 +02:00
Orestis Floros
58d383b1a0
route_click: Remove condition that is always true
...
For reference:
typedef enum { CLICK_BORDER = 0,
CLICK_DECORATION = 1,
CLICK_INSIDE = 2 } click_destination_t;
2020-04-10 12:24:18 +02:00
Orestis Floros
07c7384272
route_click: Add some const bools for readability
2020-04-10 12:22:24 +02:00
Orestis Floros
b401cc994b
Merge pull request #3954 from xzfc/floating-tiling-resize
...
Make floating-tiling resize code consistent with plain tiling resize
2020-04-10 12:17:26 +02:00
Orestis Floros
59108ec299
Merge pull request #3816 from sandsmark/martin/empty-matches
...
Match empty window properties (e. g. no title set) #3308
2020-04-10 11:44:46 +02:00
Orestis Floros
ed67eaca2c
Update EWMH properties on workspace move
...
Closes #3965
Fixes #4001
2020-04-10 04:40:11 +02:00
Orestis Floros
c46fdc8363
Merge pull request #3995 from xzfc/refactor-property-handlers
...
Refactor property handlers
2020-04-10 03:58:12 +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
Orestis Floros
4b4f1f604f
cmd_focus_sibling: Fix crash on workspace level
...
Fixes #3997
2020-04-09 11:29:14 +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