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.
+
+
+
+
+
+
+
# 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
"$'\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
+
+
+
+
+
+
+
+
+
+
+
+## breezy-dark
+
+
+
+
+
+
+
+
+
+
+
+## pmos-light
+
+
+
+
+
+
+
+
+
+
+
+## pmos-dark
+
+
+
+
+
+
+
+
+
+
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