Open JeysonFlores opened 2 years ago
There has been an idea in my mind since a few hours ago, what about doing a cards-style list for the notes? Something like this: (of course without that side panel and stuff)
I'd suggest drop the thick headerbar and move the buttons to the bottom of the notes' list. The Search field is something I don't really know what would be a good place for it.
I did this quick mockup.
It's basically the same layout as CodeStash and SourceNote, but changed a little to match the newer elementary OS style, particularly the Tasks app. I think this style is tried and tested and it would be safe to go with this.
The advantages of this note according to my analysis are:
Disadvantages:
There has been an idea in my mind since a few hours ago, what about doing a cards-style list for the notes?
This is an interesting idea.
Advantages:
It's basically the same layout as CodeStash and SourceNote, but changed a little to match the newer elementary OS style, particularly the Tasks app
Yep, it's pretty close of what I thought originally, however one problem this generates is the fact that (in Gtk3) would make use of LibHandy's Window which is a library and a class that is not available in the C++ bindings. This would lead to 2 possible solutions:
Develop the app using Gtk4
When this app is completed soon or later will be ported to Gtk4, however the fact that eOS 6 doesn't have support for it it's quite a deal-breaker, I know Gtk4 is included in the 6.1 flaptak runtime but working only using the flatpak container libraries leads to several development complications (C++ language server won't work or will treat the app as a Gtk3 app, and build times will be pretty long).
While hovering the cursor over a card, if a preview is displayed which even more content than what is shown by the card, it would improve the navigation experience.
Actually I didn't think about this, I'll make a mockup to see how would it be.
Yep, it's pretty close of what I thought originally, however one problem this generates is the fact that (in Gtk3) would make use of LibHandy's Window which is a library and a class that is not available in the C++ bindings.
Why is Handy needed? Rounded corners in the window? If that is the only case, I think adding the rounded style class to the window should work. If there are any other reasons please let me know.
Why is Handy needed?
Headerbars are mandatory(and undivisible) in vanilla Gtk3, even if you let it empty and flat that side panel going from top to bottom it's not possible (as long as I know). Edit: If I'm not wrong, there's a trick to (kind of) achieve it. It consists to overlay a container over the headerbar. I've only seen that once in a really old elementary app, and the result was kinda buggy and ugly.
Rounded corners is not the only usage of Hdy.Window, that widget it's a clear and empty space to start building your apps without pre-defined layout designs. That's why the Hdy.Headerbar can be placed anywhere, to let the app developer put the Window's controls wherever he/she wants or needs. See: https://blogs.gnome.org/alexm/2020/04/12/on-windows-and-titlebars/
Why is Handy needed?
Headerbars are mandatory(and undivisible) in vanilla Gtk3, even if you let it empty and flat that side panel going from top to bottom it's not possible (as long as I know).
Edit: If I'm not wrong, there's a trick to (kind of) achieve it. It consists to overlay a container over the headerbar. I've only seen that once in a really old elementary app, and the result was kinda buggy and ugly.
Rounded corners is not the only usage of Hdy.Window, that widget it's a clear and empty space to start building your apps without pre-defined layout designs. That's why the Hdy.Headerbar can be placed anywhere, to let the app developer put the Window's controls wherever he/she wants or needs. See: https://blogs.gnome.org/alexm/2020/04/12/on-windows-and-titlebars/
Planner had the same sidebar layout before handy was around, I had managed to implement a sidebar using planner's source. You can check out the old source code for planner and see how it's done.
mmm you're right, I'm having trouble compiling from source an old version of Planner but it seems Alan put a Gtk.Paned inside a a Gtk.HeaderBar. I'll open a design branch to work on the mockup
Replicating the code of the first release of Planner 2.0 this is what I get: It gives a hint of what should it be but it is not what we're looking for.
It seems Alan achieved this using hundreds of CSS code, I'm trying to modify it but I can only make it worse D:
You can try it on the desing-mockup
branch
I tried other alternatives like setting the decorated property of the Window to "false" but the result is even worse.
Problem
The UI design has to look good and modern without loosing simplicity.
Prior Art
This is the design Cassidy did for the codestash project:
Proposals
I'd suggest drop the thick headerbar and move the buttons to the bottom of the notes' list. The Search field is something I don't really know what would be a good place for it.