Skip to content
This repository has been archived by the owner on Oct 12, 2020. It is now read-only.

[request] "Settings menu" demo #1

Closed
puzrin opened this issue Feb 7, 2019 · 77 comments
Closed

[request] "Settings menu" demo #1

puzrin opened this issue Feb 7, 2019 · 77 comments

Comments

@puzrin
Copy link

puzrin commented Feb 7, 2019

A lot of small embedded devices have interface like this:

  1. Main screen
  2. Settings menu with tons of params (mostly numeric, sometime text)

IMHO it would save a lot of time, if everyone could take ready example, and copy-paste code with controls of required type.

What is expected from menu:

  • Good design
  • Proper interaction with different input devices (touch/buttons)
  • Code blocks for popular controls, ready to copy-paste
    • Example: "need to set speed between [1.0 ... 5.0] m/sec with step 0.1"
@puzrin puzrin changed the title [request] "Setting menu" demo [request] "Settings menu" demo Feb 7, 2019
@kisvegabor
Copy link
Member

Awesome idea! it"s really something which would useful fora lot of people!

It turned out that you have designer skills. Can you create a layout design?

Finally, the user only needs to apply a theme to change the default (plain) appearance.

@puzrin
Copy link
Author

puzrin commented Feb 7, 2019

It turned out that you have designer skills. Can you create a layout design?

I have no designer skills. Only some experience to see obvious problems in design/usability, and where to take ready solutions when available. My skills are more close to "software architect"

If you give me some time, i will prepare list of exact links to UI guidelines, where to read about each menu element.

@seyyah
Copy link

seyyah commented Feb 7, 2019

It turned out that you have designer skills. Can you create a layout design?

I'm not very good, but I try still to do a pencil sketch/moqup and share it.

@kisvegabor
Copy link
Member

@puzrin
Right now, I have no time to immerse in it so deep. Anyway, a list of links would be useful.

@seyyah
Thank you, waiting for that!

@puzrin
Copy link
Author

puzrin commented Feb 8, 2019

@kisvegabor give me 1 week. I'm trying to understand, what can be useable for programmers, to quickly create interface sketches from ready material components. Something like this:

@puzrin
Copy link
Author

puzrin commented Feb 8, 2019

Tech note.

https://stackblitz.com/edit/mdc-web-quick-start-demo

Nice online IDE. Seems demo can be published on web. That's ~ the same as offline (node.js + webpack), but result can be seen immediately, without install. + anyone can fork & edit.

* does not work in Firefox, open in Chromium/Chrome

investigating...

@seyyah
Copy link

seyyah commented Feb 10, 2019

[1, 3, 4] maybe inspired us. I am using Pinterest daily and I opened a board [2] and gathering inspirational work here as I meet.

What should be included in the "settings menu"?

What do you think about "home automation demo" idea?

📷 Pins

A B C D
1
2
3

📋 Reference

  1. https://pttrns.com/?scid=16
  2. https://tr.pinterest.com/5eyyah/uiux-littlevgl/
  3. http://inspired-ui.com/search/settings
  4. http://uiohmy.com/tagfilter.php?name=settings

@puzrin
Copy link
Author

puzrin commented Feb 11, 2019

What should be included in the "settings menu"?

  • integers with different change methods (+/-, slider, selectbox)
  • the same, but floats with limited decimal part + step to change
  • yes/no (checkbox, switch)
  • no keyboard
  • acceleration on long press

What do you think about "home automation demo" idea?

I'd say, screens look nice, but there are nothing special in details. All this things are described in UI guidelines. IMO words "home automation" may sound magically, but have nothing special/specific behind. If you follow UI guidlines, it's not a problem to create zillions of such demos. I'd suggest to take existing demo, decide what guideline to follow and fix all deviations.

Scope of this issue is a bit different - provide "almost ready" interface solution for simple projects.

@kisvegabor
Copy link
Member

@seyyah It's really inspiring, thank you!

