frontengine 1.0.16__tar.gz → 1.0.18__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. {frontengine-1.0.16 → frontengine-1.0.18}/PKG-INFO +1 -1
  2. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/pet/desktop_pet.py +63 -1
  3. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/user_setting/user_setting_file.py +3 -0
  4. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/english.py +1 -0
  5. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/traditional_chinese.py +1 -0
  6. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/PKG-INFO +1 -1
  7. {frontengine-1.0.16 → frontengine-1.0.18}/pyproject.toml +1 -1
  8. {frontengine-1.0.16 → frontengine-1.0.18}/LICENSE +0 -0
  9. {frontengine-1.0.16 → frontengine-1.0.18}/README.md +0 -0
  10. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/__init__.py +0 -0
  11. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/__main__.py +0 -0
  12. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/__init__.py +0 -0
  13. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/base_widget.py +0 -0
  14. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/gif/__init__.py +0 -0
  15. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/gif/paint_gif.py +0 -0
  16. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/image/__init__.py +0 -0
  17. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/image/paint_image.py +0 -0
  18. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/load/__init__.py +0 -0
  19. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/load/load_someone_make_ui.py +0 -0
  20. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/overlay_factory.py +0 -0
  21. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/particle/__init__.py +0 -0
  22. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/particle/particle_ui.py +0 -0
  23. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/pet/__init__.py +0 -0
  24. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/scene/__init__.py +0 -0
  25. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/scene/extend_graphic_scene.py +0 -0
  26. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/scene/extend_graphic_view.py +0 -0
  27. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/scene/scene.py +0 -0
  28. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/sound_player/__init__.py +0 -0
  29. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/sound_player/sound_effect.py +0 -0
  30. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/sound_player/sound_player.py +0 -0
  31. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/text/__init__.py +0 -0
  32. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/text/draw_text.py +0 -0
  33. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/video/__init__.py +0 -0
  34. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/video/video_player.py +0 -0
  35. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/web/__init__.py +0 -0
  36. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/web/webview.py +0 -0
  37. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/show/window_helpers.py +0 -0
  38. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/system_tray/__init__.py +0 -0
  39. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/system_tray/extend_system_tray.py +0 -0
  40. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/__init__.py +0 -0
  41. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/color/__init__.py +0 -0
  42. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/color/global_color.py +0 -0
  43. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/dialog/__init__.py +0 -0
  44. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
  45. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
  46. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/dialog/save_file_dialog.py +0 -0
  47. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/main_ui.py +0 -0
  48. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/__init__.py +0 -0
  49. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/help_menu.py +0 -0
  50. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/how_to_menu.py +0 -0
  51. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/language_menu.py +0 -0
  52. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/preset_menu.py +0 -0
  53. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/menu/settings_menu.py +0 -0
  54. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/__init__.py +0 -0
  55. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/control_center/__init__.py +0 -0
  56. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
  57. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/gif/__init__.py +0 -0
  58. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
  59. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/image/__init__.py +0 -0
  60. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/image/image_setting_ui.py +0 -0
  61. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/particle/__init__.py +0 -0
  62. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
  63. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/pet/__init__.py +0 -0
  64. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
  65. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/__init__.py +0 -0
  66. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
  67. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
  68. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
  69. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
  70. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
  71. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
  72. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
  73. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
  74. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
  75. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
  76. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
  77. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/sound_player/__init__.py +0 -0
  78. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
  79. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/text/__init__.py +0 -0
  80. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/text/text_setting_ui.py +0 -0
  81. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/utils.py +0 -0
  82. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/video/__init__.py +0 -0
  83. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/video/video_setting_ui.py +0 -0
  84. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/web/__init__.py +0 -0
  85. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/ui/page/web/web_setting_ui.py +0 -0
  86. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/user_setting/__init__.py +0 -0
  87. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/user_setting/preset_repository.py +0 -0
  88. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/user_setting/scene_setting.py +0 -0
  89. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/__init__.py +0 -0
  90. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/browser/__init__.py +0 -0
  91. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/browser/browser.py +0 -0
  92. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/critical_exit/__init__.py +0 -0
  93. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
  94. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/critical_exit/critical_exit.py +0 -0
  95. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/critical_exit/win32_vk.py +0 -0
  96. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/exception/__init__.py +0 -0
  97. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/exception/exception_tags.py +0 -0
  98. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/exception/exceptions.py +0 -0
  99. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/file/__init__.py +0 -0
  100. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/file/open/__init__.py +0 -0
  101. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/file/open/open_file.py +0 -0
  102. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/file/save/__init__.py +0 -0
  103. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/file/save/save_file.py +0 -0
  104. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/hotkey/__init__.py +0 -0
  105. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/hotkey/hotkey_service.py +0 -0
  106. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/json/__init__.py +0 -0
  107. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/json/json_file.py +0 -0
  108. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/json/json_repository.py +0 -0
  109. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/json_format/__init__.py +0 -0
  110. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/json_format/json_process.py +0 -0
  111. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/logging/__init__.py +0 -0
  112. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/logging/loggin_instance.py +0 -0
  113. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/__init__.py +0 -0
  114. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/france.py +0 -0
  115. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/germany.py +0 -0
  116. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/italy.py +0 -0
  117. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/language_wrapper.py +0 -0
  118. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/russian.py +0 -0
  119. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
  120. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/preset_schedule/__init__.py +0 -0
  121. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
  122. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/redirect_manager/__init__.py +0 -0
  123. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
  124. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/smart_pause/__init__.py +0 -0
  125. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
  126. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/theme_schedule/__init__.py +0 -0
  127. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
  128. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/utils/web_url.py +0 -0
  129. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/worker/__init__.py +0 -0
  130. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine/worker/qthread_worker.py +0 -0
  131. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/SOURCES.txt +0 -0
  132. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/dependency_links.txt +0 -0
  133. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/entry_points.txt +0 -0
  134. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/requires.txt +0 -0
  135. {frontengine-1.0.16 → frontengine-1.0.18}/frontengine.egg-info/top_level.txt +0 -0
  136. {frontengine-1.0.16 → frontengine-1.0.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.16
3
+ Version: 1.0.18
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -290,6 +290,40 @@ class PetMood:
290
290
  return self.CONTENT
291
291
 
292
292
 
293
+ class PetGrowth:
294
+ """
295
+ 親密度累積與等級:互動會累加親密度,跨過門檻即升級。
296
+ Affection points accrue from interactions; crossing a threshold levels up.
297
+ """
298
+
299
+ THRESHOLDS = (0, 100, 250, 500, 1000, 2000)
300
+
301
+ def __init__(self, affection: int = 0) -> None:
302
+ self.affection = self._clamp(affection)
303
+
304
+ @staticmethod
305
+ def _clamp(value) -> int:
306
+ try:
307
+ return max(0, int(value))
308
+ except (TypeError, ValueError):
309
+ return 0
310
+
311
+ def level(self) -> int:
312
+ return max(1, sum(1 for threshold in self.THRESHOLDS if self.affection >= threshold))
313
+
314
+ def add(self, amount: int) -> bool:
315
+ """累加親密度;若因此升級回傳 True。"""
316
+ before = self.level()
317
+ self.affection = self._clamp(self.affection + int(amount))
318
+ return self.level() > before
319
+
320
+
321
+ def size_for_level(base_size: int, level: int) -> int:
322
+ """依等級放大基礎尺寸(每級 +8%,上限 +50%)/ Grow base size by level (cap +50%)."""
323
+ factor = min(1.5, 1.0 + 0.08 * max(0, int(level) - 1))
324
+ return max(16, int(round(int(base_size) * factor)))
325
+
326
+
293
327
  class PetHunger:
294
328
  """
295
329
  寵物飽足值 0~100:餵食上升、隨時間下降;level() 回傳 full/ok/hungry。
@@ -735,7 +769,10 @@ class DesktopPetWidget(BaseWidget):
735
769
  )
736
770
  super().__init__()
737
771
  self.opacity = 1.0
738
- self.pet_size: int = max(16, int(size))
772
+ # 基礎尺寸依已存等級放大 / Base size grown by the persisted level.
773
+ self._base_size: int = max(16, int(size))
774
+ self._growth = PetGrowth(user_setting_dict.get("pet_affection", 0))
775
+ self.pet_size: int = size_for_level(self._base_size, self._growth.level())
739
776
  self.image_path: Path = Path(image_path)
740
777
  self._dragging: bool = False
741
778
  self._drag_offset = None
@@ -849,6 +886,7 @@ class DesktopPetWidget(BaseWidget):
849
886
  self.motion.clear_follow()
850
887
  if self._talk and not self._peer_greeted:
851
888
  self._peer_greeted = True
889
+ self._gain_affection(3)
852
890
  self.motion.vx = abs(self.motion.vx) if peer[0] >= my_center[0] else -abs(self.motion.vx)
853
891
  pool = self._messages.get("meet") or []
854
892
  if pool:
@@ -941,9 +979,31 @@ class DesktopPetWidget(BaseWidget):
941
979
  "hungry": lines("pet_chatter_hungry", "I'm hungry...|Got a snack?|Feed me?"),
942
980
  "fed": lines("pet_chatter_fed", "Yum!|Thank you!|Delicious!"),
943
981
  "away": lines("pet_chatter_away", "Still there?|I'll nap till you're back~|Zzz..."),
982
+ "levelup": lines("pet_chatter_levelup", "Level up!|I'm growing!|We're getting closer!"),
944
983
  "any": lines("pet_chatter_any", "Hi there!|(^_^)|Keep going!"),
945
984
  }
946
985
 
986
+ def _gain_affection(self, amount: int) -> None:
987
+ """互動累加親密度;升級時長大、慶祝一下並保存。"""
988
+ leveled = self._growth.add(amount)
989
+ user_setting_dict["pet_affection"] = self._growth.affection
990
+ if leveled:
991
+ self._apply_growth_size()
992
+ if self._talk:
993
+ pool = self._messages.get("levelup") or []
994
+ if pool:
995
+ self.say(pool[self._chatter_rng.randrange(len(pool))])
996
+
997
+ def _apply_growth_size(self) -> None:
998
+ """依目前等級調整體型(motion 下一步會自動重新落地)。"""
999
+ new_size = size_for_level(self._base_size, self._growth.level())
1000
+ if new_size == self.pet_size:
1001
+ return
1002
+ self.pet_size = new_size
1003
+ self.resize(new_size, new_size)
1004
+ self.motion.width = new_size
1005
+ self.motion.height = new_size
1006
+
947
1007
  def _persist_mood(self) -> None:
948
1008
  user_setting_dict["pet_mood"] = self._mood.value
949
1009
 
@@ -1043,6 +1103,7 @@ class DesktopPetWidget(BaseWidget):
1043
1103
  self._mood.pet()
1044
1104
  self._persist_hunger()
1045
1105
  self._persist_mood()
1106
+ self._gain_affection(5)
1046
1107
  pool = self._messages.get("fed") or []
1047
1108
  if pool:
1048
1109
  self.say(pool[self._chatter_rng.randrange(len(pool))])
@@ -1128,6 +1189,7 @@ class DesktopPetWidget(BaseWidget):
1128
1189
  self.motion.clear_follow()
1129
1190
  self._mood.pet() # petting cheers it up
1130
1191
  self._persist_mood()
1192
+ self._gain_affection(2)
1131
1193
  self._play_sound()
1132
1194
  self._set_active_sprite(STATE_DRAG)
1133
1195
  super().mousePressEvent(event)
@@ -39,6 +39,9 @@ user_setting_dict: Dict[str, Any] = {
39
39
  # 桌面寵物飽足值(0~100)
40
40
  # Desktop pet fullness (0..100)
41
41
  "pet_hunger": 70,
42
+ # 桌面寵物親密度(累積互動)
43
+ # Desktop pet affection (accumulated interactions)
44
+ "pet_affection": 0,
42
45
  }
43
46
 
44
47
 
@@ -229,6 +229,7 @@ english_word_dict = {
229
229
  "pet_chatter_hungry": "I'm hungry...|Got a snack?|Feed me, please?|My tummy's rumbling~",
230
230
  "pet_chatter_fed": "Yum!|Thank you!|Delicious!|Nom nom (^o^)",
231
231
  "pet_chatter_away": "Still there?|I'll nap till you're back~|Zzz...|Take your time!",
232
+ "pet_chatter_levelup": "Level up!|I'm growing!|We're getting closer!|Yay, thank you!",
232
233
  "pet_set_reminder": "Set reminder...",
233
234
  "pet_reminder_prompt": "Remind me to:",
234
235
  "pet_reminder_minutes": "In how many minutes?",
@@ -230,6 +230,7 @@ traditional_chinese_word_dict = {
230
230
  "pet_chatter_hungry": "我餓了…|有點心嗎?|餵餵我好嗎?|肚子咕咕叫~",
231
231
  "pet_chatter_fed": "好吃!|謝謝你!|真美味!|嗯嗯 (^o^)",
232
232
  "pet_chatter_away": "還在嗎?|我先打個盹等你回來~|Zzz…|慢慢來沒關係!",
233
+ "pet_chatter_levelup": "升級了!|我長大了!|我們更親近了!|耶,謝謝你!",
233
234
  "pet_set_reminder": "設定提醒...",
234
235
  "pet_reminder_prompt": "提醒我:",
235
236
  "pet_reminder_minutes": "幾分鐘後?",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.16
3
+ Version: 1.0.18
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "frontengine"
9
- version = "1.0.16"
9
+ version = "1.0.18"
10
10
  authors = [
11
11
  { name = "JE-Chen", email = "jechenmailman@gmail.com" },
12
12
  ]
File without changes
File without changes
File without changes