This section describes settings and additional configuration panels offered by the GUI client.

# Theme

JEB ships with several light and dark themes, including the well-known [Solarized](https://ethanschoonover.com/solarized/) and [Tomorrow](https://github.com/chriskempson/tomorrow-theme) themes. You may change and customize your theme via the *Edit* menu (or the *Application* menu on Mac), *Font and Style* handler.

The default theme will attempt to match the system's dark-mode setting.

[![Sample light theme](img/dc4f5b89-small.png)](img/dc4f5b89.png)

[![Sample dark theme](img/55212a5d-small.png)](img/55212a5d.png)


## Code font

**Make sure to select a fixed font.** JEB tries its best to select the most appropriate font on your system. If that fails, and you wish to select a font manually, we recommend *Consolas* on Windows, *Menlo/Monaco* on Mac, or *DejaVu Sans Mono* on Linux.

!!! note "Unicode"
    JEB supports Unicode. While the aforementioned fonts have good support for a variety of common non-ASCII planes (CJK, Cyrillic, etc.), you might need to use a different font to properly examine strings written in exotic locales.

# Keyboard Shortcuts

Most JEB command handlers can be triggered by keyboard shortcuts. The default shortcuts are visible when visualizing menu items.

To customize keyboard shortcuts:

- in JEB's bin/ folder, copy `jeb-shortcuts.cfg.TEMPLATE` to `jeb-shortcuts.cfg`
- edit `jeb-shortcuts.cfg`: uncomment the command lines for which you wish to use custom keyboard shortcuts

Refer to the `jeb-shortcuts.cfg.TEMPLATE` file in your bin/ folder for details:

```raw
#------------------------------------------------------------------------------
# JEB Custom Keyboard Shortcuts
#------------------------------------------------------------------------------

# 1) Rename or copy this file to jeb-shortcuts.cfg
# 2) Uncomment and add your own keyboard shortcuts for the actions for which you'd like to override the default shortcuts

# Example: by default, Jump is mapped to the 'G' key; the following line (minus the # character) can be used to remap the action to CTRL+J:
#jump=Ctrl+J

# *** CUSTOMIZABLE HANDLERS ***

#runScript=
#runLastScript=
#share=
...
```

Example:

[![Changing the shortcut for the 'Comment' action to ';' (instead of '/')](img/4fa924c5-small.png)](img/4fa924c5.png)

# Locale

The entire program (GUI client, back-end) was localized to many common languages. Select your preferred language via the *Edit* menu:

[![Example: switching the locale to Chinese](img/faa8a5b6-small.png)](img/faa8a5b6.png)

As of JEB 5.24, the available non-English locales are (ordered alphabetically): Chinese (simplified), Chinese (traditional), Czech, Danish, Dutch, Finnish, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malaysian, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Ukrainian, Vietnamese.

Right-to-left languages such as Hebrew or Arabic may be added in the future.

# Simple Options

Simple options are accessible via the *Edit* or Application menu. Two panels, *General* and *Development*, offer a partial view of JEB's configuration files, described in upcoming sections. 

## General options

- You may customize your *packaged plugins* directory. Packaged plugins are third-party Jar modules that add functionality to JEB: they can be parsers, disassemblers, decompilers, debuggers, code analyzers, etc.
- Customize your auto-update options. http and socks proxy are supported.
- Specify your log levels (normal, debug, warning only, etc.). Log messages are output in the Logger window.

[![The 'Specific Project Properties' button is not shown when no project is loaded](img/d515a0d8-small.png)](img/d515a0d8.png)

## Development options

- The *Development mode* enables verbose logging for increased insight into the program.
- The plugin classpath and classname widgets allow setting up non-packaged Java plugins, which makes developing them easier.

[![](img/jeb-options-simple-development.png)](img/jeb-options-simple-development.png)

# All Options

Most JEB options are stored in two configuration files, `jeb-client.cfg` (front-end options) and `jeb-engines.cfg` (back-end options). You may configure them via the Options Tree dialogs accessible by pressing the 'Xxx Properties' buttons.

[![Options dialog](img/7e427add-small.png)](img/7e427add.png)

[![Front-end properties](img/48b89ee8-small.png)](img/48b89ee8.png)

!!! warning
    The 'Specific Project Properties' is used to modify the back-end properties of your current project only.

## Front-end options

See [this document](client-configuration.md).

## Back-end options

See [this document](engines-configuration.md).

## Dex decompiler advanced options

Like any plugin, the base dex decompiler options are located under `.parsers.dcmp_dex`. However, the emulator options are in a separate file, typically under `coreplugins/dexdec-emu.cfg`. Those options may be modified in the GUI via the `Android, Emulator Settings...` handler.