What should be included in the "settings menu"?

  • no keyboard

@puzrin Typing a name for something (room, device name, wifi network etc) is quite commont. IMO we should have a one line text area + keayboard in the example

I'd say, screens look nice, but there are nothing special in details. All this things are described in UI guidelines. IMO words "home automation" may sound magically, but have nothing special/specific behind. If you follow UI guidlines, it's not a problem to create zillions of such demos. I'd suggest to take existing demo, decide what guideline to follow and fix all deviations.

The demo should use the very default lvgl style (white background, blueish buttons) but can be customized by applying a theme. That's the key of the themes. There is a UI with a default appearance but can be completely changed with one line of code. So the themes should follow the UI guidelines.

Scope of this issue is a bit different - provide "almost ready" interface solution for simple projects.

Yes, in this issue we should focus on:

  1. figure out what widgets would be required for a general main screen + settings screen UI.
  2. create a layout design
  3. implement it in lvgl
  4. (create a video for youtube :) )

@puzrin
Copy link
Author

puzrin commented Feb 12, 2019

Typing a name for something (room, device name, wifi network etc) is quite commont. IMO we should have a one line text area + keyboard in the example

In ideal world, setting menu demo should have everything :). But expences to do keyboard "right" will postpone result significantly. I always check several conditions:

  • result should be self-sufficient (useable, in this case)
  • possible to do in shout time
  • extendable (doable with small steps)

I have nothing against keyboard, but suggest postpone it to second iteration. My answer was not "what demo needs at all", but "what demo needs right now, immediately"

@puzrin
Copy link
Author

puzrin commented Feb 12, 2019

More comments.

  • figure out what widgets would be required for a general main screen + settings screen UI.

I'd stay aside of main screens. Because variability of main screens is very high, and it's not a big problem to "combine some labels". Trying to generalize - tend to fall into #804.

Suggestion is to focus on settings menu only. It's doable with current possibilities, and result will be valuable.

4. (create a video for youtube :) )

I did not posted anywhere, but suggestion is to make general template for all examples, to simpllify emscripten builds and publish on gh-pages branch.

The reason i did not posted this suggestion - because examples are not self-sufficient. Those are more "code snippets". Personally, i hope #750 to be first example of "demo done right" and land settings menu there.

@kisvegabor
Copy link
Member

Suggestion is to focus on settings menu only. It's doable with current possibilities, and result will be valuable.

Sound reasonable.

I did not posted anywhere, but suggestion is to make general template for all examples, to simpllify emscripten builds and publish on gh-pages branch.

I don't understand. In "general template for all examples" which examples do you mean for example?

The reason i did not posted this suggestion - because examples are not self-sufficient. Those are more "code snippets". Personally, i hope #750 to be first example of "demo done right" and land settings menu there.

I commented on #750

@puzrin
Copy link
Author

puzrin commented Feb 13, 2019

I don't understand. In "general template for all examples" which examples do you mean for example?

We do i18n right now. It would be logical to make example for it. Micro demo with "hello world", and dropdown to select language.

It would be convenient to have template of pio config (or Makefile?):

  • with settings/deps for SDL build
  • with setting for web build (PIO supports additional platforms, but i did not investigated)

@embeddedt
Copy link
Member

@puzrin

I think I didn't understand what you meant. You said "It would be convenient to have template" but from what I can see we already have one of those. Could you please clarify what you mean by "template"?

It would be convenient to have template of pio config (or Makefile?):

  • with settings/deps for SDL build

https://github.com/littlevgl/pc_simulator_sdl_eclipse has a Makefile for those who don't want to use Eclipse.

  • with setting for web build (PIO supports additional platforms, but i did not investigated)

https://github.com/littlevgl/emscripten builds using a Makefile as well.

@puzrin
Copy link
Author

puzrin commented Feb 13, 2019

@embeddedt

