このスクラップは限定公開です
Open2

ml4w calendar app

zedzed
cd ~/dotfiles              # ml4w

rg calendar
.config/waybar/modules.json:231:    "on-click": "flatpak run com.ml4w.calendar",
.config/zshrc/25-aliases:27:alias ml4w-calendar='flatpak run com.ml4w.calendar'

flatpak --app list         # get app-id for flatpak
Name                     Application ID                    Version         Branch         Origin                          Installation
calendar                 com.ml4w.calendar                                 master         calendar-origin                 user
hyprlandsettings         com.ml4w.hyprlandsettings                         master         hyprlandsettings-origin         user
settings                 com.ml4w.settings                                 master         settings-origin                 user
sidebar                  com.ml4w.sidebar                                  master         sidebar-origin                  user
welcome                  com.ml4w.welcome                                  master         welcome-origin                  user

find `flatpak info -l com.ml4w.calendar` -type f          # almost equivalent to `paru -Ql foo`
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/metadata
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/share/applications/com.ml4w.calendar.desktop
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/share/dbus-1/services/com.ml4w.calendar.service
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/share/icons/hicolor/scalable/apps/com.ml4w.calendar.png
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/share/icons/hicolor/symbolic/apps/com.ml4w.calendar-symbolic.png
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/share/metainfo/com.ml4w.calendar.metainfo.xml
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/export/bin/com.ml4w.calendar
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/bin/dotfiles-calendar
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/applications/com.ml4w.calendar.desktop
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/applications/mimeinfo.cache
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dbus-1/services/com.ml4w.calendar.service
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles-calendar.gresource
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/__init__.py
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/main.py
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/settings.py
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/window.py
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/__pycache__/__init__.cpython-312.pyc
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/__pycache__/main.cpython-312.pyc
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/__pycache__/settings.cpython-312.pyc
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/dotfiles-calendar/dotfiles_calendar/__pycache__/window.cpython-312.pyc
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/glib-2.0/schemas/com.ml4w.calendar.gschema.xml
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/glib-2.0/schemas/gschemas.compiled
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/icons/hicolor/icon-theme.cache
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/icons/hicolor/scalable/apps/com.ml4w.calendar.png
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/icons/hicolor/symbolic/apps/com.ml4w.calendar-symbolic.png
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/share/metainfo/com.ml4w.calendar.metainfo.xml
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/files/.ref
~/.local/share/flatpak/app/com.ml4w.calendar/x86_64/master/ba2692955684c6b19d394ac639bd869fb33c8cf32624a2ea1e9c43c829ed2b3a/deploy

rg calendar *.py
main.py:41:    config_folder = home_folder + "/.config/com.ml4w.calendar"
main.py:49:        super().__init__(application_id='com.ml4w.calendar',
main.py:55:        self.create_action('calendar_today', self.on_calendar_today)
main.py:65:        self.calendar = win.calendar
main.py:73:            website="https://github.com/mylinuxforwork/dotfiles-calendar",
main.py:74:            issue_url="https://github.com/mylinuxforwork/dotfiles-calendar/issues",
main.py:75:            support_url="https://github.com/mylinuxforwork/dotfiles-calendar/issues",
main.py:104:    def on_calendar_today(self, widget, _):
main.py:105:        self.calendar.set_month(datetime.now().month-1)
main.py:106:        self.calendar.set_day(datetime.now().day)
main.py:115:        # Create com.ml4w.calendar in .config folder
settings.py:4:@Gtk.Template(resource_path='/com/ml4w/calendar/settings.ui')
window.py:5:@Gtk.Template(resource_path='/com/ml4w/calendar/window.ui')
window.py:9:    calendar = Gtk.Template.Child()
window.py:15:        self.calendar.set_month(datetime.now().month-1)
window.py:16:        self.calendar.set_day(datetime.now().day)


links

https://pygobject.gnome.org/tutorials/gobject.html
https://docs.gtk.org/gtk4/class.Calendar.html
https://docs.gtk.org/gtk4/method.Calendar.set_day.html
https://docs.gtk.org/gtk4/method.Calendar.set_show_week_numbers.html