diff --git a/CHANGELOG.md b/CHANGELOG.md index f44544e..b017210 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,11 @@ If a change only affects particular applications, they are listed in parentheses ## Unreleased -- feat(buffyboard): Add fbdev force-refresh quirk via config -- feat(buffyboard): Allow choosing theme via config and add all themes from unl0kr - feat(buffyboard): Handle input device connection/disconnection at runtime; adds new dependency libudev +- feat(buffyboard): Allow choosing theme via config and add all themes from unl0kr +- feat(buffyboard): Add fbdev force-refresh quirk via config +- feat(buffyboard): Allow disabling input devices via config +- feat(buffyboard): Add CLI flags for overriding geometry & DPI ## 3.0.0 (2024-03-22) diff --git a/buffyboard/README.md b/buffyboard/README.md index b4a3a17..96bd386 100644 --- a/buffyboard/README.md +++ b/buffyboard/README.md @@ -24,6 +24,14 @@ Here are a few highlights of what already works: - Automatic resizing (and later reset) of active VT to prevent overlap with keyboard - Theming support +Screenshots of the currently available themes may be found in the [screenshots] folder. + +540x960 +540x960 +
+800x480 +800x480 + # Usage You can get an overview of available command line options by running it with the `-h` or `--help` argument. @@ -33,21 +41,25 @@ $ buffyboard --help Usage: buffyboard [OPTION] Mandatory arguments to long options are mandatory for short options too. - -C, --config-override Path to a config override file. Can be supplied - multiple times. Config files are merged in the - following order: - * /etc/buffyboard.conf - * /etc/buffyboard.conf.d/* (alphabetically) - * Override files (in supplied order) - -r, --rotate=[0-3] Rotate the UI to the given orientation. The - values match the ones provided by the kernel in - /sys/class/graphics/fbcon/rotate. - * 0 - normal orientation (0 degree) - * 1 - clockwise orientation (90 degrees) - * 2 - upside down orientation (180 degrees) - * 3 - counterclockwise orientation (270 degrees) - -h, --help Print this message and exit - -V, --version Print the buffyboard version and exit + -C, --config-override Path to a config override file. Can be supplied + multiple times. Config files are merged in the + following order: + * /etc/buffyboard.conf + * /etc/buffyboard.conf.d/* (alphabetically) + * Override files (in supplied order) + -g, --geometry=NxM[@X,Y] Force a display size of N horizontal times M + vertical pixels, offset horizontally by X + pixels and vertically by Y pixels + -d --dpi=N Override the display's DPI value + -r, --rotate=[0-3] Rotate the UI to the given orientation. The + values match the ones provided by the kernel in + /sys/class/graphics/fbcon/rotate. + * 0 - normal orientation (0 degree) + * 1 - clockwise orientation (90 degrees) + * 2 - upside down orientation (180 degrees) + * 3 - counterclockwise orientation (270 degrees) + -h, --help Print this message and exit + -V, --version Print the buffyboard version and exit ``` For an example configuration file, see [buffyboard.conf]. @@ -155,6 +167,7 @@ The [FontAwesome] font is licensed under the Open Font License version 1.1. [lv_sim_emscripten]: https://github.com/lvgl/lv_sim_emscripten/blob/master/mouse_cursor_icon.c [lvgl]: https://github.com/lvgl/lvgl [open issues]: https://gitlab.com/cherrypicker/buffyboard/-/issues +[screenshots]: ./screenshots [squeek2lvgl]: https://gitlab.com/cherrypicker/squeek2lvgl] [squeekboard layouts]: https://gitlab.gnome.org/World/Phosh/squeekboard/-/blob/master/data/keyboards [squeekboard's US terminal layout]: https://gitlab.gnome.org/World/Phosh/squeekboard/-/blob/master/data/keyboards/terminal/us.yaml diff --git a/buffyboard/buffyboard.conf b/buffyboard/buffyboard.conf index b8db02f..1d51fad 100644 --- a/buffyboard/buffyboard.conf +++ b/buffyboard/buffyboard.conf @@ -1,5 +1,9 @@ [theme] default=breezy-light +#[input] +#pointer=false +#touchscreen=false + #[quirks] #fbdev_force_refresh=true diff --git a/buffyboard/command_line.c b/buffyboard/command_line.c index 2cf1d34..aa2f432 100644 --- a/buffyboard/command_line.c +++ b/buffyboard/command_line.c @@ -37,6 +37,13 @@ static void print_usage(); */ static void init_opts(bb_cli_opts *opts) { + opts->num_config_files = 0; + opts->config_files = NULL; + opts->hor_res = -1; + opts->ver_res = -1; + opts->x_offset = 0; + opts->y_offset = 0; + opts->dpi = 0; opts->rotation = LV_DISPLAY_ROTATION_0; } @@ -46,21 +53,25 @@ static void print_usage() { "Usage: buffyboard [OPTION]\n" "\n" "Mandatory arguments to long options are mandatory for short options too.\n" - " -C, --config-override Path to a config override file. Can be supplied\n" - " multiple times. Config files are merged in the\n" - " following order:\n" - " * /etc/buffyboard.conf\n" - " * /etc/buffyboard.conf.d/* (alphabetically)\n" - " * Override files (in supplied order)\n" - " -r, --rotate=[0-3] Rotate the UI to the given orientation. The\n" - " values match the ones provided by the kernel in\n" - " /sys/class/graphics/fbcon/rotate.\n" - " * 0 - normal orientation (0 degree)\n" - " * 1 - clockwise orientation (90 degrees)\n" - " * 2 - upside down orientation (180 degrees)\n" - " * 3 - counterclockwise orientation (270 degrees)\n" - " -h, --help Print this message and exit\n" - " -V, --version Print the buffyboard version and exit\n"); + " -C, --config-override Path to a config override file. Can be supplied\n" + " multiple times. Config files are merged in the\n" + " following order:\n" + " * /etc/buffyboard.conf\n" + " * /etc/buffyboard.conf.d/* (alphabetically)\n" + " * Override files (in supplied order)\n" + " -g, --geometry=NxM[@X,Y] Force a display size of N horizontal times M\n" + " vertical pixels, offset horizontally by X\n" + " pixels and vertically by Y pixels\n" + " -d --dpi=N Override the display's DPI value\n" + " -r, --rotate=[0-3] Rotate the UI to the given orientation. The\n" + " values match the ones provided by the kernel in\n" + " /sys/class/graphics/fbcon/rotate.\n" + " * 0 - normal orientation (0 degree)\n" + " * 1 - clockwise orientation (90 degrees)\n" + " * 2 - upside down orientation (180 degrees)\n" + " * 3 - counterclockwise orientation (270 degrees)\n" + " -h, --help Print this message and exit\n" + " -V, --version Print the buffyboard version and exit\n"); /*-------------------------------- 78 CHARS --------------------------------*/ } @@ -74,15 +85,17 @@ void bb_cli_parse_opts(int argc, char *argv[], bb_cli_opts *opts) { struct option long_opts[] = { { "config-override", required_argument, NULL, 'C' }, - { "rotate", required_argument, NULL, 'r' }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, + { "geometry", required_argument, NULL, 'g' }, + { "dpi", required_argument, NULL, 'd' }, + { "rotate", required_argument, NULL, 'r' }, + { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, { NULL, 0, NULL, 0 } }; int opt, index = 0; - while ((opt = getopt_long(argc, argv, "C:r:hV", long_opts, &index)) != -1) { + while ((opt = getopt_long(argc, argv, "C:g:d:r:hV", long_opts, &index)) != -1) { switch (opt) { case 'C': opts->config_files = realloc(opts->config_files, (opts->num_config_files + 1) * sizeof(char *)); @@ -93,6 +106,20 @@ void bb_cli_parse_opts(int argc, char *argv[], bb_cli_opts *opts) { opts->config_files[opts->num_config_files] = optarg; opts->num_config_files++; break; + case 'g': + if (sscanf(optarg, "%ix%i@%i,%i", &(opts->hor_res), &(opts->ver_res), &(opts->x_offset), &(opts->y_offset)) != 4) { + if (sscanf(optarg, "%ix%i", &(opts->hor_res), &(opts->ver_res)) != 2) { + bb_log(BB_LOG_LEVEL_ERROR, "Invalid geometry argument \"%s\"\n", optarg); + exit(EXIT_FAILURE); + } + } + break; + case 'd': + if (sscanf(optarg, "%i", &(opts->dpi)) != 1) { + bb_log(BB_LOG_LEVEL_ERROR, "Invalid dpi argument \"%s\"\n", optarg); + exit(EXIT_FAILURE); + } + break; case 'r': { int orientation; if (sscanf(optarg, "%i", &orientation) != 1 || orientation < 0 || orientation > 3) { diff --git a/buffyboard/command_line.h b/buffyboard/command_line.h index f04297a..b8dc399 100644 --- a/buffyboard/command_line.h +++ b/buffyboard/command_line.h @@ -17,6 +17,16 @@ typedef struct { int num_config_files; /* Paths of config file */ const char **config_files; + /* Horizontal display resolution */ + int hor_res; + /* Vertical display resolution */ + int ver_res; + /* Horizontal display offset */ + int x_offset; + /* Vertical display offset */ + int y_offset; + /* DPI */ + int dpi; /* Display rotation */ lv_display_rotation_t rotation; } bb_cli_opts; diff --git a/buffyboard/config.c b/buffyboard/config.c index 3b8488d..571e0ad 100644 --- a/buffyboard/config.c +++ b/buffyboard/config.c @@ -151,6 +151,16 @@ static int parsing_handler(void* user_data, const char* section, const char* key return 1; } } + } else if (strcmp(section, "input") == 0) { + if (strcmp(key, "pointer") == 0) { + if (parse_bool(value, &(opts->input.pointer))) { + return 1; + } + } else if (strcmp(key, "touchscreen") == 0) { + if (parse_bool(value, &(opts->input.touchscreen))) { + return 1; + } + } } else if (strcmp(section, "quirks") == 0) { if (strcmp(key, "fbdev_force_refresh") == 0) { if (parse_bool(value, &(opts->quirks.fbdev_force_refresh))) { @@ -184,6 +194,8 @@ static bool parse_bool(const char *value, bool *result) { void bb_config_init_opts(bb_config_opts *opts) { opts->theme.default_id = BB_THEMES_THEME_BREEZY_DARK; + opts->input.pointer = true; + opts->input.touchscreen = true; opts->quirks.fbdev_force_refresh = false; } diff --git a/buffyboard/config.h b/buffyboard/config.h index 7e36246..5b17722 100644 --- a/buffyboard/config.h +++ b/buffyboard/config.h @@ -17,7 +17,17 @@ typedef struct { /* Default theme */ bb_themes_theme_id_t default_id; -} ul_config_opts_theme; +} bb_config_opts_theme; + +/** + * Options related to input devices + */ +typedef struct { + /* If true and a pointer device is connected, use it for input */ + bool pointer; + /* If true and a touchscreen device is connected, use it for input */ + bool touchscreen; +} bb_config_opts_input; /** * (Normally unneeded) quirky options @@ -32,7 +42,9 @@ typedef struct { */ typedef struct { /* Options related to the theme */ - ul_config_opts_theme theme; + bb_config_opts_theme theme; + /* Options related to input devices */ + bb_config_opts_input input; /* Options related to (normally unneeded) quirks */ bb_config_opts_quirks quirks; } bb_config_opts; diff --git a/buffyboard/main.c b/buffyboard/main.c index 83c59df..59c1572 100644 --- a/buffyboard/main.c +++ b/buffyboard/main.c @@ -214,6 +214,18 @@ int main(int argc, char *argv[]) { if (conf_opts.quirks.fbdev_force_refresh) { lv_linux_fbdev_set_force_refresh(disp, true); } + + /* Override display properties with command line options if necessary */ + lv_display_set_offset(disp, cli_opts.x_offset, cli_opts.y_offset); + if (cli_opts.hor_res > 0 || cli_opts.ver_res > 0) { + lv_display_set_physical_resolution(disp, lv_disp_get_hor_res(disp), lv_disp_get_ver_res(disp)); + lv_display_set_resolution(disp, cli_opts.hor_res, cli_opts.ver_res); + } + if (cli_opts.dpi > 0) { + lv_display_set_dpi(disp, cli_opts.dpi); + } + + /* Set up display rotation */ int32_t hor_res_phys = lv_display_get_horizontal_resolution(disp); int32_t ver_res_phys = lv_display_get_vertical_resolution(disp); lv_display_set_physical_resolution(disp, hor_res_phys, ver_res_phys); @@ -236,7 +248,7 @@ int main(int argc, char *argv[]) { } /* Start input device monitor and auto-connect available devices */ - bb_indev_start_monitor_and_autoconnect(false, true, true); + bb_indev_start_monitor_and_autoconnect(false, conf_opts.input.pointer, conf_opts.input.touchscreen); /* Initialise theme */ bb_theme_apply(bb_themes_themes[conf_opts.theme.default_id]); diff --git a/buffyboard/regenerate-screenshots.sh b/buffyboard/regenerate-screenshots.sh new file mode 100755 index 0000000..ef1e38f --- /dev/null +++ b/buffyboard/regenerate-screenshots.sh @@ -0,0 +1,100 @@ +#!/bin/bash + +# Change this depending on what device you're generating the screenshots on +fb_res=1920x1080 +fb_depth=8 +fb_format=rgba + +executable=$1 +outdir=screenshots +config=buffyboard-screenshots.conf + +themes=( + breezy-light + breezy-dark + pmos-light + pmos-dark +) + +resolutions=( + # Nokia N900 + 480x800 + 800x480 + # Samsung Galaxy A3 2015 + 540x960 + 960x540 + # Samsung Galaxy Tab A 8.0 2015 + 768x1024 + 1024x768 + # Pine64 PineTab (landscape) + 1280x800 + # Pine64 PinePhone (landscape) + 1440x720 + # BQ Aquaris X Pro (landscape) + 1920x1080 +) + +if [[ ! -f $executable || ! -x $executable ]]; then + echo "Error: Could not find executable at $executable" 1>&2 + exit 1 +fi + +function write_config() { + cat << EOF > $config +[theme] +default=$1 + +[input] +pointer=false +touchscreen=false +EOF +} + +# Hide cursor +echo -e '\033[?25l' + +function clean_up() { + rm -f $config + + # Show cursor + echo -e '\033[?25h' +} + +trap clean_up EXIT + +rm -rf "$outdir" +mkdir "$outdir" + +readme="# Buffyboard themes"$'\n' + +for theme in ${themes[@]}; do + write_config $theme + + readme="$readme"$'\n'"## $theme"$'\n\n' + + for res in ${resolutions[@]}; do + $executable -g $res -C $config > /dev/null 2>&1 & + pid=$! + + sleep 3 # Wait for UI to render + + cat /dev/fb0 > "$outdir/$theme-$res" + convert -size $fb_res \ + -depth $fb_depth \ + screenshot-background.png \ + $fb_format:"$outdir/$theme-$res" \ + -crop $res+0+0 \ + -gravity NorthWest \ + -composite \ + "$outdir/$theme-$res.png" + + rm "$outdir/$theme-$res" + kill -15 $pid + + readme="$readme\"$res\""$'\n' + + sleep 1 # Delay to prevent terminal mode set / reset interference + done +done + +echo -n "$readme" > "$outdir/README.md" diff --git a/buffyboard/screenshot-background.png b/buffyboard/screenshot-background.png new file mode 100644 index 0000000..ac1e330 Binary files /dev/null and b/buffyboard/screenshot-background.png differ diff --git a/buffyboard/screenshots/README.md b/buffyboard/screenshots/README.md new file mode 100644 index 0000000..e62c110 --- /dev/null +++ b/buffyboard/screenshots/README.md @@ -0,0 +1,49 @@ +# Buffyboard themes + +## breezy-light + +480x800 +800x480 +540x960 +960x540 +768x1024 +1024x768 +1280x800 +1440x720 +1920x1080 + +## breezy-dark + +480x800 +800x480 +540x960 +960x540 +768x1024 +1024x768 +1280x800 +1440x720 +1920x1080 + +## pmos-light + +480x800 +800x480 +540x960 +960x540 +768x1024 +1024x768 +1280x800 +1440x720 +1920x1080 + +## pmos-dark + +480x800 +800x480 +540x960 +960x540 +768x1024 +1024x768 +1280x800 +1440x720 +1920x1080 diff --git a/buffyboard/screenshots/breezy-dark-1024x768.png b/buffyboard/screenshots/breezy-dark-1024x768.png new file mode 100644 index 0000000..843b205 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-1024x768.png differ diff --git a/buffyboard/screenshots/breezy-dark-1280x800.png b/buffyboard/screenshots/breezy-dark-1280x800.png new file mode 100644 index 0000000..52c3222 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-1280x800.png differ diff --git a/buffyboard/screenshots/breezy-dark-1440x720.png b/buffyboard/screenshots/breezy-dark-1440x720.png new file mode 100644 index 0000000..5487cd7 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-1440x720.png differ diff --git a/buffyboard/screenshots/breezy-dark-1920x1080.png b/buffyboard/screenshots/breezy-dark-1920x1080.png new file mode 100644 index 0000000..4ea1275 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-1920x1080.png differ diff --git a/buffyboard/screenshots/breezy-dark-480x800.png b/buffyboard/screenshots/breezy-dark-480x800.png new file mode 100644 index 0000000..99d9f64 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-480x800.png differ diff --git a/buffyboard/screenshots/breezy-dark-540x960.png b/buffyboard/screenshots/breezy-dark-540x960.png new file mode 100644 index 0000000..878c785 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-540x960.png differ diff --git a/buffyboard/screenshots/breezy-dark-768x1024.png b/buffyboard/screenshots/breezy-dark-768x1024.png new file mode 100644 index 0000000..eecb812 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-768x1024.png differ diff --git a/buffyboard/screenshots/breezy-dark-800x480.png b/buffyboard/screenshots/breezy-dark-800x480.png new file mode 100644 index 0000000..fcacd56 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-800x480.png differ diff --git a/buffyboard/screenshots/breezy-dark-960x540.png b/buffyboard/screenshots/breezy-dark-960x540.png new file mode 100644 index 0000000..a212ec9 Binary files /dev/null and b/buffyboard/screenshots/breezy-dark-960x540.png differ diff --git a/buffyboard/screenshots/breezy-light-1024x768.png b/buffyboard/screenshots/breezy-light-1024x768.png new file mode 100644 index 0000000..20086dd Binary files /dev/null and b/buffyboard/screenshots/breezy-light-1024x768.png differ diff --git a/buffyboard/screenshots/breezy-light-1280x800.png b/buffyboard/screenshots/breezy-light-1280x800.png new file mode 100644 index 0000000..3512b60 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-1280x800.png differ diff --git a/buffyboard/screenshots/breezy-light-1440x720.png b/buffyboard/screenshots/breezy-light-1440x720.png new file mode 100644 index 0000000..af009a4 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-1440x720.png differ diff --git a/buffyboard/screenshots/breezy-light-1920x1080.png b/buffyboard/screenshots/breezy-light-1920x1080.png new file mode 100644 index 0000000..70a9531 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-1920x1080.png differ diff --git a/buffyboard/screenshots/breezy-light-480x800.png b/buffyboard/screenshots/breezy-light-480x800.png new file mode 100644 index 0000000..ab77dfe Binary files /dev/null and b/buffyboard/screenshots/breezy-light-480x800.png differ diff --git a/buffyboard/screenshots/breezy-light-540x960.png b/buffyboard/screenshots/breezy-light-540x960.png new file mode 100644 index 0000000..4d4e049 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-540x960.png differ diff --git a/buffyboard/screenshots/breezy-light-768x1024.png b/buffyboard/screenshots/breezy-light-768x1024.png new file mode 100644 index 0000000..a7ae780 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-768x1024.png differ diff --git a/buffyboard/screenshots/breezy-light-800x480.png b/buffyboard/screenshots/breezy-light-800x480.png new file mode 100644 index 0000000..5f5eb02 Binary files /dev/null and b/buffyboard/screenshots/breezy-light-800x480.png differ diff --git a/buffyboard/screenshots/breezy-light-960x540.png b/buffyboard/screenshots/breezy-light-960x540.png new file mode 100644 index 0000000..b1498ec Binary files /dev/null and b/buffyboard/screenshots/breezy-light-960x540.png differ diff --git a/buffyboard/screenshots/pmos-dark-1024x768.png b/buffyboard/screenshots/pmos-dark-1024x768.png new file mode 100644 index 0000000..345f101 Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-1024x768.png differ diff --git a/buffyboard/screenshots/pmos-dark-1280x800.png b/buffyboard/screenshots/pmos-dark-1280x800.png new file mode 100644 index 0000000..2d0730a Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-1280x800.png differ diff --git a/buffyboard/screenshots/pmos-dark-1440x720.png b/buffyboard/screenshots/pmos-dark-1440x720.png new file mode 100644 index 0000000..bc4bb26 Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-1440x720.png differ diff --git a/buffyboard/screenshots/pmos-dark-1920x1080.png b/buffyboard/screenshots/pmos-dark-1920x1080.png new file mode 100644 index 0000000..776324a Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-1920x1080.png differ diff --git a/buffyboard/screenshots/pmos-dark-480x800.png b/buffyboard/screenshots/pmos-dark-480x800.png new file mode 100644 index 0000000..c24ff54 Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-480x800.png differ diff --git a/buffyboard/screenshots/pmos-dark-540x960.png b/buffyboard/screenshots/pmos-dark-540x960.png new file mode 100644 index 0000000..66038a0 Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-540x960.png differ diff --git a/buffyboard/screenshots/pmos-dark-768x1024.png b/buffyboard/screenshots/pmos-dark-768x1024.png new file mode 100644 index 0000000..955d72c Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-768x1024.png differ diff --git a/buffyboard/screenshots/pmos-dark-800x480.png b/buffyboard/screenshots/pmos-dark-800x480.png new file mode 100644 index 0000000..88f1b0d Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-800x480.png differ diff --git a/buffyboard/screenshots/pmos-dark-960x540.png b/buffyboard/screenshots/pmos-dark-960x540.png new file mode 100644 index 0000000..fef8c52 Binary files /dev/null and b/buffyboard/screenshots/pmos-dark-960x540.png differ diff --git a/buffyboard/screenshots/pmos-light-1024x768.png b/buffyboard/screenshots/pmos-light-1024x768.png new file mode 100644 index 0000000..b36f894 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-1024x768.png differ diff --git a/buffyboard/screenshots/pmos-light-1280x800.png b/buffyboard/screenshots/pmos-light-1280x800.png new file mode 100644 index 0000000..3807bed Binary files /dev/null and b/buffyboard/screenshots/pmos-light-1280x800.png differ diff --git a/buffyboard/screenshots/pmos-light-1440x720.png b/buffyboard/screenshots/pmos-light-1440x720.png new file mode 100644 index 0000000..eabba07 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-1440x720.png differ diff --git a/buffyboard/screenshots/pmos-light-1920x1080.png b/buffyboard/screenshots/pmos-light-1920x1080.png new file mode 100644 index 0000000..3ecc062 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-1920x1080.png differ diff --git a/buffyboard/screenshots/pmos-light-480x800.png b/buffyboard/screenshots/pmos-light-480x800.png new file mode 100644 index 0000000..e90aaf4 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-480x800.png differ diff --git a/buffyboard/screenshots/pmos-light-540x960.png b/buffyboard/screenshots/pmos-light-540x960.png new file mode 100644 index 0000000..cdbe145 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-540x960.png differ diff --git a/buffyboard/screenshots/pmos-light-768x1024.png b/buffyboard/screenshots/pmos-light-768x1024.png new file mode 100644 index 0000000..944c740 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-768x1024.png differ diff --git a/buffyboard/screenshots/pmos-light-800x480.png b/buffyboard/screenshots/pmos-light-800x480.png new file mode 100644 index 0000000..e67edf9 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-800x480.png differ diff --git a/buffyboard/screenshots/pmos-light-960x540.png b/buffyboard/screenshots/pmos-light-960x540.png new file mode 100644 index 0000000..875d025 Binary files /dev/null and b/buffyboard/screenshots/pmos-light-960x540.png differ diff --git a/unl0kr/command_line.c b/unl0kr/command_line.c index b1ecf0d..7db1fdf 100644 --- a/unl0kr/command_line.c +++ b/unl0kr/command_line.c @@ -39,11 +39,11 @@ static void print_usage(); static void init_opts(ul_cli_opts *opts) { opts->num_config_files = 0; opts->config_files = NULL; - opts->hor_res = -1; opts->ver_res = -1; opts->x_offset = 0; opts->y_offset = 0; + opts->dpi = 0; opts->verbose = false; } diff --git a/unl0kr/regenerate-screenshots.sh b/unl0kr/regenerate-screenshots.sh index f4a1032..01a87ac 100755 --- a/unl0kr/regenerate-screenshots.sh +++ b/unl0kr/regenerate-screenshots.sh @@ -5,7 +5,7 @@ fb_res=1920x1080 fb_depth=8 fb_format=rgba -unl0kr=$1 +executable=$1 outdir=screenshots config=unl0kr-screenshots.conf @@ -34,8 +34,8 @@ resolutions=( 1920x1080 ) -if [[ ! -f $unl0kr || ! -x $unl0kr ]]; then - echo "Error: Could not find unl0kr executable at $unl0kr" 1>&2 +if [[ ! -f $executable || ! -x $executable ]]; then + echo "Error: Could not find executable at $executable" 1>&2 exit 1 fi @@ -79,7 +79,7 @@ for theme in ${themes[@]}; do readme="$readme"$'\n'"## $theme"$'\n\n' for res in ${resolutions[@]}; do - CRYPTTAB_SOURCE=/dev/sda1 $unl0kr -g $res -C unl0kr-screenshots.conf & + CRYPTTAB_SOURCE=/dev/sda1 $executable -g $res -C $config & pid=$! sleep 3 # Wait for UI to render