1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-11 09:04:01 +03:00
Commit Graph

393 Commits

Author SHA1 Message Date
Samuel Dionne-Riel
7c6414747b lvgui: 2022-07-30 -> 2022-10-13 2022-10-13 03:15:04 -04:00
Samuel Dionne-Riel
58efa9e6f8 lvgui: Fix options selection styles 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
d693da045b lvgui: Fix horizontal separator styles 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
26e070a33a lvgui: Drop splash-specific styles from text area 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
017e080d6a lvgui: Only activate button when enabled 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
3fd8c97556 lvgui: Add button enabled/disabled state 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
82abf8c91f lvgui: Add none type button style mod 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
3816ff7e31 lvgui: Add events to text area 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
a01a9ac0f7 lvgui: Improve keyboard 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
a4bfef26c0 lvgui: Delete async when disposing of an object 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
a78d09726d lvgui: Add #once for LVTask 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
213cff49aa lvgui: Delete task when deleting statusbar widgets 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
ad65abb12a lvgui: BaseWindow add function to correctly dispos of objects
This is because objects *may* be added to the focus group. When added to
the focus group, they need to be removed before deleting.
2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
aae84d77ee lvgui: review status bar padding 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
a974fbb00d lvgui: Handle tasks deletion 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
79a900c9c1 lvgui: Add header/text label helpers 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
ea26e77b7b mruby-lvgui-native: Bind more lv_task functions 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
8f78c7d9b1 mruby-lvgui-native-fragment: Add assert debug handler
This, paired with the appropriate changes in lvgui, allows us to print
some information about the mruby state when LVGL asserts happen.
2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
67ab49a2cb boot/init: Add debug info flag to mrbc 2022-10-12 22:00:56 -04:00
Samuel Dionne-Riel
9168e3a4ca
Merge pull request #504 from samueldr-wip/fix/switch-root-kexec-again
init: Fix kexec condition in SwitchRoot
2022-10-12 16:48:47 -04:00
Samuel Dionne-Riel
d642f3431f mruby-lvgui-native: yacc -> bison 2022-09-27 01:46:00 -04:00
Samuel Dionne-Riel
23192f4e26 treewide: pkgconfig -> pkg-config
*sighs*
2022-09-26 23:43:41 -04:00
Samuel Dionne-Riel
1754276528 treewide: runCommandNoCC -> runCommand
*sighs*
2022-09-26 23:42:22 -04:00
Samuel Dionne-Riel
87e579471c
Merge pull request #500 from samueldr-wip/fix/lvgui-regression
lvgui: 2021-11-25 -> 2022-07-30
2022-07-31 16:27:36 -04:00
Samuel Dionne-Riel
5bd7e6bbfc init: Fix kexec condition in SwitchRoot
In #300 I "fixed" stage-0 by adding a switch to toggle between it being
enabled and disabled in the recovery menu. *That* works as expected.

In 2a46962d76 one can observe that the
`#will_kexec?` method will use data that will only come from the
`choice` made from the recovery interface. The `@use_generation_kernel`
member is not set at any other point.

With ruby semantics, this means that the `if` is false, so *unless* you
choose to boot using the recovery menu, it will never trigger `kexec`.

Why has this gone through this way? Most likely because my main testing
target was configured so it *always* went to the recovery menu at the
time, meaning that I never saw the default behaviour.
2022-07-31 16:08:39 -04:00
betaboon
c1092ded48 lvgui: Fix add_switch description-default-value 2022-07-31 19:49:42 +02:00
Samuel Dionne-Riel
b3c723e075 lvgui: 2021-11-25 -> 2022-07-30 2022-07-30 16:13:55 -04:00
Samuel Dionne-Riel
badf9239e7 boot/init: Kill splash after 10 seconds without it exiting 2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
ba3ee779d0 boot/init: Make switch_root depend on Splash 2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
dc63801179 boot/init: Fix System.which logic
- A missing program in a single directory shouldn't error out
 - A program missing from all directories should return nil
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
e3c0bf815d boot/init: Mount is fulfilled if anything is mounted at target
It's extremely unlikely something wrong is mounted at the target.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
a10ae8ac24 boot/init: Add Mounting.mountpoint?
It checks whether a specified path is a mountpoint.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
4cde41159e boot/init: Improve failed tasks printout
Dependencies count is now only for the failed dependencies.

List tasks with their dependencies, instead of context-free
dependencies.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
84891e4d55 boot/init: Respect init= for upstream NixOS compatibility
We're stripping `init` to add it back next... A bit wasteful, but this
keeps things compatible.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
7f5bf77865 boot/init: Fix Splash#quit when splash is not running 2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
4724762ca6 boot/init: Refresh LVM for mount task
Devices may have appeared.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
63ef32769f boot/init: LUKS task depends on splash
This is needed for passphrase input.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
ee151c8cd5 boot/init: Mark udev as required for graphics
With modular kernels, it may be that kernel modules need to be loaded
"automatically" by udev for things to work correctly, like input.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
a97c094f65 boot/init: Make Graphics target depend on Modules
This ensures any modules needed for the splash are loaded beforehand.

Also notify the kernel about the modprobe binary.
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
a87672b761 boot/init: Try probing kernel module for filesystem
This is needed for modular kernels, unless we want to load all
filesystem modules all the time!
2022-05-29 22:39:11 -04:00
Samuel Dionne-Riel
bdbaa34155 lvgui: 2021-09-22 -> 2021-11-25 2021-11-25 20:15:12 -05:00
Samuel Dionne-Riel
ea4237084f mruby-lvgui-native: update with get_child_back fix
This function hadn't been tested (duh) and may return a *valid* NULL
value.
2021-10-15 20:44:59 -04:00
Samuel Dionne-Riel
6e3b8e8d6e lvgui: Fix bogus null? usage
This `get_children` function was only used in the error applet.
2021-10-15 20:23:18 -04:00
Samuel Dionne-Riel
71e698572d lvgui: 2021-07-20 -> 2021-09-22 2021-09-29 14:38:29 -04:00
Samuel Dionne-Riel
a272d16eb2 lvgui: Use LVGUI::Native
Most of the changes are `s/LVGL::FFI/LVGUI::Native/`, but there are some
other notable changes.