I mean all such things could be convenient in one place. When new "project" (live demo in this case) required, it's convenient to copy skeleton with all settings/scripts instead of learn/collect details.

Also, i think it could be convenient to make examples via platformio, because those are more easy to install.

@embeddedt
Copy link
Member

When new "project" (live demo in this case) required, it's convenient to copy skeleton with all settings/scripts instead of learn/collect details.

What details need to be collected? At the moment making a new example merely requires modifying main.c.

@puzrin
Copy link
Author

puzrin commented Feb 13, 2019

I'd like this things in the same time, in one place:

  • install deps via platformio (because user can just open folder and wait until pio does everything).
  • able to build for SDL/web/stm32f429-disco in one click.

@BrianPugh
Copy link

@puzrin If you feel like digging through my code; I've setup a pretty good system for a 128x64 screen.

https://github.com/joltwallet/jolt_wallet/tree/joltos

https://gfycat.com/DelayedTatteredCopperbutterfly

@kisvegabor
Copy link
Member

kisvegabor commented Feb 15, 2019

I'd like this things in the same time, in one place:

  • install deps via platformio (because user can just open folder and wait until pio does everything).
  • able to build for SDL/web/stm32f429-disco in one click.

I'm afraid it won't be that simple with Pio either because you still need to manually install SDL to work in a PC simulator and install the Emscripten SDK to compile javascript.

Despite of it, I believe that Pio is a good direction because it's easy to switch between platforms. Although it wasn't convenient for me to develop the library, it can be good for the users who use the library.

@puzrin
Copy link
Author

puzrin commented Feb 15, 2019

I'm afraid it won't be that simple with Pio either because you still need to manually install SDL to work in a PC simulator and install the Emscripten SDK to compile javascript.

Ideal is not achievable, but we still can have some benefits & simplify user's life as max as possible:

  • After deps installed once, all other demos can be "opened" in PIO with one click (i hope)
  • We can provide helper scripts for PIO (in python) and say "just run it to install the rest".
    • That will be OS-transparent (no specific .sh / .bat files)
    • May be we could configure PIO to run this script automatically, if no SDL/emscripten found. Or post clean message what to type in PIO terminal. I did not investigated details, but PIO has some pre-hooks for major comands.

Also note, PIO is NOT 100% free. After 1 month it requires paid account to run tests & bare metal debug (compilation & upload still works without restrictions). But i still don't know better alternative to manage C dependencies for embedded.

@embeddedt
Copy link
Member

After 1 month it requires paid account to run tests & bare metal debug (compilation & upload still works without restrictions).

As an embedded developer, I can say that I probably wouldn't go for a tool like that. The ability to debug is extremely helpful to me and a huge time saver.

i still don't know better alternative to manage C dependencies for embedded.

Why do we need to manage those dependencies in the first place? As an example, if I want to build a LittlevGL application with STM32F746G-DISCO, I just have to download the existing Eclipse-based project. What's wrong with that setup?

@puzrin
Copy link
Author

puzrin commented Feb 15, 2019

Why do we need to manage those dependencies in the first place?

Many languages (js, ruby, python, php, rust, ...) have package managers. This is VERY convenient and simplify collaborative development. But i don't know how to immediately explain benefits to someone who never used such things.

I can explain my personal feeling (view from another side). After coming from languages with package managers, i feel like returned 10 years back :). It may sound strange, but that's the main reason why i wish switch to Rust.

When you have few projects - you can manage deps manually. But when your repo's count increase - this become a nightmare.

As an example, if I want to build a LittlevGL application with STM32F746G-DISCO, I just have to download the existing Eclipse-based project. What's wrong with that setup?

If something works - nothing can be wrong with it :). If anyone works with stm32 only, Eclipse-based packs like Attolic can be a very good choice.

I can only list PIO features, useful for me, and you decide if they worth your attention:

  • automatic compiler toolchains install (build)
  • automatic flashers install (upload)
  • support other targets (esp/esp32/avr/...)
  • ready ld scripts for "all known" MCUs
  • deps management

