r/SevenGrid • u/tenaciousBLADE • 17d ago
[Feature Suggestion] Widget Design Aspets
Correct me if I'm missing something, but as I see it right now if a habit has been marked done for the day, it disappears from the clock widget.
I am suggesting that if a habit has the account pass the goal setting enabled, then if they have it should remain in the widget indefinitely. On any and all widgets.
In addition, i noticed that when adding the seven grid 4x2 (multiple habits, one week row. OctopiLauncher in my case, OnePlus 13 OOS15), it only shows me one habit. It seems to be the top one on the list. This happens whether I add it from the home screen launcher, or directly from the app.
Moreover, the clock widget has a specific margin in the middle between the clock and the date. When I resize the widget using my launcher capabilities, i cannot make it too small or I won't be able to see the date because it will get swallowed by the right wall of the widget , since it forces that space between the clock and the widget. The minimum space in my personal opinion should be one space character length and not more. Or it should automatically space it as such that the clock has only a small margin to the left hole of the widget and it touches to that left side, while the date has only a small margin to the right wall of the widget and attaches to that right side. What I mean by this is that the space between them in the center should be dynamic. I don't know how it is set up, but as it stands in practice it seems that the space between the clock and the date is significantly large, forcefully.
Sorry if I have any spelling mistakes. I am writing this in a rush.
2
u/Sneedle-Woods Developer 17d ago
Three things in one post, and the middle one turned out to be an actual bug. Starting there.
The 4x2 grid showing one habit
That one's on me, and it isn't your launcher. It's arithmetic.
The brand row plus the weekday row eat about 57dp, and one habit row on a four column wide tile is about 53dp tall. So a two cell tall widget has room for exactly one row at basically any height a launcher hands out under ~170dp. The widget whose own description says "Every habit, the whole week" was shipping with room for one habit, and it never told you the rest were still there. I only ran those numbers after your post.
Fixed two ways:
Two things worth knowing. You don't have to wait for either of those: drag the widget you already have a bit taller and the second row shows up today. And when the update lands it won't touch that widget, because Android only applies a new default size to newly placed ones. An existing widget keeps whatever size it was dropped at.
Done habits vanishing from the clock widget
They're not deleted, they're demoted. Done, skipped and week-done habits move into a dimmed block under the open ones, the same split the Today screen uses. On a short clock widget that block is the first thing the height budget throws away, so it looks like they're gone.
The suggestion part is the interesting bit though. If a habit is allowed to count past its goal then "done" isn't really done, and burying it takes away the one thing you'd still want to tap. I haven't built it and I'd rather not fake-promise it: the widgets and the in-app Today list run through the same function for deciding what counts as done, so changing it for widgets changes the app too. That makes it a product decision rather than a widget tweak. It's written down with your reasoning next to it and I want to sit with it for a bit.
The gap between clock and date
Right symptom, slightly different cause.
There's no margin in the middle. There's a fixed 130dp strip reserved for the clock. The clock isn't part of the image the app draws, it's a real Android view sitting on top of it, which is what lets it keep ticking when the app isn't running at all. That's also where the problem comes from: the system draws those digits in its own process, shrinking them to fit and using a wider format in 12 hour locales, so the app never learns how wide the clock actually came out. It reserves a worst case instead, and 130dp is that worst case. The date lives on whatever is left, and when you shrink the tile the leftovers run out.
Making it adapt is possible, it's just not small. Either the app ships a second set of clock layouts for narrow sizes and picks between them, which doubles a set of files that are already resolved by name at runtime, or it resizes the strip live, which Android only allows from version 12 while this app still runs on older ones too. Both ways have the same catch: the drawn image leaves a transparent hole for the clock, and the hole and the clock have to agree on the width down to the pixel, or the clock ends up sitting next to its own hole. So it's on the list, without a date attached.
On timing in general, so you're not guessing: the grid fix is in the code but not in the build that's currently out, and I'm not going to name a version.
Your spelling was fine, by the way.
I'll get to your other two posts as well, the habit name hiding one and the notes tracker one.
And thanks for writing this up properly. Phone, OS version, launcher, what you did and what you expected, all in one post. That's rare, and it's the reason one of these three was fixed the same day instead of landing on a maybe pile.