Commit Graph

2181 Commits

Author SHA1 Message Date
WerWolv
21a94d67c2 patterns: Update pattern language 2026-03-10 12:48:05 +01:00
WerWolv
f7f70a16da patterns: Update pattern language 2026-03-09 21:06:46 +01:00
WerWolv
a2fc9325c9 fix: Shortcuts not getting dispatched to menu inherit view correctly 2026-03-03 13:46:16 +01:00
WerWolv
380b1dbce3 fix: Menu bar focus issues 2026-03-03 13:45:54 +01:00
paxcut
d20d6736b3 feat: main views retain focus on ui interactions (#2650)
Currently, interactions with the user interface, like changing providers, opening menus or even resizing windows, take the focus away from the main views. This PR resets focus to the child  (if view has no children then the view's window itself is used)  of the view that had focus before the interaction took place. 

It was tested by interacting with menus,  changing providers, using toolbar icons, using command palette, resizing windows or widgets of the view itself that are not children windows of the main view (e.g.  running a pattern and having focus return to the pattern editor when evaluation ends. or using the icons in the hex editor)  and also by selecting the main view itself. To clarify this last item, if you click on the view tab (not the provider tab but the view tab itself) the focus will be restored to the child that had focused before the tab was clicked 

There is no attempt to recover the active status of widgets within the window but it can be easily recovered by clicking the Tab key once. Some views, like the pattern data view, can set other views to focus depending on where they are clicked.

The implementation saves the the child sub-window in a pointer of the view and is only changed if another child is given focus. Then various UI interactions are detected with care not to change focus while the interaction occurs. The end of the interaction is detected by checking if undesired items are the ones that have focus (these undesired values only occur when the UI interaction ends) and if they are, then the focus is restored to the window that is stored in the view pointer.
2026-02-27 23:46:31 -07:00
WerWolv
0d9ea8a1d1 fix: Project file saving not working corectly when paths contains non-ascii characters
Fixes #2654
2026-02-12 22:02:41 +01:00
WerWolv
b6a90aa89d fix: libbacktrace implementation 2026-02-12 21:57:37 +01:00
WerWolv
060f0e6e56 web: Move over to contrib.glfw3 2026-02-12 21:57:20 +01:00
WerWolv
a5008722aa fix: Font scaling on Windows / macOS 2026-02-08 22:11:10 +01:00
WerWolv
f476842008 impr: Make fonts look less blurry with Wayland fractional scaling 2026-02-06 22:12:40 +01:00
WerWolv
7f889a75bb build: Update libwolv 2026-02-06 21:27:12 +01:00
WerWolv
81e561d47b fix: Scrolling view open state not getting saved anymore 2026-01-29 19:43:57 +01:00
paxcut
d6781e7f93 fix: issue 2631 (#2633)
problem occurs because there is no check for duplicate entries in the
paths vector.

The fix is implemented using the combination of two containers; a vector
to ensure the insertion order and a set to ensure the uniqueness the
entries. The set first attempts to insert the new path and uses the
return of insertion to decide if the vector needs to be updated.
2026-01-28 16:12:36 -07:00
WerWolv
fc38c27769 fix: Heap buffer read overflow when inserting bytes 2026-01-24 22:59:30 +01:00
WerWolv
93fc6f2de1 patterns: Update pattern language 2026-01-19 22:25:51 +01:00
WerWolv
a7e94e31c9 build: Update libwolv 2026-01-18 14:31:21 +01:00
WerWolv
4a311ed69f fix: Multiple issues with undo/redo stack handling 2026-01-17 21:03:36 +01:00
WerWolv
220b5f9772 patterns: Update pattern language 2026-01-15 20:47:29 +01:00
WerWolv
42fd5b0fef patterns: Update pattern language 2026-01-15 20:39:04 +01:00
WerWolv
8cb23e8200 build: Don't build test engine if it's disabled 2026-01-13 18:02:27 +01:00
WerWolv
d004eb3048 fix: Occasional crash on Linux when closing task manager 2026-01-12 20:43:01 +01:00
WerWolv
dccd74667e fix: Texture ids not getting reset correctly in destructor 2026-01-12 20:42:23 +01:00
WerWolv
6d0dfcfe2e fix: Does WebGL use GLES2 after all? 2026-01-10 14:15:56 +01:00
WerWolv
9e165ac4a1 impr: Add more broader support for GLES3
Closes #2608
2026-01-10 11:49:58 +01:00
Nik
d62abaed8d build: Add support for x86 macOS 10.15 and ARM64 macOS 11.0 (#2607)
This PR drops the use of brew for dependency management in favor of
macports so we can support lower macOS versions instead of just the
lowest one supported by Apple

Closes #2586
2026-01-09 17:42:51 +01:00
iTrooz
1fb7a318ed chore: remove jthread added inadvertently 2026-01-09 16:49:43 +01:00
iTrooz
e29ae631fc ci: always take artifacts from master branch in nightly release 2026-01-09 16:43:18 +01:00
WerWolv
f4b2be9334 chore: Cleanup logs slightly 2026-01-07 21:27:41 +01:00
WerWolv
550fe8e4aa impr: Add MCP Client information to footer icon tooltip 2026-01-07 17:12:40 +01:00
WerWolv
2064aea3b6 fix: ImHex processes getting stuck in the background
Fixes #2611
2026-01-07 17:12:17 +01:00
WerWolv
6eedb469e9 fix: Notifications on Web build causing exceptions 2026-01-07 09:45:30 +01:00
WerWolv
684373b88b fix: Properly forward stdin to main process from forwarder
(cherry picked from commit 1fc857cf7d2a9a525dec5fcda0727a39046b6c86)
2026-01-07 09:45:30 +01:00
WerWolv
49e14e6e7c build: Update dependencies 2026-01-03 22:44:46 +01:00
WerWolv
8fc2d6b225 impr: Disable exception wrapping as it causes a lot of slowdowns 2026-01-03 20:41:17 +01:00
WerWolv
598914a67a fix: Windows notifications filling up tray area 2026-01-03 11:04:33 +01:00
WerWolv
3274649b77 fix: Task finished notification showing up regardless of focus state on Windows 2026-01-03 10:48:46 +01:00
WerWolv
fd8b70fb12 fix: Settings not always applying correctly 2025-12-30 19:12:00 +01:00
WerWolv
42da24e31d patterns: Update pattern language
Fixes #2589
2025-12-30 14:51:10 +01:00
WerWolv
54d9f8ec5c fix: Build on MSVC, properly handle empty files 2025-12-30 10:30:14 +01:00
WerWolv
73a17308cc feat: Allow opening special files with no specific size 2025-12-30 09:34:45 +01:00
WerWolv
40b604c6e4 fix: ImGui-internal shortcuts not working correctly with native macOS menu bar enabled
(cherry picked from commit f0f6a22391)
2025-12-29 19:32:25 +01:00
WerWolv
1fd3580f97 web: Let ImHex Web run more standalone
(cherry picked from commit f76ea2a677)
2025-12-29 19:32:25 +01:00
WerWolv
e28f3b75a4 fix: Make sure updater properly exists after launching update process 2025-12-29 13:35:44 +01:00
WerWolv
b23ce7ba18 impr: Replace achievement icons with font icons 2025-12-27 12:00:58 +01:00
WerWolv
6165f891ca fix: Get rid of std::common_type in settings API 2025-12-27 10:31:28 +01:00
WerWolv
7df4b1157c impr: Make sure all data is received by MCP bridge 2025-12-27 10:21:38 +01:00
paxcut
64cbd5fc8d Make the syntax highlighter more thread safety aware (#2585)
By creating copies of the required inputs on the main thread just before
the task is spawned. A;so if task is still running when new data can be
copied then the task is interrupted thus avoiding concurrency without
mutexes. Atomics are used to signal state information used to determine
what and when to spawn.

Also includes update to pattern editor library and some fixes to syntax
highlighting error when custom types defined inside namespaces were used
inside the namespaces without the full qualified name and other small
changes mostly to improve the current style.
2025-12-26 20:21:19 -07:00
WerWolv
ba7e789a80 feat: Add support for executing patterns using MCP 2025-12-26 22:33:05 +01:00
WerWolv
88c37bb7d9 impr: Handle MCP error when no instance of ImHex is running better 2025-12-26 22:33:05 +01:00
WerWolv
59b4f4efce impr: Add abstraction for common variable-saved-as-setting code pattern 2025-12-26 22:33:05 +01:00