Bjorn Schobben
c65a3e2d6e
Viewports: consume exact setter echoes before Begin.
...
Leftover PlatformRequestMove/Resize from a successful Set (Win32 WM_MOVE)
stayed authoritative through the following Begin, so SetNextWindowPos/Size,
clamp, and nav updates on a floating viewport were discarded. Apply the
platform rect in NewFrame and clear the flag when geometry matches the last
submitted request. Keep the flag when the OS actually adjusted the rect.
Drag rebase compares truncated LastPlatform* so a clamped axis does not
hitch the free one.
GLFW: drop the second X connection. Poll live geometry after a stable
unanswered X11 Set instead. Pre-3.4 IsWayland() no longer assumes Wayland
when X11 native headers are missing.
2026-08-19 01:05:05 +02:00
Bjorn Schobben
b3ea4243b1
Fix GLFW X11 viewport synchronization
2026-08-12 15:51:11 +02:00
ocornut
d098bf9657
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2026-07-03 16:59:31 +02:00
ocornut
9e6c0416fe
Backends: GLFW,SDL2,SDL3: added wayland/driver marker in io.BackendPlatformName.
...
+ Stored bd->IsWayland variable for e.g. #7433
2026-06-29 18:26:59 +02:00
ocornut
a31071573b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlrenderer2.cpp
# backends/imgui_impl_sdlrenderer2.h
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2026-04-23 22:11:04 +02:00
ocornut
f2f843c113
Fixed some extremely zealous warnings (GCC -Wconversion, -Wdouble-promotion)
...
(amend a1e0552)
2026-04-23 17:23:43 +02:00
ocornut
dee5bf3ec3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2026-04-23 16:07:01 +02:00
ocornut
a1e05521e9
Backends: GLFW: added a Win32-specific implementation of ImGui_ImplGlfw_GetContentScaleXXXX functions for legacy GLFW 3.2. ( #9003 )
...
Since we ship GLFW 3.2 binaries for Windows this makes our examples a little better behaving by default.
Ideally we'd use ImGui_ImplWin32_GetDpiScaleForHwnd() and ImGui_ImplWin32_GetDpiScaleForMonitor() but they are too much code to copy.
2026-04-21 17:24:41 +02:00
ocornut
fe5c5298a6
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.h
2026-03-31 21:48:34 +02:00
ocornut
51f590a2a8
Backends: GLFW: mouse cursor is properly restored if changed by user app/code while using glfwSetInputMode(..., GLFW_CURSOR_DISABLED) or ImGuiConfigFlags_NoMouseCursorChange. ( #9322 )
...
Amend 9a4fd69f6
2026-03-25 14:17:29 +01:00
ocornut
943fcc4f10
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.cpp
2026-02-10 20:52:55 +01:00
ocornut
9f30044333
Backends: GLFW: try to set IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND automatically if headers are not available. ( #9225 )
...
Amend/fix 10d0162378 for system without X11/Wayland headers. (#8921 , #8920 , #8969 )
2026-02-10 20:50:46 +01:00
ocornut
63e9fbc265
Backends: GLFW: fix previous commit, would break multi-monitor. ( #9195 , #7902 , #5683 )
...
Amend be2cfc2
2026-01-28 14:51:21 +01:00
ocornut
be2cfc26c9
Backends: GLFW: improve workarounds for cases where GLFW is unable to provide reliable monitor info. ( #9195 , #7902 , #5683 )
2026-01-25 13:24:20 +01:00
ocornut
2a08c87b8c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_sdlrenderer2/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_directx11/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_sdl3_sdlgpu3/main.cpp
# examples/example_sdl3_sdlrenderer3/main.cpp
# examples/example_sdl3_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# examples/example_win32_opengl3/main.cpp
# examples/example_win32_vulkan/main.cpp
# imgui_internal.h
2026-01-23 16:05:50 +01:00
ocornut
21d3299e58
Backends: fixed reappearing uses to NULL to favor nullptr.
2026-01-15 16:09:01 +01:00
Dario Mylonopoulos
84a9d532b6
Backends: GLFW: Load X11 functions dynamically to avoid x11 linking requirement. ( #9116 , #9109 )
...
Amend 6b2cdf2 (#8884 , #8474 , #8289 )
2026-01-08 14:55:10 +01:00
ocornut
9ce41a92c3
Misc/shallow merges from docking branch to reduce small drift.
2026-01-08 14:31:25 +01:00
ocornut
0a4783309d
Renamed IM_ARRAYSIZE() -> IM_COUNTOF(). Amend 4e7c055 for branch.
2025-12-21 18:06:51 +01:00
ocornut
26f7b2f5aa
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2025-12-21 18:05:20 +01:00
ocornut
4e7c05504a
Renamed IM_ARRAYSIZE() -> IM_COUNTOF(). Kept legacy name for now.
2025-12-17 14:30:01 +01:00
ocornut
9ca7ea00c8
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2025-12-11 23:25:47 +01:00
ocornut
a07b2828ce
Backends: GLFW: add IMGUI_IMPL_GLFW_DISABLE_X11 / IMGUI_IMPL_GLFW_DISABLE_WAYLAND. ( #9109 , #9116 )
...
cc #8884 , #8474 , #8289
2025-12-10 18:57:02 +01:00
ocornut
9a4fd69f6d
Backends: GLFW: avoid repeated glfwSetCursor()/glfwSetInputMode() calls when unnecessary.
2025-12-10 18:35:22 +01:00
ocornut
5e462eb29b
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
2025-11-18 19:20:08 +01:00
ocornut
6ae32c696a
Backends: fixed misc zealous Clang warnings.
2025-11-18 16:34:35 +01:00
ocornut
219ba3b617
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui_demo.cpp
# imgui_internal.h
2025-11-17 15:38:58 +01:00
ocornut
9e15ebb402
Backends: GLFW: fixed last ImGui_ImplGlfw_Shutdown() call not immediately clearing the context map. ( #9075 , #8676 , #8239 , #8069 )
...
Amend/fix f633a6058
2025-11-17 13:38:17 +01:00
ocornut
3109131a88
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# imgui.cpp
# imgui_internal.h
2025-11-06 18:11:16 +01:00
Clownacy
59db6ceeb1
Backends: GLFW: lower minimum requirement from GLFW 3.1 to GLFW 3.0. ( #9055 )
2025-11-06 15:25:11 +01:00
ocornut
95e047244e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
# examples/example_sdl3_vulkan/main.cpp
2025-10-23 21:05:22 +02:00
ocornut
b46f099a3f
Backends: GLFW: fixed building on Linux platforms where Wayland headers are not available. ( #9024 , #8969 , #8921 , #8920 )
2025-10-20 23:57:09 +02:00
ocornut
a0a6639fb5
Viewports: rename ImGuiBackendFlags_HasParentViewportId->ImGuiBackendFlags_HasParentViewport. ( #8948 )
...
Introduced yesterday by 50a8bb2.
2025-10-02 16:20:24 +02:00
ocornut
50a8bb2711
Viewports: added ImGuiBackendFlags_HasParentViewportId backend flag. ( #8948 )
2025-09-30 17:38:06 +02:00
ocornut
1aa91ac426
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
2025-09-29 16:16:16 +02:00
ocornut
e459e5bf0a
Backends: GLFW: fixed build on platform that are neither Windows, macOS or known Unixes. ( #8969 , #8920 , #8921 )
...
Fix 10d0162.
x
2025-09-29 16:12:33 +02:00
ocornut
e285ecca09
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2025-09-24 14:54:46 +02:00
ocornut
a1c0836bec
Viewports: changed default value of io.ConfigViewportsNoDefaultParent to true. ( #8948 , #3152 , #2871 )
2025-09-22 15:56:10 +02:00
ocornut
aa9476a38a
IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). ( #8945 , #2769 )
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.h
2025-09-18 17:02:44 +02:00
ocornut
d4f722d5b2
IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). ( #8945 , #2769 )
2025-09-18 16:58:50 +02:00
ocornut
34bff4672c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_win32_opengl3/main.cpp
# examples/example_win32_vulkan/main.cpp
# imgui.h
2025-09-17 18:48:39 +02:00
ocornut
6274ca4266
Backends: GLFW: fixed build for Emscripten which doesn't expose glfw3native.h.
...
Amend 10d0162
2025-09-15 19:28:01 +02:00
ocornut
d92c8c6aff
Backends: SDL2: Content Scales are always reported as 1.0 on Wayland. ( #8921 )
...
SDL_GetDisplayDPI() seems generally broken on X11/Wayland, but our logs shows that on Wayland we get both a content scale from SDL_GetDisplayDPI() and a framebuffer scale.
2025-09-15 19:20:56 +02:00
ocornut
72c00f39c1
Backends: GLFW: fix ImGui_ImplGlfw_IsWayland() amend broken 10d0162. ( #8921 , #8920 )
...
Accidentally broke this while shuffling code...
2025-09-15 19:16:05 +02:00
ocornut
2675b7ca26
Backends: GLFW: Content Scales always reported as 1.0 on Wayland, FramebufferScale always reported as 1.0 on X11. ( #8920 , #8921 )
2025-09-15 18:55:09 +02:00
ocornut
10d0162378
Backends: GLFW: added ImGui_ImplGlfw_IsWayland(). ( #8921 , #8920 )
...
(technically presently untested but we've researched this)
2025-09-15 18:40:22 +02:00
ocornut
a4cd45f44c
Backends: GLFW: fixed imgui_impl_glfw.cpp being affected by X headers '#define Status' leak since 6b2cdf2. ( #8884 )
2025-09-12 19:51:31 +02:00
ocornut
37b18acdf5
Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11). Amends. ( #8884 , #8474 , #8289 )
2025-09-10 20:28:30 +02:00
ikos3k
6b2cdf29bc
Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11) ( #8884 , #8474 , #8289 )
...
- Implement _NET_WM_WINDOW_TYPE_DIALOG for viewports
- Fix override_redirect for proper WM control
- Tested on i3wm and xfce4
2025-09-10 20:04:04 +02:00
ocornut
ab760992ad
Merge branch 'master' into docking
2025-09-08 13:35:24 +02:00