update to i3-4.21.1

This commit is contained in:
sthen 2022-10-27 09:10:29 +00:00
parent 117196cea8
commit eb93cb9536
11 changed files with 16 additions and 148 deletions

View File

@ -1,7 +1,6 @@
COMMENT= improved dynamic tiling window manager
DISTNAME= i3-4.21
REVISION= 0
DISTNAME= i3-4.21.1
CATEGORIES= x11

View File

@ -1,2 +1,2 @@
SHA256 (i3-4.21.tar.xz) = jcUgXg80Q9WGYeMHg1If2cbUJtHn82Z6sS8qwbLTIHg=
SIZE (i3-4.21.tar.xz) = 1294968
SHA256 (i3-4.21.1.tar.xz) = 7f14EoXGVKBdxtsnLOAwDEQo5vvYddmZZOV94ltBvB4=
SIZE (i3-4.21.1.tar.xz) = 1297400

View File

@ -27,8 +27,8 @@ Index: etc/config
# use these keys for focus, movement, and resize directions when reaching for
# the arrows is not convenient
@@ -50,13 +50,13 @@ set $right semicolon
floating_modifier Mod1
@@ -54,13 +54,13 @@ floating_modifier Mod1
tiling_drag modifier titlebar
# start a terminal
-bindsym Mod1+Return exec i3-sensible-terminal

View File