Note, i'm not sold to PIO and not going to promote it blind. I share both pros and cons honest, to help all make choice, based on their own preferences.

@embeddedt
Copy link
Member

I can only list PIO features, useful for me, and you decide if they worth your attention:

* automatic compiler toolchains install (build)

That is useful. On popular platforms like ARM and operating systems like Ubuntu, installing a toolchain is usually a single command; however, I've found the steps to be a lot more complicated on Windows and less popular embedded platforms.

Note, i'm not sold to PIO and not going to promote it blind. I share both pros and cons honest, to help all make choice, based on their own preferences.

From what I can tell, PIO looks like an attempt to unify the IDE ecosystem into one tool that supports many boards. Is that correct?

@puzrin
Copy link
Author

puzrin commented Feb 16, 2019

From what I can tell, PIO looks like an attempt to unify the IDE ecosystem into one tool that supports many boards. Is that correct?

That's a correct statement too.

As opensource developper i don't like hard pinning to any IDE. So, prefer to say "it solves some boring everyday tasks for embedded C programmer/user". See list above.

Or consider it as "C-specific kludge", to make development process more "modern". For example, if we consider Rust, it's installed with one line, has package manager and, as a result - quickly growing ecosystem of packages. It still has no solution for easy flash upload, but i posted this moment to wishlist. In the end Rust should be fine without PIO, and let you choose any IDE you like.

@puzrin
Copy link
Author

puzrin commented Feb 24, 2019

Preliminary sketch:

This is what i mean as "settings menu" and how i'd like it too see. Popup dialogs for params change are not ready yet.

@kisvegabor
Copy link
Member

@puzrin Thank you for setting this up!

I'm curiously waiting for the pop-up windows for parameter settings. I think it will be the really interesting part.

@puzrin
Copy link
Author

puzrin commented Mar 15, 2019

Some screenshots from designer.

  • Everything except checkbox shold be shown as hovering sliding pane when user tap (select) setting from list. The same as here https://github.com/littlevgl/lvgl/issues/805#issuecomment-466734171
  • Palette is default Material, don't care about colors now.
  • Screenshots are 240*240px, to reflect look on popular LCD-s.
  • Should work with both touchscreen and encoder/joystick
    • no need to "change focus on active item"
  • Numeric inputs are incomplete, posted drafts.

EDIT

See updated screenshots https://github.com/littlevgl/lvgl/issues/805#issuecomment-473279547

@kisvegabor
Copy link
Member

Have you pushed the updates? I still see the old GUI in online and in your repo the latest commit was 19 days ago.

@puzrin
Copy link
Author

puzrin commented Mar 15, 2019

I did not planned to update demo. Are screenshots not enougth?

@puzrin
Copy link
Author

puzrin commented Jul 26, 2019

Oh, that's a good news :). Kick me, if you have any questions about my screenshots.

@kisvegabor
Copy link
Member

@puzrin I think there is one thing where we are thinking differently about the settings app: the styles.
@embeddedt's and my view is, it's better to let the user applying a theme because it's generic and simple. However, as the themes are generic they are not good for everything. For example, there is only one style for buttons and they work only with one font. The user can still change the theme manually or customize the settings app if he wants something different.

A possible solution could be to have an example where the custom styles are demonstrated. What do you think?

@puzrin
Copy link
Author

puzrin commented Jul 27, 2019

I think there is one thing where we are thinking differently about the settings app: the styles.

Since i can not be expert in everything, prefer to use existing style guides and hire designers. That reduces risks of multiple reworks.

I'd prefer more clear ratings - implementation cost (time) and result value. In this context, goal of my proposal is to get good result with minimal spends (and with guarantee to be good enough :).

@puzrin
Copy link
Author

puzrin commented Jul 27, 2019

A possible solution could be to have an example where the custom styles are demonstrated. What do you think?

