
"Set" the wallpaper during startup only sometimes Since commit 4f5e0e7, i3 would take a screenshot and set that as the background pixmap of the root window during startup. This is the easy part of setting a proper X11 wallpaper. The code in question was added because something either set the background pixmap of the root window to NONE or the X11 server was started with "-background none". This is apparently done by default by e.g. gdm to avoid some flickering while the X11 server starts up. This commit makes this code conditional: Only when no wallpaper is detected is a screenshot taken. Since I could not find any way to query the background of a window, a more direct approach is taken to detect this situation: First, we find some part of the root window that is not currently covered. Then we open a white window there, close it again and grab a screenshot. If a wallpaper is set, the X11 server will draw this wallpaper after the window is closed and something else will be visible in the screenshot. However, the wallpaper could have a white pixel at the tested position. Thus, this procedure is repeated with a black window. Only when this procedure produces two different pixel values is a screenshot taken and set as the wallpaper. Fixes: https://github.com/i3/i3/issues/4371 Fixes: https://github.com/i3/i3/issues/2869 Signed-off-by: Uli Schlachter <psychon@znc.in>
57 lines
2.9 KiB
Plaintext
57 lines
2.9 KiB
Plaintext
|
|
┌──────────────────────────────┐
|
|
│ Release notes for i3 v4.20 │
|
|
└──────────────────────────────┘
|
|
|
|
This is i3 v4.19. This version is considered stable. All users of i3 are
|
|
strongly encouraged to upgrade.
|
|
|
|
Background/wallpaper workaround:
|
|
|
|
Some login managers (e.g. gdm) start the X11 server with the -background none
|
|
flag. When this flag is set, a background needs to be explicitly set later in
|
|
the X11 session, otherwise stale copies of closed windows remain visible on the
|
|
X11 root window (symptom looks like “my terminal window is not closing”).
|
|
|
|
i3 works around this situation by setting a screenshot as background when
|
|
starting. Any background you set before starting i3 (e.g. in your Xsession) or
|
|
after starting i3 (e.g. via exec statements in the i3 config) will be visible.
|
|
|
|
A downside of this workaround is that if you have any windows already open in
|
|
your X11 session, those will be part of the screenshot.
|
|
|
|
To fix this issue, starting in v4.20, i3 detects whether the -background none
|
|
option is enabled and only then sets a screenshot as background.
|
|
|
|
|
|
┌────────────────────────────┐
|
|
│ Changes in i3 v4.20 │
|
|
└────────────────────────────┘
|
|
|
|
• default config: use dex for XDG autostart
|
|
• i3-nagbar: position on focused monitor by default
|
|
• i3-nagbar: add option to position on primary monitor
|
|
• alternate focusing tab/stack children-parent containers by clicking on their titlebars
|
|
• i3bar: use first bar config by default
|
|
• i3-dump-log -f now uses UNIX sockets instead of pthreads. The UNIX socket approach
|
|
should be more reliable and also more portable.
|
|
• Allow for_window to match against WM_CLIENT_MACHINE
|
|
• Add %machine placeholder (WM_CLIENT_MACHINE) to title_format
|
|
• Allow multiple output names in 'move container|workspace to output'
|
|
• Add 'move container|workspace to output next'
|
|
|
|
┌────────────────────────────┐
|
|
│ Bugfixes │
|
|
└────────────────────────────┘
|
|
|
|
• when initializing new outputs, avoid duplicating workspace numbers
|
|
• fix workspaces not moving to assigned output after output becomes available
|
|
• fix duplicate bindcode after i3-config-wizard
|
|
• i3bar: properly close file descriptors
|
|
• i3bar: properly restart status command after config change
|
|
• i3bar: exit with 1 when a wrong command line argument is used
|
|
• fix commented-out rofi call in default i3 config
|
|
• clear pixmap before drawing to prevent visual garbage
|
|
• ipc: return proper signed int for container positions: negative values were
|
|
returned as large 32 bits integers
|