Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Content of workspaces (screen background) visible on others (mplayer) #3795
I'm submitting a…
[x] Bug [ ] Feature Request [ ] Documentation Request [ ] Other (Please describe in detail)
i3 4.17.1: Background of one workspace is visible, when switching to a different workspace.
When switching from one workspace, the contents that was seen on the former workspace is not visible anymore.
Arch Linux. Package that works is 4.16.1-1. Package with the problem is 4.17.1-1.
After finding the problem I downgraded to the older version to be sure, that no other package-installations have caused the problem.
i3 version: Binary i3 version: 4.16.1 (2019-01-27) © 2009 Michael Stapelberg and contributors Running i3 version: 4.16.1 (2019-01-27) (pid 28339)bort…) Loaded i3 config: /home/oliver/.i3/config (Last modified: Sa 02 Mär 2019 23:50:22 CET, 17187316 seconds ago) The i3 binary you just called: /usr/bin/i3 The i3 binary you are running: i3
See discussion on i3-mailinglist:
a) with the problem:
b) after downgrading, expected behaviour:
OK, I used git bisect to locate the problem.
29f2510fa9484a5fa235de9a1c5c937292151888 is the first bad commit commit 29f2510fa9484a5fa235de9a1c5c937292151888 Author: Orestis Floros Date: Mon Oct 1 19:47:33 2018 +0300 Fix aspect ratio bugs - ICCCM says: > If a base size is not provided, the minimum size is to be used in its place and vice versa. i3 didn't obey the "vice versa" part. Min size and base size are both saved without replacements in window_update_normal_hints, floating_check_size makes the needed replacements if either was not provided. - Aspect ratio is now saved correctly in manage_window because window_update_normal_hints is called. - i3 didn't save the aspect ratio if the window conformed the given aspect ratio range when handle_normal_hints was called. If the window was resized to a size outside of the given bounds, i3 didn't correct it. - Aspect ratio now affects only tiling windows, like the rest of the normal size hints - The aspect ratio calculation is now done without a loop A real life example of how these changes affect the workflow: An mpv window, when playing a video, sets its min == max aspect ratio during mapping. i3 ignored these hints. When resized, the window's aspect ratio was not preserved. With this commit, resizing floating mpv windows will always preserve the aspect ratio. include/data.h | 3 +- include/floating.h | 13 +++-- include/window.h | 6 ++ src/commands.c | 2 +- src/con.c | 1 - src/floating.c | 85 ++++++++++++++++++++++------ src/handlers.c | 130 ++----------------------------------------- src/load_layout.c | 2 +- src/manage.c | 34 ++--------- src/render.c | 29 ---------- src/scratchpad.c | 2 +- src/window.c | 121 ++++++++++++++++++++++++++++++++++++++++ testcases/t/133-size-hints.t | 104 +++++++++++++++++++++++++++------- 13 files changed, 304 insertions(+), 228 deletions(-)