Merge branch 'master' into 'main_loop'
# Conflicts: # CHANGELOG.md
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
build-and-test-with-drm:
|
||||
image: alpine:3.19
|
||||
script:
|
||||
- set -e # Stop on first error
|
||||
- apk -q add git bash build-base meson linux-headers inih-dev libinput-dev libxkbcommon-dev libdrm-dev scdoc
|
||||
- git submodule init
|
||||
- git submodule update
|
||||
@@ -9,6 +10,7 @@ build-and-test-with-drm:
|
||||
build-and-test-without-drm:
|
||||
image: alpine:3.19
|
||||
script:
|
||||
- set -e # Stop on first error
|
||||
- apk -q add git bash build-base meson linux-headers inih-dev libinput-dev libxkbcommon-dev scdoc
|
||||
- git submodule init
|
||||
- git submodule update
|
||||
@@ -17,6 +19,7 @@ build-and-test-without-drm:
|
||||
build-iskey:
|
||||
image: alpine:3.19
|
||||
script:
|
||||
- set -e # Stop on first error
|
||||
- apk -q add git bash build-base meson linux-headers libevdev-dev
|
||||
- cd iskey
|
||||
- meson setup _build
|
||||
|
2
.gitmodules
vendored
2
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
||||
[submodule "lvgl"]
|
||||
path = lvgl
|
||||
url = https://github.com/littlevgl/lvgl.git
|
||||
url = https://github.com/lvgl/lvgl.git
|
||||
|
@@ -21,6 +21,7 @@ If a change only affects particular applications, they are listed in parentheses
|
||||
- feat(buffyboard): Add a buffyboard.service systemd service (!34, @uninsane)
|
||||
- fix(unl0kr): Select an available DRM device instead of a hard-coded one (!35, thanks @Sorcus)
|
||||
- feat(unl0kr): Enable software rotation (!32, thanks @xs5871 & @craftyguy)
|
||||
- misc: do not hardcode endianess of a system (!41, thanks @vstoiakin)
|
||||
- misc(unl0kr): Optimize the main loop (!38, thanks @vstoiakin)
|
||||
|
||||
## 3.2.0 (2024-06-03)
|
||||
|
@@ -313,9 +313,6 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
||||
* COMPILER SETTINGS
|
||||
*====================*/
|
||||
|
||||
/*For big endian systems set to 1*/
|
||||
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||
|
||||
/*Define a custom attribute to `lv_tick_inc` function*/
|
||||
#define LV_ATTRIBUTE_TICK_INC
|
||||
|
||||
|
@@ -32,7 +32,7 @@ password is printed to STDOUT. All other output happens on STDERR.
|
||||
*-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*
|
||||
*-d --dpi=N*
|
||||
Override the display's DPI value.
|
||||
*-r, --rotate=[0-3]*
|
||||
Rotate the UI to the given orientation. The
|
||||
@@ -42,11 +42,13 @@ password is printed to STDOUT. All other output happens on STDERR.
|
||||
* 1 - clockwise orientation (90 degrees)
|
||||
* 2 - upside down orientation (180 degrees)
|
||||
* 3 - counterclockwise orientation (270 degrees)
|
||||
*-h, --help*
|
||||
*-h, --help*
|
||||
Print this message and exit.
|
||||
*-v, --verbose*
|
||||
*-n*
|
||||
Do not append a newline character to a password.
|
||||
*-v, --verbose*
|
||||
Enable more detailed logging output on STDERR.
|
||||
*-V, --version*
|
||||
*-V, --version*
|
||||
Print the unl0kr version and exit.
|
||||
|
||||
# EXAMPLES
|
||||
|
@@ -4,7 +4,11 @@ project('buffybox', 'c',
|
||||
meson_version: '>= 0.59.0'
|
||||
)
|
||||
|
||||
add_project_arguments('-DPROJECT_VERSION="@0@"'.format(meson.project_version()), language: 'c')
|
||||
add_project_arguments(
|
||||
'-DPROJECT_VERSION="@0@"'.format(meson.project_version()),
|
||||
'-DLV_BIG_ENDIAN_SYSTEM=' + (host_machine.endian() == 'big'? '1' : '0'),
|
||||
language: 'c'
|
||||
)
|
||||
|
||||
depinih = dependency('inih')
|
||||
deplibinput = dependency('libinput')
|
||||
|
@@ -58,8 +58,10 @@ function ok() {
|
||||
|
||||
function run_script() {
|
||||
info "Executing $1"
|
||||
"$1"
|
||||
rc=0
|
||||
"$1" || rc=1
|
||||
echo
|
||||
return $rc
|
||||
}
|
||||
|
||||
function read_version_from_meson() {
|
||||
|
@@ -4,8 +4,12 @@ root=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
source "$root/helpers.sh"
|
||||
|
||||
run_script "$root/build-with-drm.sh"
|
||||
run_script "$root/test-version-matches-meson-and-changelog.sh"
|
||||
run_script "$root/test-uses-fb-backend-by-default.sh"
|
||||
run_script "$root/test-uses-fb-backend-if-selected-via-config.sh"
|
||||
run_script "$root/test-uses-drm-backend-if-selected-via-config-and-available.sh"
|
||||
rc=0
|
||||
|
||||
run_script "$root/build-with-drm.sh" || rc=1
|
||||
run_script "$root/test-version-matches-meson-and-changelog.sh" || rc=1
|
||||
run_script "$root/test-uses-fb-backend-by-default.sh" || rc=1
|
||||
run_script "$root/test-uses-fb-backend-if-selected-via-config.sh" || rc=1
|
||||
run_script "$root/test-uses-drm-backend-if-selected-via-config-and-available.sh" || rc=1
|
||||
|
||||
exit $rc
|
||||
|
@@ -4,8 +4,12 @@ root=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
source "$root/helpers.sh"
|
||||
|
||||
run_script "$root/build-without-drm.sh"
|
||||
run_script "$root/test-version-matches-meson-and-changelog.sh"
|
||||
run_script "$root/test-uses-fb-backend-by-default.sh"
|
||||
run_script "$root/test-uses-fb-backend-if-selected-via-config.sh"
|
||||
run_script "$root/test-uses-fb-backend-if-drm-selected-via-config-but-unavailable.sh"
|
||||
rc=0
|
||||
|
||||
run_script "$root/build-without-drm.sh" || rc=1
|
||||
run_script "$root/test-version-matches-meson-and-changelog.sh" || rc=1
|
||||
run_script "$root/test-uses-fb-backend-by-default.sh" || rc=1
|
||||
run_script "$root/test-uses-fb-backend-if-selected-via-config.sh" || rc=1
|
||||
run_script "$root/test-uses-fb-backend-if-drm-selected-via-config-but-unavailable.sh" || rc=1
|
||||
|
||||
exit $rc
|
||||
|
@@ -45,6 +45,7 @@ static void init_opts(ul_cli_opts *opts) {
|
||||
opts->y_offset = 0;
|
||||
opts->dpi = 0;
|
||||
opts->rotation = LV_DISPLAY_ROTATION_0;
|
||||
opts->newline = true;
|
||||
opts->verbose = false;
|
||||
}
|
||||
|
||||
@@ -77,6 +78,7 @@ static void print_usage() {
|
||||
" * 2 - upside down orientation (180 degrees)\n"
|
||||
" * 3 - counterclockwise orientation (270 degrees)\n"
|
||||
" -h, --help Print this message and exit\n"
|
||||
" -n Do not append a newline character to a password\n"
|
||||
" -v, --verbose Enable more detailed logging output on STDERR\n"
|
||||
" -V, --version Print the unl0kr version and exit\n");
|
||||
/*-------------------------------- 78 CHARS --------------------------------*/
|
||||
@@ -103,7 +105,7 @@ void ul_cli_parse_opts(int argc, char *argv[], ul_cli_opts *opts) {
|
||||
|
||||
int opt, index = 0;
|
||||
|
||||
while ((opt = getopt_long(argc, argv, "C:g:d:r:hvV", long_opts, &index)) != -1) {
|
||||
while ((opt = getopt_long(argc, argv, "C:g:d:r:hnvV", long_opts, &index)) != -1) {
|
||||
switch (opt) {
|
||||
case 'C':
|
||||
opts->config_files = realloc(opts->config_files, (opts->num_config_files + 1) * sizeof(char *));
|
||||
@@ -153,6 +155,9 @@ void ul_cli_parse_opts(int argc, char *argv[], ul_cli_opts *opts) {
|
||||
case 'h':
|
||||
print_usage();
|
||||
exit(EXIT_SUCCESS);
|
||||
case 'n':
|
||||
opts->newline = false;
|
||||
break;
|
||||
case 'v':
|
||||
opts->verbose = true;
|
||||
break;
|
||||
|
@@ -30,6 +30,8 @@ typedef struct {
|
||||
int dpi;
|
||||
/* Display rotation */
|
||||
lv_display_rotation_t rotation;
|
||||
/* If true, append a newline character to a password */
|
||||
bool newline;
|
||||
/* Verbose mode. If true, provide more detailed logging output on STDERR. */
|
||||
bool verbose;
|
||||
} ul_cli_opts;
|
||||
|
@@ -207,9 +207,6 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
||||
* COMPILER SETTINGS
|
||||
*====================*/
|
||||
|
||||
/*For big endian systems set to 1*/
|
||||
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||
|
||||
/*Define a custom attribute to `lv_tick_inc` function*/
|
||||
#define LV_ATTRIBUTE_TICK_INC
|
||||
|
||||
|
@@ -331,7 +331,7 @@ static void textarea_ready_cb(lv_event_t *event) {
|
||||
|
||||
static void print_password_and_exit(lv_obj_t *textarea) {
|
||||
/* Print the password to STDOUT */
|
||||
printf("%s\n", lv_textarea_get_text(textarea));
|
||||
printf(cli_opts.newline? "%s\n" : "%s", lv_textarea_get_text(textarea));
|
||||
|
||||
/* Clear the screen so that when the password field was unobscured, it cannot
|
||||
* leak via stale display buffers after we've exited */
|
||||
|
@@ -418,7 +418,7 @@ int exec_unl0kr(char** ret_password)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
execl(UNL0KR_BINARY, "unl0kr", (char*) 0);
|
||||
execl(UNL0KR_BINARY, UNL0KR_BINARY, "-n", (char*) 0);
|
||||
|
||||
perror("exec() is failed");
|
||||
exit(EXIT_FAILURE);
|
||||
|
Reference in New Issue
Block a user