@@ -4,6 +4,7 @@
|
||||
|
||||
- feat: Add man page (#6, thanks @Jarrah)
|
||||
- feat!: Enable direct rendering
|
||||
- feat: Add quirk for forcing fbdev refresh (#34, thanks @calebccff)
|
||||
|
||||
## 1.0.0 (2023-03-14)
|
||||
|
||||
|
7
config.c
7
config.c
@@ -230,7 +230,11 @@ static int parsing_handler(void* user_data, const char* section, const char* key
|
||||
}
|
||||
}
|
||||
} else if (strcmp(section, "quirks") == 0) {
|
||||
if (strcmp(key, "terminal_prevent_graphics_mode") == 0) {
|
||||
if (strcmp(key, "fbdev_force_refresh") == 0) {
|
||||
if (parse_bool(value, &(opts->quirks.fbdev_force_refresh))) {
|
||||
return 1;
|
||||
}
|
||||
} else if (strcmp(key, "terminal_prevent_graphics_mode") == 0) {
|
||||
if (parse_bool(value, &(opts->quirks.terminal_prevent_graphics_mode))) {
|
||||
return 1;
|
||||
}
|
||||
@@ -278,6 +282,7 @@ void ul_config_init_opts(ul_config_opts *opts) {
|
||||
opts->input.keyboard = true;
|
||||
opts->input.pointer = true;
|
||||
opts->input.touchscreen = true;
|
||||
opts->quirks.fbdev_force_refresh = false;
|
||||
opts->quirks.terminal_prevent_graphics_mode = false;
|
||||
opts->quirks.terminal_allow_keyboard_input = false;
|
||||
}
|
||||
|
2
config.h
2
config.h
@@ -90,6 +90,8 @@ typedef struct {
|
||||
* (Normally unneeded) quirky options
|
||||
*/
|
||||
typedef struct {
|
||||
/* If true and using the framebuffer backend, force a refresh on every draw operation */
|
||||
bool fbdev_force_refresh;
|
||||
/* If true, do *not* switch terminal into graphics mode (will show terminal command prompt) */
|
||||
bool terminal_prevent_graphics_mode;
|
||||
/* If true, do *not* turn off terminal keyboard input (will show entered characters) */
|
||||
|
@@ -79,12 +79,17 @@ will be merged in the following order:
|
||||
Default: true.
|
||||
|
||||
## Quirks
|
||||
*fbdev_force_refresh* = <true|false>
|
||||
If true and using the framebuffer backend, this triggers a display refresh
|
||||
after every draw operation. This has a negative performance impact.
|
||||
Default: false.
|
||||
|
||||
*terminal_prevent_graphics_mode* = <true|false>
|
||||
If true this avoids setting the terminal into graphics mode. Will show
|
||||
terminal command prompt. Default: false.
|
||||
If true, this avoids setting the terminal into graphics mode. This will
|
||||
show the terminal command prompt. Default: false.
|
||||
|
||||
*terminal_allow_keyboard_input* = <true|false>
|
||||
If true this avoids turning off terminal keyboard input. This will show
|
||||
If true, this avoids turning off terminal keyboard input. This will show
|
||||
your password on the terminal. Default: false.
|
||||
|
||||
# SEE ALSO
|
||||
@@ -93,3 +98,4 @@ will be merged in the following order:
|
||||
# AUTHORS
|
||||
|
||||
*Undef* <debian@undef.tools>
|
||||
*Johannes Marbach* <n0-0ne@mailbox.org>
|
||||
|
3
main.c
3
main.c
@@ -381,6 +381,9 @@ int main(int argc, char *argv[]) {
|
||||
#if USE_FBDEV
|
||||
case UL_BACKENDS_BACKEND_FBDEV:
|
||||
fbdev_init();
|
||||
if (conf_opts.quirks.fbdev_force_refresh) {
|
||||
fbdev_force_refresh(true);
|
||||
}
|
||||
fbdev_get_sizes(&hor_res, &ver_res, &dpi);
|
||||
disp_drv.flush_cb = fbdev_flush;
|
||||
break;
|
||||
|
@@ -22,5 +22,6 @@ alternate=breezy-dark
|
||||
#touchscreen=false
|
||||
|
||||
#[quirks]
|
||||
#fbdev_force_refresh=true
|
||||
#terminal_prevent_graphics_mode=true
|
||||
#terminal_allow_keyboard_input=true
|
||||
|
Reference in New Issue
Block a user