Some correctness issues with nil usage where "" should have been used.

String handling is better, and does not require tacking on, for unknown
reason, a null at the end of the string.
2021-09-28 21:23:35 -04:00
Samuel Dionne-Riel
a75f644101 lvgui: Remove now useless files 2021-09-28 21:23:35 -04:00
Samuel Dionne-Riel
2e1d77d999 mruby-lvgui-native-fragment -> mruby-lvgui-native
We're replacing it with *actual bindings*, rather than FFI-based
bindings.

While currently this should be a no-op for the end-user (with the other
relevant changes in the following commits), this was made with the hopes
that it will help either entirely fix, or help track down the root cause
of an issue in a WIP feature in another branch.
2021-09-28 21:23:35 -04:00
Samuel Dionne-Riel
14ff85e31f lvgui: 2021-07-19 -> 2021-07-20
This fixes the issues with rendering SVGs when a dimension is bigger
than 2048
2021-07-20 21:01:14 -04:00
Samuel Dionne-Riel
e35ab98559 boot/recovery-menu: Review with new theme 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
27888e9a89 boot/splash: Review for assets path 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
fceb420383 boot/splash: Load SVG using new resize workaround 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
7bc16d7996 boot/splash: Use night theme...
It would probably benefit from an actually bespoke totally
white-on-black theme.
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
61ebf3d2f4 boot/error: Use assets path 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
87ac4c8813 boot/error: Load SVG using new resize workaround 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
0a397decfe boot/recovery-menu: Use mkLVGUIApp 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
4e2cd380a0 boot/recovery-menu: Normalize LVGUI consumers 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
11f982bf97 boot/splash: Use mkLVGUIApp 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
9df0e1bbdf boot/splash: Normalize LVGUI consumers 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
9407ac1084 boot/error: Use mkLVGUIApp 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
6c7f1371f9 boot/error: Normalize LVGUI consumers 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
9cd0668f23 lvgui: Reduce enhanced header bar size in landscape
This helps gain some precious screen real-estate for e.g. laptop use
cases.
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
4937f6ad46 lvgui: Provide default font sizes
This is not used, but almost was. This would allow increasing or
reducing relative to the defaults, rather than hardcoding a value.
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
b77cd6f5c2 lvgui: Fixes for landscape uses
Mainly we fit the content to a 720dp wide column. This ensures the
layout stays the same everywhere.

(Yet TODO, make the header take less space in landscape)
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
a4233cc960 lvgui: Constrain header bar to a "720dp" column 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
8be50b7a6f lvgui: Add HeaderLabel 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
4ee19f9048 lvgui: Use the NixOS theme 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
5a7d09bcd6 lvgui: Make base window use the app background 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
0e1b8b47c4 lvgui: Review assets path 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
14e78352c1 lvgui: Use Fonts helpers to provide fonts
This decouples the actually-in-use assets from the native parts of
LVGUI.
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
29ce88d750 lvgui: Add Fonts 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
39f6efa8c5 lvgui: Default to NixOS theme 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
5ff3bb9f88 lvgui: Add back support for night theme 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
6cb9a81938 lvgui: Drop nanosvg resize hack 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
f614ebf630 lvgui: Add font loading bindings 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
6017552e1d lvgui: Add basic assets path support
Still needed: actually providing a useful path
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
61205f5e55 lvgui: Add point_scale
Will be used for fonts
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
f546b3dcb4 lvgui: Allow setting style from add_button helper 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
42694ea008 lvgui: Add style modifier functions for buttons 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
6d01610062 lvgui: Drop unneeded logging 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
73c197bf1a lvgui: BackButton: fix metrics 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
898be48fba lvgui: OptionsSelection: rework a bit 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
f1ceb95cd9 lvgui: Rework Toolbar a bit 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
1069f1aa0a lvgui: Update Page 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
b05c4a7e29 lvgui: Bind more 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
aff5df2cb8 lvgui: Add MobileNixOS namespace 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
cee29f9a05 lvgui: Add initialization hook to BaseWindow 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
e3e1ce9191 lvgui: Add header hook to base window
This allows any uses of BaseWindow to add something to the flow at the
location the header bar would be.
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
bf3cc95968 lvgui: Add header bar 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
3c6c72d0d6 lvgui: Add Placeholder widget
Used to replace something while the other thing is not available...

(wow, such clarity)
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
3419dd6035 lvgui: Move general stuff in __init 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
aae04ccd45 lvgui: Use correct fonts for status bar 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
3d032921fa lvgui: Extract status_bar 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
604e46a1b8 lvgui: extract clock 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
93c9a3d35d lvgui: extract back button 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
30dd4a0ce2 lvgui: Rework back button a bit 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
f8fd4bd919 lvgui: Extract button
As it's meant to be inherited from inside of LVGUI too, prefix it with
an underscore so it's lexicographilcally preferred :/
2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
a1934c41a8 lvgui: Extract horizontal separator 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
ff9464c947 lvgui: Extract battery 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
90f629e309 lvgui: Extract page 2021-07-19 15:50:06 -04:00
Samuel Dionne-Riel
1127cee44f lvgui: Extract the base widget 2021-07-19 15:50:06 -04:00