Could you clarify, what you mean as styles? If just color palette change - that's should not be problem. If change everything - this may be road without end.

@embeddedt
Copy link
Member

what you mean as styles? If just color palette change - that's should not be problem.

It's more than a palette change. It could also affect the transparency of objects. For example, in the "default" list the background is clearly visible but for the "material" list it's not so visible.

@puzrin
Copy link
Author

puzrin commented Jul 27, 2019

In general, it's not possible to make absolutely flexible styling, if you not reinvent something like full featured CSS engine of browser.

If we narrow case to MD only, there are 4-8 base colors (= palette), and everything else use those OR calculate result automatically (very rare or never). That's not infinite flexibility, but enough for 99% needs.

  1. In real world, i would prefer to have 1 non-flexible perfect MD style, than 10 flexible "not perfect" styles :).
  2. At first stage, i'd suggest to hardcode styles directly to elements, to get something working as soon as possible. Then make second iteration - rethink what can be done via themes/palettes.

@embeddedt
Copy link
Member

embeddedt commented Jul 27, 2019

i would prefer to have 1 non-flexible perfect MD style, than 10 flexible "not perfect" styles

Doesn't that lock everyone into using MD in their applications? There would be no way to choose custom colors like there is now. I don't think that is a good decision... another great thing about LittlevGL is the amount of flexibility it gives you. Unless I misunderstood.

@puzrin
Copy link
Author

puzrin commented Jul 27, 2019

I do not suggest to drop "old" styles immediately. Road to MD is not fast, and it worth to make experiments in parallel with existing features.

Also i think, end users would be happy to prefer well-styled interfaces out of box, instead of mythic infinite flexibility :)

@embeddedt
Copy link
Member

Road to MD is not fast, and it worth to make experiments in parallel with existing features.

I agree. I think we can support both.

  • We can have a set of default styles that follow Material Design principles, and provide a way to change the "important" colors (i.e. primary, secondary).
    • From there we have two options. Either the documentation would explain that the primary color maps to style.body.main_color in the case of plain objects, or style.text.color in the case of text, or...
    • We provide a set of APIs for customizing the material styles (i.e. lv_style_material_set_primary).
  • We can also allow people to manually change the properties of styles as they wish.

That should give full Material Design coherency without requiring people to dump their current styles.

@kisvegabor
Copy link
Member

We can have a set of default styles that follow Material Design principles, and provide a way to change the "important" colors (i.e. primary, secondary).

There are only a few default styles (lv_style_...) and we can't use them to style every object type properly. E.g. a slider needs three very different slider specific styles: background, indicator, knob.

That's why the themes exist where every style of every object type can be adjusted. However, the themes also have limitations: only one hue value and one font can be passed.
The GIF posted here uses the material theme. IMO it looks good enough. We can surely improve it, but the result won't be so much better but it'd require a lot of effort the rework styles and themes.

@kisvegabor kisvegabor transferred this issue from lvgl/lv_demos Aug 7, 2019
@puzrin
Copy link
Author

puzrin commented Aug 7, 2019

Comments about current settings menu demo state:

  • No instructions how to run demo. This readme is for developpers, not for person who need just run demo to write comments about styles.
  • Hardcoded paths. It will be problem to run this in PIO. Such problem was solved once in lv_driver.
  • If animated gifs in misc are actual - those diverges significantly from what i posted.

@kisvegabor
Copy link
Member

No instructions how to run demo. This readme is for developpers, not for person who need just run demo to write comments about styles.

Updated. See 0e44f9d

Hardcoded paths. It will be problem to run this in PIO. Such problem was solved once in lv_driver.

Updated. See de937f2

If animated gifs in misc are actual - those diverges significantly from what i posted.

There are not for demonstration purpose but really they are the current items.
They really didn't have exactly the same styling as you proposed. However, they use LittlevGL themes which allows to simply change the overall styling. Regarding different font sizes, right now the themes support only one font, so it's the user's task to further customize the items as he needs. The current implementation

  • looks well enough (no generic solution can be perfect for everybody)
  • easy to change the overall styling with one line of code
  • clean, easy to extend and modify

