- Jul 25, 2020
-
-
Olivier Fourdan authored
To be on the safe side. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Jul 15, 2020
-
-
Olivier Fourdan authored
The gvalues strings were considered statics, hence not duplicated. As the caller frees the strings after setting the gvalue, the actual content would end up pointing at free data. Consider string gvalues as regular strings, meaning that the given string value is duplicated as a gvalue. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org> Closes: #406
-
Olivier Fourdan authored
Commit 821ee7cc would not actually send the synthetic configure notify events anymore. That obviously breaks plenty of applications… While the logic of the commit itself is sound, the problem is that it bases the descision to send the configure notify event by comparing against the current window size and location. The problem is that the current window size and location is modified in various places, defeating the logic. Add an “applied_geometry” rectangle that we update only in a single place in the code, so that we know exactly when to send a synthetic configure notify event. Closes: #403 Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
The size and position of the client are stored at multiple occasions. But the naming of the variables used is a bit confusing, rename the variables and use GdkRectangles instead. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Jun 12, 2020
-
-
Olivier Fourdan authored
xfwm4 would send a synthetic configure event while resizing the client window, which is not what the ICCCM states. Fix this by sending the synthetic configure event only when necessary, as per the ICCCM specification. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Avoid setting the same flag twice in a row, we already set the CFG_REQUEST just a few line above. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Some client do not process events on their temporary windows, causing the client unresponsive dialog to show up. Avoid pinging the client on focus in, even though this is clearly a client bug. This reverts commit 637d70b2.
-
- May 23, 2020
-
-
Olivier Fourdan authored
To make sure that they are still alive and detect hung clients. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
When xfwm4 needs to kill an unresponsive client, it will use the its PID is known. However, the _NET_WM_PID as defined in the extended window manager hint mechanism is unreliable when the client runs within a sandbox, as it is the client itself who sets that property using its own view of the PID. The Xserver can provide a more accurate value of the client PID using the XRes X11 extension, so use that protocol if available. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
The X-Resource extension client library (XRes) allows a client to query the Xserver for various resources associated with an X11 client, including its PID. Add (optional) support for XRes in xfwm4 and use it for getting the client's PID instead of relying on _NET_WM_PID. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 22, 2020
-
-
Olivier Fourdan authored
It's easier on the eyes... Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16713 If one of the required X11 extension is not available, the composiutor cannot be used. Yet xfwm4 would still try to enable the compositor for each screen, which would not work and prevent xfwm4 from starting. If we can't use the compositor, well, we'd better not use it... Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 21, 2020
-
-
Olivier Fourdan authored
Clicking outside the tab-win would cancel the selection, make sure to revert to the original first window of the list in that case, it feels more natural and predictible. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16713 Without XRender, the mask would be misrendered and completely transparent. As a result, the entire pixmap would become totally transparent and all window decorations become invisible. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 20, 2020
-
-
Olivier Fourdan authored
Bug: 16708 With Xi2, the clients needs to reset the valuators (for mouse wheel) themselves, usually on focus events. Qt instead does that on EnterNotify, but ignores the EnterNotify events resulting from grabs first. This is a bug in Qt as that prevents the valuators to be reset if the pointer enters the window while grabbed. Precisely, xfwm4 would issue a pointer grab while cycling to prevent from random button events, and would only ungrab after the client window is raised and focused. While this is a bug in Qt, we can still work around the issue in xfwm4 by not issuing a pointer grab and simply abort the window cycling when a click occurs outside of the alt-tab window. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Update the Pango attributes whent he widget font factor is updated, then repaint all frames. With this, changing the scaling factor in the appearance settings updates the title font dynamically as well. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16067 The font height is not used anymore, remove it. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16067 Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16711 We need to keep the pango font attributes for the scale with HiDPI. This reverts commit 34a31e27.
-
- Apr 13, 2020
-
-
Olivier Fourdan authored
Bug: 16383 If the window has vanished, the XShape request will fail. Make sure all XShape requests are protected by error traps. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
As we already do an error trap/push with X11 core devices, do the same with Xi2 grabs and remove the check from the callers as it is not needed anymore. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 12, 2020
-
-
Olivier Fourdan authored
Bug: 15891 When raising a transient window we would automatically raise its parent windows. However, if the transient and parent are not placed on the same layer, we might raise the parent from a lower layer. To avoid that issue, limit the scope of search to the same or higher layers. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
When using automatic vblank mode, use a message instead of a warning. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 11, 2020
-
-
Olivier Fourdan authored
With vblank mode set to auto (default), use the GL renderer to select XPresent on Intel and AMD if available. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
glEnable() is not once the texture type is chosen, no need to do that in advance. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 09, 2020
-
-
Olivier Fourdan authored
An `else` statement was left after the recent code rework. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Apr 08, 2020
-
-
Olivier Fourdan authored
Bug: 15852 Previous attempt to fix a crash with a screensize of 0, which can occur without any output connected was incomplete (commit 3925109d) as a client might still trigger a repaint by queuing up damages. Make sure we take this case into account as well. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Bug: #16382 After hovering the currently selected item the tabwin would be left without a selected item. This patch makes sure that on the leave event the selected item regains its selected style. Also switch from GTK_STATE_FLAG_ACTIVE to GTK_STATE_FLAG_CHECKED.
-
- Apr 07, 2020
-
-
Bug: 16644 GTimeVal is deprecated, use the GDK API du jour instead.
-
Olivier Fourdan authored
Bug: 16649 With Xi2 we need to use Xi2 routines. But some client may issue standard X11 core protocol grabs the on the client window. Grabs from the standard core protocol and Xi2 grabs do not mix well. So instead of ditching the Xi2 grabs, we issue the core protocol first, check that it succeeds and only if that works we can issue the Xi2 grabs. That keeps the Xi2 grabs logic while fixing the issue with X-AIR-Edit which uses a passive grab on the pointer using core X11 protocol. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16649 This reverts commit aa3e3cac.
-
- Apr 05, 2020
-
-
Olivier Fourdan authored
Bug: 16347 XInput2 passive button grab would not fail if the button is already grabbed by the client. X-AIR-Edit is such a client which issues a button grab on its own window, meaning that with XI2 button it would not react to button events anymore. Revert to the standard grab button for the passive grabs so that such apps can still work with xfwm4. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16348 When moving a maximized window, we would not restore the actual window state. With client-side decorations, that prevents shadows from being enabled. Make sure to restore the actual client state when moving. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16067 The font height might be wrong, just get rid of it. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 16274 Blacklist the GL renderer "SVGA3D" to disable GL on Virtualbox. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Bug: 16381 This can lead to misleading situations, e.g. if you have >1 display and the edge of the next display is blurry/dark for no obvious reason.
-
- Sep 22, 2019
-
-
Olivier Fourdan authored
Bug: 15984 When running remotely, the hostname would not show in the title initially. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
Bug: 15966 When using wireframe move/resize along with transparent window decorations, the window would appear to move along with the frame. This is because the move/resize operation updates the internal data that the compositor uses for drawing the client decorations with a different opacity. To avoid the issue, just use the actual window positio nand size. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
- Sep 21, 2019
-
-
Olivier Fourdan authored
Bug: 15974 Raise delay would be ignored, because on focus change, the newly focused window would be raised as soon as it receives focus. Use the raise delay timeout instead of raising the window immediately so that the raise delay remains functional. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-
Olivier Fourdan authored
The documentation for `EXT_texture_from_pixmap` states that a compositor should bind and release the texture each time: [...] glXBindTexImageEXT() <Do rendering/compositing> glXReleaseTexImageEXT() [...] Fix the compositor to adhere to the specification. Signed-off-by:
Olivier Fourdan <fourdan@xfce.org>
-