frontengine 1.0.18__tar.gz → 1.0.20__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.18 → frontengine-1.0.20}/PKG-INFO +1 -1
  2. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/pet/desktop_pet.py +57 -2
  3. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/english.py +8 -0
  4. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/traditional_chinese.py +8 -0
  5. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/PKG-INFO +1 -1
  6. {frontengine-1.0.18 → frontengine-1.0.20}/pyproject.toml +1 -1
  7. {frontengine-1.0.18 → frontengine-1.0.20}/LICENSE +0 -0
  8. {frontengine-1.0.18 → frontengine-1.0.20}/README.md +0 -0
  9. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/__init__.py +0 -0
  10. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/__main__.py +0 -0
  11. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/__init__.py +0 -0
  12. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/base_widget.py +0 -0
  13. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/gif/__init__.py +0 -0
  14. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/gif/paint_gif.py +0 -0
  15. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/image/__init__.py +0 -0
  16. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/image/paint_image.py +0 -0
  17. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/load/__init__.py +0 -0
  18. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/load/load_someone_make_ui.py +0 -0
  19. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/overlay_factory.py +0 -0
  20. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/particle/__init__.py +0 -0
  21. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/particle/particle_ui.py +0 -0
  22. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/pet/__init__.py +0 -0
  23. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/scene/__init__.py +0 -0
  24. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/scene/extend_graphic_scene.py +0 -0
  25. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/scene/extend_graphic_view.py +0 -0
  26. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/scene/scene.py +0 -0
  27. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/sound_player/__init__.py +0 -0
  28. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/sound_player/sound_effect.py +0 -0
  29. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/sound_player/sound_player.py +0 -0
  30. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/text/__init__.py +0 -0
  31. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/text/draw_text.py +0 -0
  32. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/video/__init__.py +0 -0
  33. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/video/video_player.py +0 -0
  34. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/web/__init__.py +0 -0
  35. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/web/webview.py +0 -0
  36. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/show/window_helpers.py +0 -0
  37. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/system_tray/__init__.py +0 -0
  38. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/system_tray/extend_system_tray.py +0 -0
  39. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/__init__.py +0 -0
  40. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/color/__init__.py +0 -0
  41. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/color/global_color.py +0 -0
  42. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/dialog/__init__.py +0 -0
  43. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
  44. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
  45. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/dialog/save_file_dialog.py +0 -0
  46. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/main_ui.py +0 -0
  47. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/__init__.py +0 -0
  48. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/help_menu.py +0 -0
  49. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/how_to_menu.py +0 -0
  50. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/language_menu.py +0 -0
  51. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/preset_menu.py +0 -0
  52. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/menu/settings_menu.py +0 -0
  53. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/__init__.py +0 -0
  54. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/control_center/__init__.py +0 -0
  55. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
  56. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/gif/__init__.py +0 -0
  57. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
  58. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/image/__init__.py +0 -0
  59. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/image/image_setting_ui.py +0 -0
  60. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/particle/__init__.py +0 -0
  61. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
  62. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/pet/__init__.py +0 -0
  63. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
  64. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/__init__.py +0 -0
  65. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
  66. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
  67. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
  68. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
  69. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
  70. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
  71. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
  72. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
  73. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
  74. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
  75. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
  76. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/sound_player/__init__.py +0 -0
  77. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
  78. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/text/__init__.py +0 -0
  79. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/text/text_setting_ui.py +0 -0
  80. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/utils.py +0 -0
  81. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/video/__init__.py +0 -0
  82. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/video/video_setting_ui.py +0 -0
  83. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/web/__init__.py +0 -0
  84. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/ui/page/web/web_setting_ui.py +0 -0
  85. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/user_setting/__init__.py +0 -0
  86. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/user_setting/preset_repository.py +0 -0
  87. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/user_setting/scene_setting.py +0 -0
  88. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/user_setting/user_setting_file.py +0 -0
  89. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/__init__.py +0 -0
  90. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/browser/__init__.py +0 -0
  91. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/browser/browser.py +0 -0
  92. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/critical_exit/__init__.py +0 -0
  93. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
  94. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/critical_exit/critical_exit.py +0 -0
  95. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/critical_exit/win32_vk.py +0 -0
  96. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/exception/__init__.py +0 -0
  97. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/exception/exception_tags.py +0 -0
  98. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/exception/exceptions.py +0 -0
  99. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/file/__init__.py +0 -0
  100. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/file/open/__init__.py +0 -0
  101. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/file/open/open_file.py +0 -0
  102. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/file/save/__init__.py +0 -0
  103. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/file/save/save_file.py +0 -0
  104. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/hotkey/__init__.py +0 -0
  105. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/hotkey/hotkey_service.py +0 -0
  106. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/json/__init__.py +0 -0
  107. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/json/json_file.py +0 -0
  108. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/json/json_repository.py +0 -0
  109. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/json_format/__init__.py +0 -0
  110. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/json_format/json_process.py +0 -0
  111. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/logging/__init__.py +0 -0
  112. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/logging/loggin_instance.py +0 -0
  113. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/__init__.py +0 -0
  114. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/france.py +0 -0
  115. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/germany.py +0 -0
  116. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/italy.py +0 -0
  117. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/language_wrapper.py +0 -0
  118. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/russian.py +0 -0
  119. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
  120. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/preset_schedule/__init__.py +0 -0
  121. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
  122. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/redirect_manager/__init__.py +0 -0
  123. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
  124. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/smart_pause/__init__.py +0 -0
  125. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
  126. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/theme_schedule/__init__.py +0 -0
  127. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
  128. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/utils/web_url.py +0 -0
  129. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/worker/__init__.py +0 -0
  130. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine/worker/qthread_worker.py +0 -0
  131. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/SOURCES.txt +0 -0
  132. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/dependency_links.txt +0 -0
  133. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/entry_points.txt +0 -0
  134. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/requires.txt +0 -0
  135. {frontengine-1.0.18 → frontengine-1.0.20}/frontengine.egg-info/top_level.txt +0 -0
  136. {frontengine-1.0.18 → frontengine-1.0.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.18
3
+ Version: 1.0.20
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
@@ -318,6 +318,17 @@ class PetGrowth:
318
318
  return self.level() > before
319
319
 
320
320
 
321
+ def format_status(level: int, mood_level: str, hunger_level: str, labels: dict) -> str:
322
+ """
323
+ 組出「等級 · 心情 · 飽足」狀態字串;labels 提供各狀態的顯示文字。
324
+ Compose a "Lv.N · mood · hunger" status string using `labels`.
325
+ """
326
+ level_label = labels.get("level", "Lv.")
327
+ mood_text = labels.get(mood_level, mood_level)
328
+ hunger_text = labels.get(hunger_level, hunger_level)
329
+ return f"{level_label}{level} · {mood_text} · {hunger_text}"
330
+
331
+
321
332
  def size_for_level(base_size: int, level: int) -> int:
322
333
  """依等級放大基礎尺寸(每級 +8%,上限 +50%)/ Grow base size by level (cap +50%)."""
323
334
  factor = min(1.5, 1.0 + 0.08 * max(0, int(level) - 1))
@@ -472,6 +483,31 @@ class PetMotion:
472
483
  """設定可站立的視窗上緣平台 / Set standable window top-edge platforms."""
473
484
  self.platforms = list(platforms)
474
485
 
486
+ def grab_nearest_wall(self, threshold: float = 40.0) -> bool:
487
+ """
488
+ 若目前貼近左/右螢幕邊緣,就抓住該牆開始往上爬;成功回傳 True。
489
+ If close to the left/right screen edge, grab that wall and start
490
+ climbing it. Returns True when a wall was grabbed.
491
+ """
492
+ if not self.climb:
493
+ return False
494
+ left, _top, right, _bottom = self.bounds
495
+ if self.x <= left + threshold:
496
+ self.x = float(left)
497
+ surface = SURFACE_LEFT
498
+ elif self.x + self.width >= right - threshold:
499
+ self.x = float(right - self.width)
500
+ surface = SURFACE_RIGHT
501
+ else:
502
+ return False
503
+ self.surface = surface
504
+ self.vy = float(-self.speed)
505
+ self._airborne = False
506
+ self.on_platform = False
507
+ self.platform_span = None
508
+ self.follow_target_x = None
509
+ return True
510
+
475
511
  def set_follow(self, target_x) -> None:
476
512
  """設定要走向的 x 座標(朝同伴玩耍)/ Set a horizontal target to walk toward."""
477
513
  self.follow_target_x = float(target_x)
@@ -837,6 +873,9 @@ class DesktopPetWidget(BaseWidget):
837
873
  self.feed_action = QAction(language_wrapper.language_word_dict.get("pet_feed", "Feed"), self)
838
874
  self.feed_action.triggered.connect(self.feed)
839
875
  self.menu.addAction(self.feed_action)
876
+ self.status_action = QAction(language_wrapper.language_word_dict.get("pet_status", "Status"), self)
877
+ self.status_action.triggered.connect(self.show_status)
878
+ self.menu.addAction(self.status_action)
840
879
  self.reminder_action = QAction(
841
880
  language_wrapper.language_word_dict.get("pet_set_reminder", "Set reminder..."), self)
842
881
  self.reminder_action.triggered.connect(self._prompt_reminder)
@@ -994,6 +1033,21 @@ class DesktopPetWidget(BaseWidget):
994
1033
  if pool:
995
1034
  self.say(pool[self._chatter_rng.randrange(len(pool))])
996
1035
 
1036
+ def show_status(self) -> None:
1037
+ """顯示等級 · 心情 · 飽足 / Show level · mood · fullness."""
1038
+ get = language_wrapper.language_word_dict.get
1039
+ labels = {
1040
+ "level": get("pet_status_level", "Lv."),
1041
+ PetMood.HAPPY: get("pet_mood_happy", "happy"),
1042
+ PetMood.CONTENT: get("pet_mood_content", "content"),
1043
+ PetMood.SAD: get("pet_mood_sad", "sad"),
1044
+ PetHunger.FULL: get("pet_hunger_full", "full"),
1045
+ PetHunger.OK: get("pet_hunger_ok", "ok"),
1046
+ PetHunger.HUNGRY: get("pet_hunger_hungry", "hungry"),
1047
+ }
1048
+ text = format_status(self._growth.level(), self._mood.level(), self._hunger.level(), labels)
1049
+ self._bubble.show_message(text, self, duration_ms=8000)
1050
+
997
1051
  def _apply_growth_size(self) -> None:
998
1052
  """依目前等級調整體型(motion 下一步會自動重新落地)。"""
999
1053
  new_size = size_for_level(self._base_size, self._growth.level())
@@ -1208,9 +1262,10 @@ class DesktopPetWidget(BaseWidget):
1208
1262
  self.motion.x = float(self.x())
1209
1263
  self.motion.y = float(self.y())
1210
1264
  if self._moved:
1211
- # Fling with the momentum of the last drag movement (floor mode).
1212
1265
  if self.motion.behaviour == BEHAVIOUR_FLOOR:
1213
- self.motion.throw(self._last_move_delta[0], self._last_move_delta[1])
1266
+ # Dropping against a screen edge grabs the wall; otherwise fling.
1267
+ if not self.motion.grab_nearest_wall():
1268
+ self.motion.throw(self._last_move_delta[0], self._last_move_delta[1])
1214
1269
  else:
1215
1270
  self.say() # a click (no drag) makes the pet talk
1216
1271
  super().mouseReleaseEvent(event)
@@ -226,6 +226,14 @@ english_word_dict = {
226
226
  "pet_climb_label": "Climb walls",
227
227
  "pet_clone": "Clone",
228
228
  "pet_feed": "Feed",
229
+ "pet_status": "Status",
230
+ "pet_status_level": "Lv.",
231
+ "pet_mood_happy": "happy",
232
+ "pet_mood_content": "content",
233
+ "pet_mood_sad": "sad",
234
+ "pet_hunger_full": "full",
235
+ "pet_hunger_ok": "ok",
236
+ "pet_hunger_hungry": "hungry",
229
237
  "pet_chatter_hungry": "I'm hungry...|Got a snack?|Feed me, please?|My tummy's rumbling~",
230
238
  "pet_chatter_fed": "Yum!|Thank you!|Delicious!|Nom nom (^o^)",
231
239
  "pet_chatter_away": "Still there?|I'll nap till you're back~|Zzz...|Take your time!",
@@ -227,6 +227,14 @@ traditional_chinese_word_dict = {
227
227
  "pet_climb_label": "攀爬牆壁",
228
228
  "pet_clone": "複製",
229
229
  "pet_feed": "餵食",
230
+ "pet_status": "狀態",
231
+ "pet_status_level": "Lv.",
232
+ "pet_mood_happy": "開心",
233
+ "pet_mood_content": "普通",
234
+ "pet_mood_sad": "難過",
235
+ "pet_hunger_full": "吃飽",
236
+ "pet_hunger_ok": "還好",
237
+ "pet_hunger_hungry": "肚子餓",
230
238
  "pet_chatter_hungry": "我餓了…|有點心嗎?|餵餵我好嗎?|肚子咕咕叫~",
231
239
  "pet_chatter_fed": "好吃!|謝謝你!|真美味!|嗯嗯 (^o^)",
232
240
  "pet_chatter_away": "還在嗎?|我先打個盹等你回來~|Zzz…|慢慢來沒關係!",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.18
3
+ Version: 1.0.20
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.18"
9
+ version = "1.0.20"
10
10
  authors = [
11
11
  { name = "JE-Chen", email = "jechenmailman@gmail.com" },
12
12
  ]
File without changes
File without changes
File without changes