@ -4,7 +4,7 @@ different between Linux and OpenBSD.
Index: etc/config.keycodes
--- etc/config.keycodes.orig
+++ etc/config.keycodes
@@ -27,30 +27,30 @@ exec --no-startup-id dex --autostart --environment i3
@@ -27,18 +27,18 @@ exec --no-startup-id dex --autostart --environment i3
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
@ -30,6 +30,8 @@ Index: etc/config.keycodes
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
@@ -48,13 +48,13 @@ floating_modifier $mod
tiling_drag modifier titlebar
# start a terminal
-bindcode $mod+36 exec i3-sensible-terminal
@ -44,7 +46,7 @@ Index: etc/config.keycodes
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
@@ -64,10 +64,10 @@ bindcode $mod+46 focus up
@@ -68,10 +68,10 @@ bindcode $mod+46 focus up
bindcode $mod+47 focus right
# alternatively, you can use the cursor keys:
@ -59,7 +61,7 @@ Index: etc/config.keycodes
# move focused window
bindcode $mod+Shift+44 move left
@@ -76,10 +76,10 @@ bindcode $mod+Shift+46 move up
@@ -80,10 +80,10 @@ bindcode $mod+Shift+46 move up
bindcode $mod+Shift+47 move right
# alternatively, you can use the cursor keys:
@ -74,7 +76,7 @@ Index: etc/config.keycodes
# split in horizontal orientation
bindcode $mod+43 split h
@@ -165,10 +165,10 @@ mode "resize" {
@@ -169,10 +169,10 @@ mode "resize" {
bindcode 47 resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys

View File

@ -25,7 +25,7 @@ Index: i3-dmenu-desktop
# }
# };
@@ -463,7 +463,7 @@ if (exists($app->{Terminal}) && $app->{Terminal}) {
@@ -474,7 +474,7 @@ if (exists($app->{Terminal}) && $app->{Terminal}) {
# we need to create a temporary script that contains the full command line
# as the syntax for starting commands with arguments varies from terminal
# emulator to terminal emulator.
@ -34,7 +34,7 @@ Index: i3-dmenu-desktop
my ($fh, $filename) = tempfile();
binmode($fh, ':utf8');
say $fh <<EOT;
@@ -474,7 +474,7 @@ EOT
@@ -485,7 +485,7 @@ EOT
close($fh);
chmod 0755, $filename;
@ -43,7 +43,7 @@ Index: i3-dmenu-desktop
} else {
# i3 executes applications by passing the argument to i3s “exec” command
# as-is to $SHELL -c. The i3 parser supports quoted strings: When a string
@@ -516,7 +516,7 @@ notifications.
@@ -528,7 +528,7 @@ notifications.
The .desktop files are searched in $XDG_DATA_HOME/applications (by default
$HOME/.local/share/applications) and in the "applications" subdirectory of each
@ -52,7 +52,7 @@ Index: i3-dmenu-desktop
Files with the same name in $XDG_DATA_HOME/applications take precedence over
files in $XDG_DATA_DIRS, so that you can overwrite parts of the system-wide
@@ -530,7 +530,7 @@ file respectively) by appending it to the name of the
@@ -542,7 +542,7 @@ file respectively) by appending it to the name of the
want to launch "GNU Emacs 24" with the patch /tmp/foobar.txt, you would type
"emacs", press TAB, type " /tmp/foobar.txt" and press ENTER.

View File

@ -1,20 +0,0 @@
From f6097d4a37f6775b03c363392dea4c7560743b13 Mon Sep 17 00:00:00 2001
From: Orestis Floros <orestisflo@gmail.com>
Date: Sat, 24 Sep 2022 11:15:12 +0200
Subject: [PATCH] Motif hints: Respect maximum border style configuration set
by user
https://github.com/i3/i3/issues/5149
Index: include/con.h
--- include/con.h.orig
+++ include/con.h
@@ -451,7 +451,7 @@ int con_border_style(Con *con);
* floating window.
*
*/
-void con_set_border_style(Con *con, int border_style, int border_width);
+void con_set_border_style(Con *con, border_style_t border_style, int border_width);
/**
* This function changes the layout of a given container. Use it to handle

View File

@ -1,28 +0,0 @@
From f6097d4a37f6775b03c363392dea4c7560743b13 Mon Sep 17 00:00:00 2001
From: Orestis Floros <orestisflo@gmail.com>
Date: Sat, 24 Sep 2022 11:15:12 +0200
Subject: [PATCH] Motif hints: Respect maximum border style configuration set
by user
https://github.com/i3/i3/issues/5149
Index: include/data.h
--- include/data.h.orig
+++ include/data.h
@@ -721,7 +721,16 @@ struct Con {
* layout in workspace_layout and creates a new split container with that
* layout whenever a new container is attached to the workspace. */
layout_t layout, last_split_layout, workspace_layout;
+
border_style_t border_style;
+ /* When the border style of a con changes because of motif hints, we don't
+ * want to set more decoration that the user wants. The user's preference is determined by these:
+ * 1. For new tiling windows, as set by `default_border`
+ * 2. For new floating windows, as set by `default_floating_border`
+ * 3. For all windows that the user runs the `border` command, whatever is
+ * the result of that command for that window. */
+ border_style_t max_user_border_style;
+
/** floating? (= not in tiling layout) This cannot be simply a bool
* because we want to keep track of whether the status was set by the
* application (by setting _NET_WM_WINDOW_TYPE appropriately) or by the

View File

@ -12,7 +12,7 @@ Index: man/i3-config-wizard.man
lines will be transformed to bindsym and the user-specified modifier will be
@@ -37,7 +37,7 @@ used.
i3-config-wizard is started by i3 in its default config, unless ~/.i3/config
i3-config-wizard is started by i3 in its default config, unless \~/.i3/config
exists. i3-config-wizard creates a keysym based i3 config file (based on
-/etc/i3/config.keycodes) in ~/.i3/config.
+${SYSCONFDIR}/i3/config.keycodes) in ~/.i3/config.

View File

@ -1,20 +0,0 @@
From f6097d4a37f6775b03c363392dea4c7560743b13 Mon Sep 17 00:00:00 2001
From: Orestis Floros <orestisflo@gmail.com>
Date: Sat, 24 Sep 2022 11:15:12 +0200
Subject: [PATCH] Motif hints: Respect maximum border style configuration set
by user
https://github.com/i3/i3/issues/5149
Index: src/commands.c
--- src/commands.c.orig
+++ src/commands.c
@@ -747,6 +747,8 @@ void cmd_border(I3_CMD, const char *border_style_str,
return;
}
+ /* User changed the border */
+ current->con->max_user_border_style = border_style;
const int con_border_width = border_width_from_style(border_style, border_width, current->con);
con_set_border_style(current->con, border_style, con_border_width);
}

View File

@ -1,42 +0,0 @@
From f6097d4a37f6775b03c363392dea4c7560743b13 Mon Sep 17 00:00:00 2001
From: Orestis Floros <orestisflo@gmail.com>
Date: Sat, 24 Sep 2022 11:15:12 +0200
Subject: [PATCH] Motif hints: Respect maximum border style configuration set
by user
https://github.com/i3/i3/issues/5149
Index: src/con.c
--- src/con.c.orig
+++ src/con.c
@@ -41,7 +41,7 @@ Con *con_new_skeleton(Con *parent, i3Window *window) {
TAILQ_INSERT_TAIL(&all_cons, new, all_cons);
new->type = CT_CON;
new->window = window;
- new->border_style = config.default_border;
+ new->border_style = new->max_user_border_style = config.default_border;
new->current_border_width = -1;
new->window_icon_padding = -1;
if (window) {
@@ -1794,7 +1794,11 @@ int con_border_style(Con *con) {
* floating window.
*
*/
-void con_set_border_style(Con *con, int border_style, int border_width) {
+void con_set_border_style(Con *con, border_style_t border_style, int border_width) {
+ if (border_style > con->max_user_border_style) {
+ border_style = con->max_user_border_style;
+ }
+
/* Handle the simple case: non-floating containerns */
if (!con_is_floating(con)) {
con->border_style = border_style;
@@ -1807,8 +1811,6 @@ void con_set_border_style(Con *con, int border_style,
* con->rect represent the absolute position of the window (same for
* parent). Then, we change the border style and subtract the new border
* pixels. For the parent, we do the same also for the decoration. */
- DLOG("This is a floating container\n");
-
Con *parent = con->parent;
Rect bsr = con_border_style_rect(con);
int deco_height = (con->border_style == BS_NORMAL ? render_deco_height() : 0);

View File

@ -1,23 +0,0 @@
From f6097d4a37f6775b03c363392dea4c7560743b13 Mon Sep 17 00:00:00 2001
From: Orestis Floros <orestisflo@gmail.com>
Date: Sat, 24 Sep 2022 11:15:12 +0200
Subject: [PATCH] Motif hints: Respect maximum border style configuration set
by user
https://github.com/i3/i3/issues/5149
Index: src/floating.c
--- src/floating.c.orig
+++ src/floating.c
@@ -347,8 +347,9 @@ bool floating_enable(Con *con, bool automatic) {
con->floating = FLOATING_USER_ON;
/* 4: set the border style as specified with new_float */
- if (automatic)
- con->border_style = config.default_floating_border;
+ if (automatic) {
+ con->border_style = con->max_user_border_style = config.default_floating_border;
+ }
/* Add pixels for the decoration. */
Rect border_style_rect = con_border_style_rect(con);