6276 Commits

Author SHA1 Message Date
paxcut
854535fec6 fix: Some variables are incorrectly highlighted as errors (#2690)
Non-auto function arguments of custom types defined inside a namespace
made the highlighter unable to check if member uses inside the function
are valid. Argument types were not parsed as fully qualified types and
the problem is corrected by making sure that fully qualified names are
used when they are found in function arguments.

An example of a pattern that shows the error is id3.hexpat in the which
uses unqualified types. In order to obtain the correct highlighting then
you have to add the namespace to all custom types even if they are being
used inside the namespace. Type names without namespace are considered
by the syntax highlighting code as belonging to the global scope
regardless of where the use takes place.
nightly
2026-03-20 10:45:01 -07:00
paxcut
a109e14ee3 fix: hex editor selection scrolling. (#2691)
Currently, if you start a selection in the middle of a largish file and
without letting go of the left mouse key you place the mouse at the top
line of the hex editor view then the selection will expand upwards and
at some point the start of the selection will go out of view. If then
you move the cursor (without letting go of the left mouse button) to the
last line of the hex editor view you would expect that the end of the
selection would start to increase in value, but it does nothing instead.
A similar issue occurs at the other end.

The problem is that the code only allows the upward scrolling when
moving the smaller address end to the first line, but it should also
allow it when the bigger address end to the first line. This means that
it doesn't matter which of the two ends is larger and this code removes
the conditions on the relative sizes of the two ends allowing for
selection growth to reverse direction.
2026-03-20 09:07:55 -07:00
WerWolv
eca7597aca patterns: Update pattern language 2026-03-19 18:19:01 +01:00
WerWolv
936b5b6312 build: Update GLFW backend 2026-03-19 18:17:46 +01:00
WerWolv
cea63f6561 build: Update ImGui 2026-03-19 18:17:46 +01:00
WerWolv
7083b6ab3e impr: Recursively trigger inherited view shortcuts 2026-03-19 18:17:46 +01:00
paxcut
432e16e0c4 fix: pattern editor find/replace. (#2686)
A recent commit broke the pattern editor popups for fin/replace and goto
line. The problem was cause by changes to the function that returns the
name of the currently focused subwindow using a function that only
updates when ImHex main window losses focus. The commit was aimed at
fixing evaluation of shortcuts in pattern data view and pattern editor
simultaneously but missed to fix some shortcuts like cut and paste.

The fix substitutes how the subwindow is first selected by using the
result of the subwindow selection used by imhex to insure that menus and
other ui components don't steal focus from views. The function that
returns the name of the current focused subwindow was changed to use
this value. This fixes both the window popups of pattern editor and all
the shortcut duplications.
2026-03-14 16:59:32 -07:00
WerWolv
8d691b2e6a web: Fix display issues 2026-03-14 17:14:04 +01:00
paxcut
f3ccbb9b84 fix: data inspector crash (#2685)
When ImHex starts it crashes from a segv fault caused by uninitialized
m_selectedRegion member.
Fixed by adding default initializer.
2026-03-13 19:21:38 -07:00
WerWolv
a4af283a37 impr: Allow data inspector shortcuts to work when hex editor is selected 2026-03-13 21:11:10 +01:00
WerWolv
27935b1234 impr: Mark SettingsVariable constructor as noexcept 2026-03-13 21:01:17 +01:00
WerWolv
ea0b97a066 fix: Main menu item overflow not showing all menus when some are hidden 2026-03-13 21:01:16 +01:00
WerWolv
e668feb807 feat: Add setting to only show data inspector rows matching exact size
#2684
2026-03-13 21:01:16 +01:00
WerWolv
21a94d67c2 patterns: Update pattern language 2026-03-10 12:48:05 +01:00
paxcut
fbd6d6b9fc fix: popup when highlighting was cancelled (#2678)
Popup was caused by old code that set the interrupt flag when the
exception was caught in the thread and was already fixed in the code
folding branch.
2026-03-09 21:46:51 -07:00
WerWolv
257d122a9f git: Downgrade LLVM to 21.X.X for macOS x86
LLVM 22+ no longer supports such old macOS versions
2026-03-09 21:07:27 +01:00
WerWolv
f7f70a16da patterns: Update pattern language 2026-03-09 21:06:46 +01:00
WerWolv
aa5a83444d impr: Add Create new file and Open file menu entries to all views again 2026-03-09 11:53:25 +01:00
WerWolv
d25c80c0a5 fix: Shortcuts displayed in main menu not matching actual shortcuts 2026-03-09 11:52:08 +01:00
WerWolv
6f83b050cd fix: Pattern editor shortcuts applying when text input in pattern data view is selected 2026-03-09 10:46:55 +01:00
WerWolv
72e177aafc fix: Exception popup when canceling highlighting 2026-03-09 10:46:55 +01:00
Stephen Hewitt
5648378837 fix: Use UTC for data inspector date/time display (#2675)
time_t should not be converted to local time zone.
2026-03-08 21:29:42 +01:00
WerWolv
c1cdef7ca1 fix: Taskbar menu items showing up in command palette 2026-03-03 22:45:13 +01:00
WerWolv
4b07f7745b fix: Default font size being too small 2026-03-03 13:46:26 +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
WerWolv
04a8bd6798 fix: Cached provider invalidation on reload not being done correctly 2026-03-02 10:07:57 +01:00
WerWolv
0cf27b9e9e fix: SSH Provider size detection not working correctly 2026-03-02 09:24:03 +01:00
Nik
4a091f452e build: Update vcpkg manifest baseline commit 2026-03-01 10:37:57 +01:00
qux-bbb
ffa8b0d0db lang: Update zh_CN.json (#2580) 2026-03-01 09:37:24 +01:00
WerWolvTranslationBot
ff65217b7e lang: Translations update from Weblate (#2624)
Translations update from [Weblate](https://weblate.werwolv.net) for
[ImHex/Builtin](https://weblate.werwolv.net/projects/imhex/builtin/).


It also includes following components:

* [ImHex/Diffing](https://weblate.werwolv.net/projects/imhex/diffing/)

* [ImHex/UI](https://weblate.werwolv.net/projects/imhex/ui/)

* [ImHex/Fonts](https://weblate.werwolv.net/projects/imhex/fonts/)

*
[ImHex/Disassembler](https://weblate.werwolv.net/projects/imhex/disassembler/)

* [ImHex/Hashes](https://weblate.werwolv.net/projects/imhex/hashes/)

* [ImHex/Remote](https://weblate.werwolv.net/projects/imhex/remote/)

* [ImHex/Script
Loader](https://weblate.werwolv.net/projects/imhex/script-loader/)

*
[ImHex/Visualizers](https://weblate.werwolv.net/projects/imhex/visualizers/)

* [ImHex/Yara
Rules](https://weblate.werwolv.net/projects/imhex/yara-rules/)

* [ImHex/Windows](https://weblate.werwolv.net/projects/imhex/windows/)



Current translation status:

![Weblate translation
status](https://weblate.werwolv.net/widgets/imhex/-/builtin/horizontal-auto.svg)

Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: PICOPress <choys041011@gmail.com>
Co-authored-by: Yaroslav <mrikso821@gmail.com>
2026-03-01 09:36:14 +01:00
Sandy
1b90bb2c34 fix: Allow access to web docker app from outside container (#2659)
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->

### Problem description
When trying to install imhex as a docker container using
`ghcr.io/werwolv/imhex/imhex-web`, the 9090 port doesn't connect to
anything on the host server. Connections to 9090 work inside the
container.

This is because the `localhost` address is `127.0.0.1` which does not
allow for access from outside.

### Implementation description
Change server binding from `localhost` to `0.0.0.0` to allow connections
from all interfaces, no just `lo`.

### Screenshots

<img width="345" height="257" alt="image"
src="https://github.com/user-attachments/assets/2825ac11-657c-4c34-b918-60c4a2750b0f"
/>

Where 9090 is before and 9091 is after the change.

Before
<img width="846" height="339" alt="image"
src="https://github.com/user-attachments/assets/4635467d-5190-49a8-bd97-f678f364250d"
/>

After
<img width="835" height="969" alt="image"
src="https://github.com/user-attachments/assets/af3f0228-ae0b-4704-89c9-50b32c2198eb"
/>


### Additional things
<!-- Anything else you would like to say -->
2026-03-01 09:34:32 +01:00
Nik
1018aea395 git: Update vcpkg committish for MSVC builds 2026-03-01 09:32:20 +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
5333a33775 fix: Why Ubuntu... 2026-02-12 22:07:27 +01: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
paxcut
800a24b42e fix: Dirty projects on load. (#2649)
When a project is loaded it is set to dirty without any changes so that
it goes through the steps that patterns with changes go through. The fix
uses a different starting step that doesn't set the dirty flags when
changing providers or loading projects.
2026-02-09 20:21:51 -07:00
WerWolv
a5008722aa fix: Font scaling on Windows / macOS 2026-02-08 22:11:10 +01:00
WerWolv
a0b0082d98 git: Make sure WiX 6 gets installed 2026-02-08 22:10:50 +01:00
WerWolv
f476842008 impr: Make fonts look less blurry with Wayland fractional scaling 2026-02-06 22:12:40 +01:00
WerWolv
d39d107de4 fix: Copy As -> C# Array producing invalid syntax
Fixes #2648
2026-02-06 21:44:42 +01:00
WerWolv
7f889a75bb build: Update libwolv 2026-02-06 21:27:12 +01:00
Nemoumbra
70fdbd4a48 feat: Add request restart option to debug menu (#2636)
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->

### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->
Hopefully this will help us debug the bugs that appear once ImHex
restarts a little easier.

### Screenshots
<!-- If your change is visual, take a screenshot showing it. Ideally,
make before/after sceenshots -->
<img width="372" height="182" alt="image"
src="https://github.com/user-attachments/assets/1f27443e-9eaa-465a-b545-c2bbf0b56ca4"
/>
2026-01-29 21:16:55 +01:00
WerWolv
71c71c5bbf fix: Merge error 2026-01-29 20:18:17 +01:00
WerWolv
ade8c8f68d feat: Add Open Source File option to custom data inspector rows 2026-01-29 19:54:53 +01:00
WerWolv
16b02caf7a fix: Clicking on data inspector row clearing data inspector window if required size is zero 2026-01-29 19:54:36 +01:00
WerWolv
dc1c205fb1 fix: Inverted logic for custom inspector row evaluation 2026-01-29 19:53:48 +01:00
WerWolv
b974533f96 lang: Remove duplicate entry 2026-01-29 19:53:09 +01:00