1
0
mirror of synced 2024-12-01 02:37:18 +01:00
ImHex/plugins
David Mentler 751eff0edf
impr: Restore native macOS title bar double click gesture in borderless mode (#1689)
### Problem description

#### Problem 1
In borderless mode ImHex disables the standard macOS titlebar rendering
and input processing. As a result double clicking the titlebar does not
trigger the native macOS behavior set in `System Settings -> Desktop &
Dock -> Double-click a window's title bar to [Zoom/Minimize/Do
nothing]`.

#### Problem 2
The ImHex window shows up as blank/transparent when de-minimizing it
from the dock.

#### Problem 3
Widgets experience ghost hover inputs from the past position of the
cursor during live resizing.

### Implementation description
ImGui elements consume input events in the order they are drawn. As a
result by "drawing" an `InvisibleButton` over the content area of the
titlebar we can catch unprocessed clicks in the titlebar area.
Connecting this button's double clicks to the native window is then a
trivial endeavour.

The blank windows was caused by the rendering stack clearing the GL
buffer, but proceeding to draw nothing in it. I have short circuited
this path.

Ghost hover inputs were squelched by consistently moving the ImGui
cursor to `0, 0` during a live resize. The OS will dispatch a cursor
positioning event once the resizing ends, restoring normal behavior.

### Screenshots
N/A

### Additional things
N/A

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2024-05-20 11:27:57 +02:00
..
builtin impr: Restore native macOS title bar double click gesture in borderless mode (#1689) 2024-05-20 11:27:57 +02:00
decompress impr: Display background scripts in about page 2024-05-08 22:30:53 +02:00
diffing lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
disassembler lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
fonts fix: Icons not being fractionally scaled anymore 2024-03-28 22:15:30 +01:00
hashes lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
script_loader lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
ui lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
visualizers lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
windows lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00
yara_rules lang: Added Hungarian translations (#1683) 2024-05-19 14:33:33 +02:00