Codebase list i3-gaps / 54174cf
Merge remote-tracking branch 'vanilla/next' into gaps-next Ingo Bürk 4 years ago
10 changed file(s) with 59 addition(s) and 50 deletion(s). Raw diff Collapse all Expand all
2525 * Use the `next` branch for developing and sending your pull request.
2626 * Use `clang-format` to format your code.
2727 * Run the [testsuite](https://i3wm.org/docs/testsuite.html)
28 * If your changes should be reported on the next release's changelog, also
29 update the [RELEASE-notes-next](../RELEASE-notes-next) file in the root
30 folder. Example of changes that should be reported are bug fixes present in
31 the latest stable version of i3 and new enhancements. Example of changes that
32 should not be reported are minor code improvements, documentation, regression
33 and fixes for bugs that were introduced in the `next` branch.
2834
2935 ## Finding something to do
3036
4848
4949 If you would like to help debugging the issue, please try to reduce the config such that it is as close to the default config as possible while still reproducing the issue. This can help us bisect the root cause.
5050 -->
51 <pre>
51 <details><summary>Config file</summary><pre>
5252 </pre>
53 </details>
5354
5455 <!--
5556 Providing a logfile can help us trace the root cause of an issue much quicker. You can learn how to generate the logfile here:
+0
-32
RELEASE-NOTES-4.18.1 less more
0
1 ┌──────────────────────────────┐
2 │ Release notes for i3 v4.18.1 │
3 └──────────────────────────────┘
4
5 This is i3 v4.18.1. This version is considered stable. All users of i3 are
6 strongly encouraged to upgrade.
7
8 This is a bugfix release for v4.18.
9
10 ┌────────────────────────────┐
11 │ Bugfixes │
12 └────────────────────────────┘
13
14 • Move parent nodes in scratchpad correctly
15 • i3bar: Call cont_child() more liberally
16 • Fix load_layout crash when floating node doesn't have CT_FLOATING_CON parent
17 • Fix SEGFAULT when i3bar receives invalid input
18 • Revert "floating_reposition: avoid extra tree_render"
19 • Call tree_render if floating move changes workspace
20 • Update EWMH properties on workspace move
21 • cmd_focus_sibling: Fix crash on workspace level
22
23 ┌────────────────────────────┐
24 │ Thanks! │
25 └────────────────────────────┘
26
27 Thanks for testing, bugfixes, discussions and everything I forgot go out to:
28
29 Heman Gandhi, Orestis Floros
30
31 -- Michael Stapelberg, 2020-04-22
0
1 ┌──────────────────────────────┐
2 │ Release notes for i3 v4.19 │
3 └──────────────────────────────┘
4
5 This is i3 v4.19. This version is considered stable. All users of i3 are
6 strongly encouraged to upgrade.
7
8 ┌────────────────────────────┐
9 │ Changes in i3 v4.19 │
10 └────────────────────────────┘
11
12 • configure: respect --program-suffix
13 • use exec to avoid leaving useless shell process
14 • ipc: always include the marks property (even if empty)
15 • introduce “tiling_from” and ”floating_from” criteria
16 • make dock client order deterministic (sorted by class/instance) as a
17 side effect, i3bars without an explicit bar-id will be sorted according
18 to their definition order in the config file
19
20 ┌────────────────────────────┐
21 │ Bugfixes │
22 └────────────────────────────┘
23
24 • ensure client windows have a size of at least 1px after resize
25 • correctly handle overlapping decorations
26 • limit workspace numbers within 0..INT32_MAX
27 • fix a bug with tiling resize inside floating container
28 • i3-nagbar: Use _PATH_BSHELL to ensure using a bourne shell
29 • do not propagate $mod+right click to fullscreen clients
30 • do not try to resize fullscreen and non-fullscreen windows
31 • do not focus floating windows changing workspace with ConfigureNotify
32 • i3-dmenu-desktop: Support symlinks in search path
33 • build: correctly provide auxiliary functions when needed
346346 */
347347 uint32_t get_colorpixel(const char *hex) __attribute__((const));
348348
349 #ifndef HAVE_strndup
349 #ifndef HAVE_STRNDUP
350350 /**
351351 * Taken from FreeBSD
352352 * Returns a pointer to a new string which is a duplicate of the
531531 */
532532 char *get_config_path(const char *override_configpath, bool use_system_paths);
533533
534 #ifndef HAVE_mkdirp
534 #ifndef HAVE_MKDIRP
535535 /**
536536 * Emulates mkdir -p (creates any missing folders)
537537 *
542542 /** Helper structure for usage in format_placeholders(). */
543543 typedef struct placeholder_t {
544544 /* The placeholder to be replaced, e.g., "%title". */
545 char *name;
545 const char *name;
546546 /* The value this placeholder should be replaced with. */
547 char *value;
547 const char *value;
548548 } placeholder_t;
549549
550550 /**
1111 #include <string.h>
1212 #include <sys/stat.h>
1313
14 #ifndef HAVE_mkdirp
14 #ifndef HAVE_MKDIRP
1515 /*
1616 * Emulates mkdir -p (creates any missing folders)
1717 *
88
99 #include <string.h>
1010
11 #ifndef HAVE_strndup
11 #ifndef HAVE_STRNDUP
1212 /*
1313 * Taken from FreeBSD
1414 * Returns a pointer to a new string which is a duplicate of the
23712371 char *formatted_str = format_placeholders(con->title_format, &placeholders[0], num);
23722372 i3String *formatted = i3string_from_utf8(formatted_str);
23732373 i3string_set_markup(formatted, pango_markup);
2374 FREE(formatted_str);
2375
2376 for (size_t i = 0; i < num; i++) {
2377 FREE(placeholders[i].value);
2378 }
2374
2375 free(formatted_str);
2376 free(title);
2377 free(class);
2378 free(instance);
23792379
23802380 return formatted;
23812381 }
454454 /* Since the tab width may be something like 31,6 px per tab, we
455455 * let the last tab have all the extra space (0,6 * children). */
456456 if (i == (p->children - 1)) {
457 child->deco_rect.width += (child->rect.width - (child->deco_rect.x + child->deco_rect.width));
457 child->deco_rect.width = child->rect.width - child->deco_rect.x;
458458 }
459459
460460 if (p->children > 1 || (child->border_style != BS_PIXEL && child->border_style != BS_NONE)) {
591591 }
592592 }
593593
594 /* if this is a borderless/1pixel window, we don’t need to render the
595 * decoration. */
596 if (p->border_style != BS_NORMAL)
597 goto copy_pixmaps;
598
599594 /* If the parent hasn't been set up yet, skip the decoration rendering
600595 * for now. */
601596 if (parent->frame_buffer.id == XCB_NONE)
608603 draw_util_clear_surface(&(con->parent->frame_buffer), COLOR_TRANSPARENT);
609604 FREE(con->parent->deco_render_params);
610605 }
606
607 /* if this is a borderless/1pixel window, we don’t need to render the
608 * decoration. */
609 if (p->border_style != BS_NORMAL)
610 goto copy_pixmaps;
611611
612612 /* 4: paint the bar */
613613 draw_util_rectangle(&(parent->frame_buffer), p->color->background,