Skip to content

Add simple calendar application#38

Merged
ThomasFarstrike merged 20 commits intoMicroPythonOS:mainfrom
pavelmachek:m_2_calendar
Feb 14, 2026
Merged

Add simple calendar application#38
ThomasFarstrike merged 20 commits intoMicroPythonOS:mainfrom
pavelmachek:m_2_calendar

Conversation

@pavelmachek
Copy link
Copy Markdown
Contributor

Very simple application, but should be suitable for further development. It can add reminders but not remove them for now. I don't believe I got the icon handling right, but I'll need more help with that (icon is in the tree). Probably should be squashed while merging.

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

Haha, that's so cool, thank you!

Let me add some comments here or there before merging :-)

"publisher": "MicroPythonOS",
"short_description": "Falling columns game",
"long_description": "Blocks of 3 colors are falling. Align the colors to make blocks disappear.",
"icon_url": "https://apps.micropythonos.com/apps/com.micropythonos.doom/icons/com.micropythonos.doom_launcher_0.1.0_64x64.png",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was probably a sneak peak leak of the next app you're going to drop ;-)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, thanks, fixed.

"publisher": "micropythonos",
"short_description": "Calendar",
"long_description": "Simple calendar app.",
"icon_url": "https://apps.micropythonos.com/apps/cz.ucw.pavel.columns/icons/com.micropythonos.helloworld_0.0.5_64x64.png",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a leftover helloworld and a missing download_url.

I know, I know, those 2 things shouldn't even BE in there!

Modifying the bundle_apps.sh script to generate those URLs dynamically is high on the list.

But for simplicity, I would propose to still add them here, soon to be removed again :-D

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I don't really know how MANIFEST is supposed to work, or if I got naming right. I attempted to fix it; let me know if I got it right.

When date is clicked, dialog with adding event for that date should be
displayed. Multi-day events should be supported.

Data should be read/written to emacs org compatible text file.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting choice of file format! May I ask why? I guess that's what you were using currently, so now it's compatible with your existing workflow?

I'm not judging! Fine by me!

Just FYI, you probably noticed but there's a convenient "(Shared)Preferences" framework that has all kids of JSON persistence functions. But you do you!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So my long term goal is to prepare the calendar on PC (with emacs) and then just upload it for display, with editing from calendar app not being too common. I like text formats, because they are easy to keep with git etc.

@pavelmachek
Copy link
Copy Markdown
Contributor Author

I pushed new version. It should be better than last one, but MANIFEST needs checking.

"intent_filters": [
{
"action": "main",
"category": "utilities"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be: "category": "launcher" as it pertains to that entrypoint. The other category of the app itself is fine.

I realize now that this format isn't well documented, it should be explained line by line somewhere...

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

Thank you! Looks fine to me, ready to merge!

@ThomasFarstrike ThomasFarstrike merged commit 9db8287 into MicroPythonOS:main Feb 14, 2026
2 checks passed
@ThomasFarstrike
Copy link
Copy Markdown
Contributor

I'll just make a few minor tweaks here and there, like the manifest.

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

ThomasFarstrike commented Feb 14, 2026

Note that I changed "columns" to "calendar" because that seems to make sense, as the folder name is also cz.ucw.pavel.calendar (not cz.ucw.pavel.columns) and the app name is also Calendar. But let me know if that's wrong!

@ThomasFarstrike
Copy link
Copy Markdown
Contributor

I excluded it from scripts/bundle_apps.sh so that it doesn't appear in the AppStore for now because, as you said, it needs further development.

Note that, when I click a date, I get like a weird form with a text field that's always scrolling out of reach, see screenshot.

You can check other apps, like the Wifi app, on how they do it. Or grep for "textarea" in the internal_filesystem/ folder.

Also, I would recommend creating a new "Activity" (like a screen) when the user clicks a date, instead of modifying the current screen. This way, the back swipe action also goes back to the previous Activity, and it keeps each Activity small, modular and readable. See existing apps :-)

calendar

@pavelmachek
Copy link
Copy Markdown
Contributor Author

Thanks for tweaks/merge. Right name is indeed calendar, columns is game that is "coming soon".

I do get weird scrolling under various circumstances, too (also common in launcher and others). I'll see if I can figure it out.

Thanks for Activity pointer, I'll take a look on that, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants