Skip to content

ida: add adjustable font menu in IDA plugin#2995

Open
vee1e wants to merge 12 commits intomandiant:masterfrom
vee1e:fix/2570-adjustable-font-size
Open

ida: add adjustable font menu in IDA plugin#2995
vee1e wants to merge 12 commits intomandiant:masterfrom
vee1e:fix/2570-adjustable-font-size

Conversation

@vee1e
Copy link
Copy Markdown

@vee1e vee1e commented Apr 6, 2026

Closes #2570

Summary

  • default all explorer fonts to FixedFont so high‑DPI displays benefit from Qt’s DPI-aware sizing
  • add a "Font" button in "Settings" panel to change font with live updates.

Checklist

  • No CHANGELOG update needed
  • No new tests needed
  • No documentation update needed
  • This submission includes AI-generated code and I have provided details in the description.

Visual Output

MacOS

out.mp4

Linux

[WIP]

There's still bugs, a few nasty crashes and I haven't verified it on Linux/Windows so keeping this as draft for now.

also one trailing whitespace trim in CHANGELOG, that's just an artifact of my vim config auto stripping them.

Disclaimer: GPT Codex 5.1 mini and 5.4 were used to research on Qt documentation and parse the large crashdump report.

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add bug fixes, new features, breaking changes and anything else you think is worthwhile mentioning to the master (unreleased) section of CHANGELOG.md. If no CHANGELOG update is needed add the following to the PR description: [x] No CHANGELOG update needed

@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 6, 2026

@gemini-code-assist review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces user-configurable font settings for the capa IDA plugin, adding a font selection dialog and ensuring the chosen font is propagated across the main UI components, including the rule generator and data models. Review feedback highlights opportunities to refactor duplicated font-loading logic, improve the consistency of font application across all UI elements (such as search bars and status labels), and ensure that hardcoded labels also respect the user's font preferences.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a feature allowing users to customize the font used throughout the plugin UI, including a new font selection dialog and propagation logic across various components. The review feedback suggests refactoring duplicated font-loading logic into a helper method, improving the maintainability of the font propagation loop in the main form, and adding missing docstrings to new methods for better consistency.

@github-actions github-actions bot dismissed their stale review April 6, 2026 16:24

CHANGELOG updated or no update needed, thanks! 😄

@vee1e vee1e changed the title fix: add adjustable font menu fix: add adjustable font menu in IDA plugin Apr 6, 2026
@vee1e vee1e changed the title fix: add adjustable font menu in IDA plugin ida: add adjustable font menu in IDA plugin Apr 7, 2026
@vee1e vee1e force-pushed the fix/2570-adjustable-font-size branch from 7047e16 to 6f68b9f Compare April 8, 2026 05:08
@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 8, 2026

@gemini-code-assist review

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a "Font…" action to the IDA plugin, allowing users to customize the explorer font with desktop DPI awareness. Key changes include adding font settings to the configuration dialog, implementing font propagation across various UI components (tree views, editors, and previews), and ensuring that tree expansion states are preserved during font updates. The reviewer feedback highlights opportunities to refactor duplicated font retrieval logic, extend font updates to static labels in the Rule Generator tab for UI consistency, and add a null check when traversing the proxy model chain to improve code robustness.

vee1e and others added 3 commits April 8, 2026 10:50
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@vee1e vee1e marked this pull request as ready for review April 8, 2026 05:32
@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 8, 2026

Ready for review, MacOS demo video is given in the description. Please let me know if anything else is needed.

@Still34 can you try? I haven't tested the latest commit on Linux yet, but it should work like before.

Also @mike-hunhoff do you have any additional review comments? I saw the previous closed PR and implemented the changes you requested in this too.

@Still34
Copy link
Copy Markdown

Still34 commented Apr 8, 2026

So it looks like it works, but the font for whatever reason looks very different now out of the box. I think only select few elements were using Courier before by default?

image

@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 8, 2026

Yup, FixedFont is the system default mono font that's set on every element now.

@Still34
Copy link
Copy Markdown

Still34 commented Apr 8, 2026

I'm not sure if I agree with this change, for non-code specific elements I think what we had previously makes more sense in readability.

@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 8, 2026

yeah from your screenshot it seems to kill visibility a lot. i'll revert those elements back to normal ida fonts.

@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 8, 2026

made a few changes, now normal UI elements like "Rule Information" and "Address" aren't addressed by the font selector. also non-monospaced fonts persist that way.
@Still34 please make further suggestions if some elements are still showing up poorly.

out.mp4

@vee1e
Copy link
Copy Markdown
Author

vee1e commented Apr 11, 2026

@mr-tz @mike-hunhoff would you be open to review this and potentially test it on Linux/Windows? I've verified the intended functionality with MacOS (~25s demo video above).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add adjustable font size for HiDPI monitors for IDA plugin

2 participants