If you have conceptual remarks about item types (such as missing item type, or different layout for an item type) I'd be curious about it.

@puzrin
Copy link
Author

puzrin commented Aug 7, 2019

They really didn't have exactly the same styling as you proposed.

From my point of view, that's a principal moment. Looks like you offer 20% of been done, and suggest user to make 80% of the rest :). I don't know how useful can this be, but that's certainly not what i suggested when created issue.

I can help only with following known style guides (material design, for example). But demo should have appropriate look. Because for feedback i need to play with real samples, not with something imagined.

@kisvegabor
Copy link
Member

For me, it seems like the exact opposite. I implemented

  • an engine to create/load menu pages
  • an "API" to easily create menus
  • added real-life items
  • made it work with keyboard
  • made it work with themes to easily change the styling
  • the code is commented, well structured and easy to read and modify

What's left

  • if you don't like something as it is, you need to customize it.

The first part is hardly only 20%. It's rather 90%. E.g. adding a bigger font to the "number set" item's value is not a big deal compared to the overall complexity

.

@puzrin
Copy link
Author

puzrin commented Aug 7, 2019

I have no experience how to use code as criteria of interface usability :). This was a root of initial request - provide a demo with modern (useable) look. I know only one criteria for such tasks - interface should look as expected, first. Everything else is secondary. If you wish to do something else - no problem, but i can not help with it.

PS. If you think, the rest of work is 10% why not do it with other demo code? That will significantly reduce confusion.

@kisvegabor
Copy link
Member

If you think, the rest of work is 10% why not do it with other demo code? That will significantly reduce confusion.

I'm planning to modernize the other apps too.
Thanks to your screenshots, the settings app was created with usability in mind and got a good look and feel. The rest 10% is, IMO, application/user/project specific.

I'm not planning to exactly copy the screenshots. But please tell what are your main concerns and we will see what could be improved.

@puzrin
Copy link
Author

puzrin commented Aug 8, 2019

I'm not planning to exactly copy the screenshots. But please tell what are your main concerns and we will see what could be improved.

IMO that would be not productive. Main concern is, that demo does not follows MD style guide, and naming it as MD add more confusion. Until general problem exists, it would be not rationale to fall into smaller details.

I don't know how to explain this short, and see 3 possible resolutions:

  • You can spend a lot of time to read MD docs, design patterns and so on, to get own experience what is difference between MD and "hand made".
  • If you trust me, you can take my screenshot and implement those exactly, pixel-to-pixel.
  • You can declare that demo is about settings only, but not about MD (so this will be "yet another hand made style")

If you use my screenshots - i can participate. Other cases are not optimal from my point of view (in terms of value/time).

@kisvegabor
Copy link
Member

kisvegabor commented Aug 8, 2019

I've read the MD guide when created the material theme and created the styles according to it. In the official guide a Menu, a Slider and a Button looks like this:

image

image

image

And they look like this in LittelvGL by default:
image

Code to reproduce:

lv_theme_set_current(lv_theme_material_init(265, NULL));

lv_obj_t * obj = lv_list_create(lv_scr_act(), NULL);
lv_obj_set_width(obj, 150);
lv_obj_set_pos(obj, 20, 20);        
lv_cont_set_fit2(obj, LV_FIT_NONE, LV_FIT_TIGHT);
lv_list_add_btn(obj, NULL, "Item 1");
lv_list_add_btn(obj, NULL, "Item 2");
lv_list_add_btn(obj, NULL, "Item 3");
lv_list_add_btn(obj, NULL, "Item 4");

obj = lv_slider_create(lv_scr_act(), NULL);
lv_obj_set_size(obj, 150, 20);
lv_obj_set_pos(obj, 200, 20);

