Documentation update

This commit is contained in:
Leon Styhre 2025-02-26 16:37:25 +01:00
parent 3d56fd68d1
commit 1d493bfa5d
6 changed files with 152 additions and 25 deletions

View file

@ -8,6 +8,7 @@
### Detailed list of changes
* Added a system status element showing the Blueooth, Wi-Fi, cellular and battery status on screen
* Added translations for Traditional Chinese (zh_TW)
* Increased the roundness for all corners in the menu system and for the notification popups
* Increased the background blur slightly when a menu is open
@ -34,7 +35,9 @@
* Added support for a "none" value to the video element imageType property
* Added a BackgroundComponent to replace NinePatchComponent for rendering menu and popup backgrounds
* (macOS) Added a build script for cross-compiling for x86_64 when using an ARM processor
* (Linux) Added the BlueZ library as a dependency
* Added support for building against libgit2 v1.9.0 and later
* Added support for building against ICU 76.1 and later
### Bug fixes
@ -42,6 +45,7 @@
* The selectedItemOffset property did not work correctly for carousels with a single item
* Returning from a game when running in the background ignored the video element delay property for the first playback
* Applying rounded corners caused rendering artfifacts if the texture did not use premultiplied alpha
* (Android) There was a PLACEHOLDER entry present for the consolearcade system in the es_systems.xml file
## Version 3.1.1 / 3.1.1-39

View file

@ -58,6 +58,9 @@ Please find the individual license files inside the [licenses](https://gitlab.co
# Libraries
BlueZ \
https://github.com/bluez/bluez
CImg \
https://www.cimg.eu
@ -132,6 +135,9 @@ https://batocera.org
The MD5 hash functions were adapted from code by the BZFlag project \
https://www.bzflag.org
Some battery detection functionality for macOS was based on code from Battery Percentage Notifier \
https://github.com/Abhigyan126/Custom_Low_Battery_Warning
The scanline GLSL shader was adapted from code by the RetroArch project \
https://www.retroarch.com
@ -164,6 +170,9 @@ https://fonts.google.com/noto/specimen/Noto+Emoji
Ubuntu font \
https://design.ubuntu.com/font
System status icons (some customizations have been made) \
https://phosphoricons.com
MAME ROM information \
https://www.mamedev.org

View file

@ -25,7 +25,7 @@ There are some dependencies that need to be fulfilled in order to build ES-DE. T
All of the required packages can be installed with apt-get:
```
sudo apt-get install build-essential clang-format git cmake gettext libharfbuzz-dev libicu-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libgl1-mesa-dev libpoppler-cpp-dev
sudo apt-get install build-essential clang-format git cmake gettext libharfbuzz-dev libicu-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-openssl-dev libpugixml-dev libasound2-dev libbluetooth-dev libgl1-mesa-dev libpoppler-cpp-dev
```
**Fedora**
@ -40,7 +40,7 @@ https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -
Then you can use dnf to install all the required packages:
```
sudo dnf install gcc-c++ clang-tools-extra cmake gettext harfbuzz-devel libicu-devel libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel mesa-libGL-devel poppler-cpp-devel
sudo dnf install gcc-c++ clang-tools-extra cmake gettext harfbuzz-devel libicu-devel libasan rpm-build SDL2-devel ffmpeg-devel freeimage-devel freetype-devel libgit2-devel curl-devel pugixml-devel alsa-lib-devel bluez-libs-devel mesa-libGL-devel poppler-cpp-devel
```
**Manjaro**
@ -55,7 +55,7 @@ sudo pacman -S gcc clang make cmake gettext harfbuzz icu pkgconf sdl2 ffmpeg fre
All of the required packages can be installed with apt-get:
```
sudo apt-get install clang-format cmake gettext libharfbuzz-dev libicu-dev libraspberrypi-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev libpoppler-cpp-dev
sudo apt-get install clang-format cmake gettext libharfbuzz-dev libicu-dev libraspberrypi-dev libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libfreetype6-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev libbluetooth-dev libpoppler-cpp-dev
```
For a 64-bit build it's very important that you include libraspberrypi-dev because if this package is not installed then the file /usr/include/bcm_host.h is not present on the filesystem. This leads to CMake not detecting that it's indeed a Raspberry Pi and it will attempt to make a regular Linux build instead.
@ -1166,6 +1166,10 @@ Sets the transfer timeout per HTTPS request. Minimum value is 0 seconds (infinit
Normally the scraper will stop whenever an HTTP error code with value 400 or above is returned from the scraper service, but by default there is an exception for 404 errors (resource not found). Changing this setting to _false_ will make the scraper handle 404 errors as all other error codes, meaning it will run through the configured retry attempts and then display an error notification dialog if the resource could not be retrieved.
**SystemStatusDisplayAll**
If setting this to true then all system status indicators (Bluetooth icon, Wi-Fi icon, cellular icon, battery icon and battery percentage indicator) will always be displayed, assuming they have been enabled in the _UI settings_ menu and via the `entries` property for the `systemstatus` element. The only purpose of this setting is for theme developers to be able to see all indicators when working on their theme design.
**UIMode_passkey**
The passkey to use to change from the _Kiosk_ or _Kid_ UI modes to the _Full_ UI mode.

View file

@ -1956,7 +1956,7 @@ Properties:
- Default is `1.5`
- This property can only be used when `textHorizontalScrolling` has been set to `true`
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf) used as fallback if there is no `staticImage` / `imageType` image defined or found, and if `defaultImage` has not been defined.
- Path to a TrueType or OpenType font (.ttf or .otf) used as fallback if there is no `staticImage` / `imageType` image defined or found, and if `defaultImage` has not been defined.
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area. This property value is effectively multiplied by the `itemScale` value for the currently selected item (but if this property is omitted then the default value will not get multiplied by `itemScale`).
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size.
@ -2210,7 +2210,7 @@ Properties:
- Default is `1.5`
- This property can only be used when `textHorizontalScrolling` has been set to `true`
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf) used as fallback if there is no `staticImage` / `imageType` image defined or found, and if `defaultImage` has not been defined.
- Path to a TrueType or OpenType font (.ttf or .otf) used as fallback if there is no `staticImage` / `imageType` image defined or found, and if `defaultImage` has not been defined.
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area.
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size.
@ -2315,7 +2315,7 @@ Properties:
- Default is the same value as `selectedColor`
* `selectedBackgroundColor` - type: COLOR
- Background color of the highlighted entry for the primary entry type. This follows the sizing of the selector bar and is expanded downwards so you'll probably want to adjust its position using `selectorVerticalOffset` if you have defined a custom selector height using `selectorHeight`
- Default is `00000000`
- Default is `00000000` (no background is drawn)
* `selectedSecondaryBackgroundColor` - type: COLOR
- Background color of the highlighted entry for the secondary entry type. This follows the sizing of the selector bar and is expanded downwards so you'll probably want to adjust its position using `selectorVerticalOffset` if you have defined a custom selector height using `selectorHeight`
- Default is the same value as `selectedBackgroundColor`
@ -2881,9 +2881,10 @@ Properties:
- Minimum value is `0.1` and maximum value is `2`
- Default is `0.5`
* `customBadgeIcon` - type: PATH
- A badge icon override. Specify the badge type in the attribute `badge`. The available badges are the ones listed above.
- A badge icon override. Specify the badge type using the `badge` attribute, such as `<customBadgeIcon badge="favorite">./assets/favorite.svg</customBadgeIcon>`
- The available badges are the ones listed above.
* `customControllerIcon` - type: PATH
- A controller icon override. Specify the controller type in the attribute `controller`.
- A controller icon override. Specify the controller type using the `controller` attribute, such as `<customControllerIcon controller="gamepad_xbox">./assets/gamepad_xbox.svg</customControllerIcon>`
- These are the available types:
- `gamepad_generic`,
`gamepad_nintendo_nes`,
@ -3104,7 +3105,7 @@ Properties:
- Default is `1.5`
- This property can only be used when `containerType` is `horizontal`
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf).
- Path to a TrueType or OpenType font (.ttf or .otf)
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area.
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size. The font is allowed to overflow the height of the element by 100%, i.e. `fontSize` can be set to twice that of the y axis of the `size` property. Any value above that will be clamped.
@ -3121,7 +3122,7 @@ Properties:
* `color` - type: COLOR
- Default is `000000FF`
* `backgroundColor` - type: COLOR
- Default is `00000000`
- Default is `00000000` (no background is drawn)
* `backgroundMargins` - type: NORMALIZED_PAIR
- Adds margins to the text background, assuming it has a color set. The first value of the pair is the left margin and the second value is the right margin, which means it's possible to set these margins completely independently. Margins are applied after all other positioning and sizing calculations and they are rendered outside the text debug rectangle boundaries.
- Minimum value per axis is `0` and maximum value per axis is `0.5`
@ -3200,7 +3201,7 @@ Properties:
- Minimum value is `0` and maximum value is the value of the `gameselector` element property `gameCount` minus 1. If a value outside this range is defined, then it will be automatically clamped to a valid value.
- Default is `0`
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf).
- Path to a TrueType or OpenType font (.ttf or .otf)
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area.
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size. The font is allowed to overflow the height of the element by 100%, i.e. `fontSize` can be set to twice that of the y axis of the `size` property. Any value above that will be clamped.
@ -3291,7 +3292,7 @@ Properties:
- `never` - Don't set element as stationary during any transitions.
- Default is `never`
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf).
- Path to a TrueType or OpenType font (.ttf or .otf)
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area.
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size. The font is allowed to overflow the height of the element by 100%, i.e. `fontSize` can be set to twice that of the y axis of the `size` property. Any value above that will be clamped.
@ -3532,7 +3533,7 @@ Properties:
- Minimum value is `0.2` and maximum value is `1`
- Default is the same value as `opacity`
* `customButtonIcon` - type: PATH
- A button icon override. Specify the button type in the attribute `button`.
- A button icon override. Specify the button type using the `button` attribute, such as `<customButtonIcon button="button_a_XBOX">./assets/button_a_XBOX.svg</customButtonIcon>`
- The available buttons are: \
`dpad_updown`,
`dpad_leftright`,
@ -3575,6 +3576,91 @@ Properties:
`button_back_SNES`,
`button_start_SNES`
#### systemstatus
Displays system status indicators, more specifically Bluetooth, Wi-Fi, cellular and battery status.
Note that this element does not have a zIndex value, instead it's always rendered on top of all other elements and it's also rendered when the menu is open. In addition to this it's stationary and will not move during slide transitions or fade out during fade transitions.
You can define multiple elements to split up the indicators.
During theme development you can force-enable all the system indicators by setting SystemStatusDisplayAll to true in es_settings.xml, you can read more about this option in the [INSTALL-DEV.md](INSTALL-DEV.md#settings-not-configurable-via-the-gui) document.
Supported views:
* `system`
* `gamelist`
Instances per view:
* `unlimited`
Properties:
* `pos` - type: NORMALIZED_PAIR
- Default is `0.984 0.016`
* `size` - type: NORMALIZED_PAIR
- The size property works a bit different for this element compared to all other elements as only the height is considered. The width is automatically calculated based on the aspect ratio of the indicator icons plus the value set for the `entrySpacing` property. So it's recommended to just set the width to `0`
- Minimum value is `0 0.01` and maximum value is `0 0.5`
- Default is `0 0.035`
* `origin` - type: NORMALIZED_PAIR
- Where on the element `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the element exactly in the middle of the screen. If the position and size attributes are themeable, origin is implied.
- Minimum value per axis is `0` and maximum value per axis is `1`
- Default is `1 0`
* `fontPath` - type: PATH
- Path to a TrueType or OpenType font (.ttf or .otf) which is used for the battery percentage indicator.
* `textRelativeScale` - type: FLOAT.
- This property makes it possible to size the battery percentage text relative to the overall element height, or in other words relative to the height of the indicator icons.
- Minimum value is `0.5` and maximum value is `1`
- Default is `0.9`
* `color` - type: COLOR
- Color of the icons and battery percentage text.
- Default is `FFFFFFFF`
* `backgroundColor` - type: COLOR
- If this property is defined then a colored rectangle is drawn behind the entire element.
- Default is `00000000` (no background is drawn)
* `backgroundColorEnd` - type: COLOR
- Works in the exact same way as `backgroundColor` but can be set as the end color to apply a color gradient.
- Default is the same value as `backgroundColor`
* `backgroundGradientType` - type: STRING
- The direction to apply the color gradient if both `backgroundColor` and `backgroundColorEnd` have been defined.
- Valid values are `horizontal` or `vertical`
- Default is `horizontal`
* `backgroundPadding` - type: NORMALIZED_PAIR
- This property makes it possible to apply a padding around the element if `backgroundColor` has been defined. Note that this additional sizing will not have any effect on the `pos` and `origin` properties, these will remain constant. Or in other words, changing the `backgroundPadding` property value will not change the position of the overall element. An identical padding is applied to the left/right and top/bottom of the element.
- Minimum value per axis is `0` and maximum value per axis is `0.2`
- Default is `0 0`
- This property can only be used if `backgroundColor` has a value defined.
* `backgroundCornerRadius` - type: FLOAT
- Setting this property higher than zero applies rounded corners to the element background, assuming `backgroundColor` has been defined. The radius is a percentage of the screen width. Note that the maximum allowed value is quite arbitrary as the renderer will in practice limit the maximum roundness so it can never go beyond half the background height. It means that setting this property sufficiently high will produce perfectly rounded sides for the element background. You normally want to combine this property with `backgroundPadding` to add some extra space around the system indicators.
- Minimum value is `0` and maximum value is `0.5`
- Default is `0` (corners are not rounded)
- This property can only be used if `backgroundColor` has a value defined.
* `entries` - type: STRING
- The system indicators that should be displayed. Make sure to always display all entries as it's up to the user to disable any unwanted indicators from the UI settings menu. The sole purpose of this property is to be able to split up the indicators across multiple elements. The entries are specified as a list of strings delimited by commas or by whitespace characters (tabs, spaces or line breaks). The order in which the entries are defined has no effect as they will always be displayed in the default order. Available values are:
- `bluetooth` - Indicates whether there's a Bluetooth adapter enabled on the device
- `wifi` - Indicates whether Wi-Fi is enabled on the device
- `cellular` - Indicates whether cellular traffic is enabled on the device (Android only)
- `battery` - Indicates whether there's a battery available in the device, in which case different icons will be displayed if the battery is charging or not, and if not charging there are discreet icons for different capacity levels (low, medium, high and full). A capacity percentage text is also displayed next to the battery icon unless the user has disabled this in the UI settings menu.
- `all` - Including this value will enable all system indicators.
- Default is `all`
* `entrySpacing` - type: FLOAT
- Spacing between the system indicators. Note that this spacing is not applied between the battery icon and the battery percentage text.
- Minimum value is `0` and maximum value is `0.04`
- Default is `0.005`
* `customIcon` - type: PATH
- An icon override. Specify the icon type using the `icon` attribute, such as `<customIcon icon="icon_wifi">./assets/wifi.svg</customIcon>`
- The available icons are: \
`icon_bluetooth`,
`icon_wifi`,
`icon_cellular`,
`icon_battery_charging`,
`icon_battery_low`,
`icon_battery_medium`,
`icon_battery_high`,
`icon_battery_full`
* `opacity` - type: FLOAT
- Controls the level of transparency.
- Minimum value is `0` and maximum value is `1`
- Default is `1`
#### clock
Displays the current time and/or date as a text string. The format is HH:MM by default, but this can be changed using the `format` property. It's strongly recommended to configure the clock identically for both the system and gamelist views to make the user experience coherent.
@ -3610,7 +3696,7 @@ Properties:
- Minimum value per axis is `0` and maximum value per axis is `1`
- Default is `0.5 0.5`.
* `fontPath` - type: PATH
- Path to a TrueType font (.ttf).
- Path to a TrueType or OpenType font (.ttf or .otf)
* `fontSize` - type: FLOAT
- Size of the font as a percentage of screen height for horizontally oriented screens or screen width for vertically oriented screens (e.g. for a value of `0.1`, the text's height would be 10% of the screen height). This calculation is based on the reference 'S' character so other glyphs may not fill this area, or they may exceed this area.
- Minimum value is `0.001` and maximum value is `1.5`. Note that when running at a really low resolution, the minimum value may get clamped to a larger relative size. The font is allowed to overflow the height of the element by 100%, i.e. `fontSize` can be set to twice that of the y axis of the `size` property. Any value above that will be clamped.
@ -3626,7 +3712,7 @@ Properties:
* `color` - type: COLOR
- Default is `FFFFFFFF`
* `backgroundColor` - type: COLOR
- Default is `00000000`
- Default is `00000000` (no background is drawn)
* `backgroundMargins` - type: NORMALIZED_PAIR
- Adds margins to the text background, assuming it has a color set. The first value of the pair is the left margin and the second value is the right margin, which means it's possible to set these margins completely independently. Margins are applied after all other positioning and sizing calculations and they are rendered outside the text debug rectangle boundaries.
- Minimum value per axis is `0` and maximum value per axis is `0.5`

View file

@ -297,8 +297,6 @@ There is a very annoying default configuration when using Sony controllers like
One macOS-specific requirement is that the RetroArch setting _Start in Fullscreen mode_ is enabled or ES-DE will not be able to switch to the emulator window when launching games. As a workaround you can switch to the window manually using Command + Tab but it probably doesn't make sense to run emulators in windowed mode anyway. This issue has not been observed with any other emulators.
At the time of writing there is an additional issue with the ARM release of RetroArch where ES-DE will not be able to consistently switch to its window on game launch if the setting _Close windows when quitting an application_ under the _Desktop & Dock_ entry in the macOS _System Settings_ has been set to disabled. This error does not occur for the Intel/x86 release of RetroArch or with any other standalone emulators (including those built specifically for the ARM architecture).
The first time you launch a RetroArch-emulated game from within ES-DE the operating system will present you with a security option with the following description:
`"ES-DE" would like to access files in your Documents folder.`
@ -2410,7 +2408,7 @@ vkquake_arcane_dimensions.sh:
You don't need to set execution permissions for these scripts, ES-DE will run them anyway.
**Method 3, AppImages** _Linux only_
**Method 3, AppImages** _(Linux only)_
On Linux it's also possible to launch AppImages directly without having to call them from a shell script. For emulators it's generally required to keep their AppImages in the `~/Applications/` directory and symlink them into the ROMs directory tree, but for other applications and games it may be fine to store them directly in the ROMs tree. In order for this to work you need to use one of the alternative emulator entries that enable AppImages to be launched. It will not work if attempting to use the emulator entries that run scripts and shortcuts. You can set the alternative emulator per game/file from the metadata editor.
@ -3331,6 +3329,10 @@ Sets the user interface mode for the application to _Full, Kiosk_ or _Kid_. See
Whether to enable the selection of a random entry in the system or gamelist view via a button press, by default mapped to the click button of either thumbstick. The options are _Games only, Games and systems_ or _Disabled_. The help system will also visually indicate the status of this setting.
**System status settings** _(Not available on FreeBSD and Haiku)_
Submenu containing all the settings for the system status indicators. These are described in detail below.
**Media viewer settings**
Submenu containing all the settings for the media viewer. These are described in detail below.
@ -3347,7 +3349,7 @@ Themes can optionally contain variant trigger configuration which changes the la
Displays a clock on screen at all times. By default it's located in the upper left corner and displays as hours and minutes, but themes can customize its layout and position.
**Blur background when menu is open** _Always applied if screen is rotated 90 or 270 degrees_
**Blur background when menu is open** _(Always applied if screen is rotated 90 or 270 degrees)_
This option will blur the background behind the menu slightly. Normally this can be left enabled, but if you have a really slow GPU, disabling this option may make the application feel a bit more responsive. For technical reasons this setting is always enabled if the screen is rotated 90 or 270 degrees, and in this case the menu option will also be grayed out.
@ -3383,6 +3385,30 @@ Activating or deactivating the ability to filter your gamelists. This can normal
Activates or deactivates the built-in help system that provides contextual information regarding button usage.
#### System status settings
This menu makes it possible to enable or disable various system indicators. Just be aware that these options have no effect if there are no such hardware devices present.
**Display Bluetooth status indicator**
Indicates whether there's a Bluetooth adapter enabled on the device.
**Display Wi-Fi status indicator**
Indicates whether Wi-Fi is enabled on the device.
**Display cellular status indicator** _(Android only)_
Indicates whether cellular traffic is enabled on the device.
**Display battery status indicator**
Indicates whether there's a battery available in the device, in which case different icons will be displayed if the battery is charging or not, and if not charging there are discreet icons for different capacity levels (low, medium, high and full).
**Display battery charge percentage**
If there's a battery in the device, then this setting controls whether to display the charge/capacity percentage text next to the battery icon.
#### Media viewer settings
Settings for the media viewer that is accessible from the gamelist views.
@ -3650,11 +3676,11 @@ This gives the choice of which key combination to use to quit the application. T
The metadata for a game is updated by scraping or by manual editing it using the metadata editor, but also when launching it as this updates the _Times played_ counter and the _Last played_ timestamp. This setting enables you to define when to write such metadata changes to the gamelist.xml files. Setting the option to _Never_ will disable writing to these files altogether, except for some special conditions such as when a game is manually deleted using the metadata editor, when scraping using the multi-scraper (the multi-scraper will always save any updates immediately to the gamelist.xml files) or when changing the system-wide alternative emulator. In theory _On exit_ will give some small performance gains, but it's normally recommended to leave the setting at its default value which is _Always_. Note that with the option set to _Never_, any updates such as the _Last played_ date will still be shown on screen, but during the next application startup any values previously saved to the gamelist.xml files will be read in again. As well, when changing this setting to _Always_ from either of the two other options, any pending changes will be immediately written to the gamelist.xml files.
**Check for application updates** _Not available for some builds_
**Check for application updates** _(Not available for some builds)_
By default a check for new ES-DE versions will be done on every application startup and a notification will be displayed if there is a new release available for download. Using this option the frequency of these checks can be set to _Always_, _Daily_, _Weekly_, _Monthly_ or _Never_. This setting is not available on some platforms and package formats such as the Android app store releases, the Linux AUR release and the semi-official FreeBSD and Raspberry Pi releases where pre-built packages are not provided.
**Include prereleases in update checks** _Always enabled for prereleases_
**Include prereleases in update checks** _(Always enabled for prereleases)_
For platforms and package formats where the previous setting above is available there is also the option of whether to include prereleases when checking for application updates. Note that this is always enabled when running an ES-DE prerelease so in this case the setting will be grayed out.
@ -3817,13 +3843,13 @@ The following filters can be applied:
**Kidgame**
**Hidden** _If the "Show hidden games" option is enabled_
**Hidden** _(If the "Show hidden games" option is enabled)_
**Broken**
**Controller**
**Alternative emulator** _If the "Enable alternative emulators per game" option is enabled_
**Alternative emulator** _(If the "Enable alternative emulators per game" option is enabled)_
With the exception of the game name text filter, all available filter values are assembled from metadata from the actual gamelist, so if there is no data to filter for the specific field, the text _Nothing to filter_ will be displayed. This for example happens for the _Completed_ filter if there are no games marked as having been completed in the current gamelist. The same happens if a metadata setting is identical for all games, such as all games being flagged as favorites.

View file

@ -295,8 +295,6 @@ There is a very annoying default configuration when using Sony controllers like
One macOS-specific requirement is that the RetroArch setting _Start in Fullscreen mode_ is enabled or ES-DE will not be able to switch to the emulator window when launching games. As a workaround you can switch to the window manually using Command + Tab but it probably doesn't make sense to run emulators in windowed mode anyway. This issue has not been observed with any other emulators.
At the time of writing there is an additional issue with the ARM release of RetroArch where ES-DE will not be able to consistently switch to its window on game launch if the setting _Close windows when quitting an application_ under the _Desktop & Dock_ entry in the macOS _System Settings_ has been set to disabled. This error does not occur for the Intel/x86 release of RetroArch or with any other standalone emulators (including those built specifically for the ARM architecture).
The first time you launch a RetroArch-emulated game from within ES-DE the operating system will present you with a security option with the following description:
`"ES-DE" would like to access files in your Documents folder.`