Ghidra: Unify color/font configuration

Created on 17 Apr 2020  Â·  3Comments  Â·  Source: NationalSecurityAgency/ghidra

The way Ghidra opens ways of customizing the interface is currently far from ideal, and it's very tricky to get a consistent view in the whole tool.

In the details, as of 9.1.2, here are all the menus where we have to set the font:

  • Console
  • Decompiler → Display
  • Listing Display (done differently than the others, size control is typically has a different granularity)

And here are where we have to set the colors:

  • ByteViewer
  • Decompiler → Display
  • Entropy
  • Function graph
  • Listing Display (done differently than the others, more advanced)
  • Listing Fields → {Cursor, Cursor Text Highlight, Selection Colors}
  • Overview
  • Search

A better solution I would see would be to first have a common view for all the available color and font customizations. Then presets (or palettes of colors) could be added easily. The remaining UI widgets can be stylized through the engine itself (typically by picking GTK+).

All the different views of the UI would use these shared color and font settings instead of their own: there is no reason someone would wish for an inconsistent experience between the different view.

Most helpful comment

BTW, many colors are hard-coded and can't be changed ever from the options menu (issues, for example: #49, #1324, #632, #1390, etc). I rewrote many such places in the source code for changing colors to a dark, but I’m sure that there are still hard-coded places.

Relates to issue #13. Ghidra's developers have in plans to unify settings of UI and create theme manager.

All 3 comments

If there isn't a hidden "common view"/global font color, style, etc setting somewhere then I highly agree. While it is nice to be able to customize things individually it should always be possible to choose the default behavior.

BTW, many colors are hard-coded and can't be changed ever from the options menu (issues, for example: #49, #1324, #632, #1390, etc). I rewrote many such places in the source code for changing colors to a dark, but I’m sure that there are still hard-coded places.

Relates to issue #13. Ghidra's developers have in plans to unify settings of UI and create theme manager.

some time it is as easy as to comment a line:
https://github.com/pabx06/buildghidra/blob/8c75127ec14aaf9dadc963d9dfa8cc99ae24fff1/patch/InfoPanel.patch#L27
so the default applied look and feel do the coloring.
image

Was this page helpful?
0 / 5 - 0 ratings

Related issues

astrelsky picture astrelsky  Â·  3Comments

rrivera1849 picture rrivera1849  Â·  3Comments

Barakat picture Barakat  Â·  3Comments

huettenhain picture huettenhain  Â·  3Comments

0x6d696368 picture 0x6d696368  Â·  3Comments