obj = lv_btn_create(lv_scr_act(), NULL);
lv_btn_set_fit(obj, LV_FIT_TIGHT);
lv_obj_set_pos(obj, 200, 50);

obj = lv_label_create(obj, NULL);
lv_label_set_text(obj, "BUTTON");

So I don't really know what the big problem is here. The user can give Material look to his UI with one line of code.

  • Does it perfectly follow the guide? No. There are limitations of LittlevGL and a generic solution can't fit every application.
  • Is it something good to get started? Definitely yes. User can finetune it as he needs, but it's already quite "Material-ish" (as you can see on the above images)

I'm sure that you are not interested in other themes, so just for completness:
by changing
lv_theme_set_current(lv_theme_material_init(265, NULL));
to
lv_theme_set_current(lv_theme_night_init(265, NULL));
the result:
image

@puzrin
Copy link
Author

puzrin commented Aug 8, 2019

So I don't really know what the big problem is here. The user can give Material look to his UI with one line of code.

Problem is, that you think lot of minor differences are ok (probably, because you are not designer). But those form style, and final result is very "intermediate". It may be good for first "wow-effect", but that's not MD. If you have designer at your work - ask his/her opinion.

  • menu is for dropdowns, top level should be two-lines list (full screen) https://material.io/design/components/lists.html
    • separators should not be used
    • no embedded controls (except checkbox, may be)
    • in your sample of list, second line should be gray, not blue, also font sizes should be different.
  • Button has too big rounding
  • Slider line too fat
  • Top bar should have background (now only button has it)
  • No second-level screens to change values (attempt to embed into list breaks list look and cause bad interaction)

Does it perfectly follow the guide? No. There are limitations of LittlevGL and a generic solution can't fit every application.

You can not follow style guide "partially". That's like with porting library - ported code should be exact, or it can not be named as port (because can not reuse existing docs and so on).

Problem is not with custom application demands, but with not following style guide. My screenshots are universal for any applications without typing text. I strongly disagree with approach, when result should depend on library features. That replaces real goal with something unpredictable.

IMHO correct approach is to implement exact style (with any kludges), and then consider how to organize it on second pass (extend api or something else).

Evolutionary prototyping approach works very well for such kind of tasks. For example, first attempt can be without animation, without some nested things, but top level should be exact as in MD style guide. Then add more details and so on.

@kisvegabor
Copy link
Member

I agree the details are important, however, to be honest, I'm happy with the current result and not planning to improve it now.

If you feel these improvements are really important please update the theme as you wish and send a PR.

@puzrin
Copy link
Author

puzrin commented Aug 9, 2019

If you feel these improvements are really important please update the theme as you wish and send a PR.

Probability of this is low for 2 reasons:

  • It's not comfortable for me to work with this repo (prefer PIO).
  • I'm not limited with C and prefer use some CPP features.

So, i could do some fixes if more complete skeleton exists, or explain required changes, but i don't plan to be involved into more deep library development. The only constructive thing i could suggest in current situation - provide link to my app when it's ready. But i don't know how useful it will be, and that will be not soon.

Anyway, i can not advice you how to spend your time. Let's try another things. We still have pending tail of task we can to together (compressed fonts and so on).

@kisvegabor
Copy link
Member

You can simply copy the files of the settigns app to make some experiments in PIO if it's more convenient.

Anyway, I have some other things to do now, but I haven't forgotten the font decompression.

kisvegabor pushed a commit that referenced this issue Sep 14, 2019
@kisvegabor
Copy link
Member

kisvegabor commented Oct 31, 2019

As the settings app is added I close this issue.

Thank you very much for your contribution.

@PetrenkoIgor
Copy link

I've started to work on it here.

I've implemented the engine of the settings.

What is working:

What is still required:

  • Animations
  • Styling
  • Some special menus with slider, roller, etc

settings1

How add icon?

@kisvegabor
Copy link
Member

It's not supported now.

@PetrenkoIgor
Copy link

Ok. Thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants