frontengine 1.0.40__tar.gz → 1.0.41__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.
- {frontengine-1.0.40 → frontengine-1.0.41}/PKG-INFO +1 -1
- frontengine-1.0.41/frontengine/utils/screen_text/screen_text_service.py +208 -0
- frontengine-1.0.41/frontengine/worker/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/PKG-INFO +1 -1
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/SOURCES.txt +2 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/pyproject.toml +1 -1
- {frontengine-1.0.40 → frontengine-1.0.41}/LICENSE +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/README.md +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/__main__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/base_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/camera/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/camera/camera_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/capture/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/capture/region_capture.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/focus_shield/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/focus_shield/focus_shield_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/gaming/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/gaming/crosshair_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/gif/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/gif/paint_gif.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/image/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/image/paint_image.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/load/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/load/load_someone_make_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/measure/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/measure/measure_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/monitor/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/monitor/monitor_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/notes/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/notes/sticky_note_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/overlay_factory.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/particle/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/particle/particle_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/pet/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/pet/desktop_pet.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/annotation_overlay.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/cursor_effects.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/keystroke_display.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/magnifier.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/scene/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/scene/extend_graphic_scene.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/scene/extend_graphic_view.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/scene/scene.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/screen_care/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/screen_care/color_vision_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/screen_care/screen_filter.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/sound_player/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/sound_player/sound_effect.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/sound_player/sound_player.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/spectrum/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/spectrum/spectrum_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/teleprompter/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/teleprompter/teleprompter_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/text/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/text/draw_text.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/toast/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/toast/toast_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/video/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/video/video_player.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/wallpaper/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/wallpaper/wallpaper_widget.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/web/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/web/webview.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/window_helpers.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/system_tray/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/system_tray/extend_system_tray.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/color/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/color/global_color.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/app_profile_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/clipboard_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/reminder_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/save_file_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/screen_text_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/smart_pause_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/usage_report_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/dialog/window_pin_dialog.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/main_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/help_menu.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/how_to_menu.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/language_menu.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/preset_menu.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/menu/settings_menu.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/control_center/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/focus/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/focus/focus_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/gif/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/image/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/image/image_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/particle/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/pet/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/presentation/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/presentation/presentation_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/screen_care/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/screen_care/screen_care_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/sound_player/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/stream/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/stream/stream_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/text/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/text/text_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/tools/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/tools/tools_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/utils.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/video/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/video/video_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/wallpaper/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/wallpaper/wallpaper_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/web/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/web/web_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/widgets/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/widgets/widgets_setting_ui.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/user_setting/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/user_setting/preset_repository.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/user_setting/scene_setting.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/user_setting/user_setting_file.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/app_profile/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/app_profile/app_profile_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/audio_envelope.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/loopback_capture.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/screen_audio.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/spectrum_analyzer.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/audio_meter/system_audio_meter.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/autostart/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/autostart/autostart_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/break_reminder/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/break_reminder/break_reminder.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/browser/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/browser/browser.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/clipboard/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/clipboard/clipboard_history.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/clipboard/clipboard_watcher.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/color_vision/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/color_vision/color_vision.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/critical_exit/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/critical_exit/critical_exit.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/critical_exit/win32_vk.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/exception/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/exception/exception_tags.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/exception/exceptions.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/file/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/file/open/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/file/open/open_file.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/file/save/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/file/save/save_file.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/focus_shield/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/focus_shield/focus_shield.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/focus_timer/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/focus_timer/focus_timer.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/hotkey/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/hotkey/hotkey_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/input_watch/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/input_watch/input_watch_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/json/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/json/json_file.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/json/json_repository.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/json_format/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/json_format/json_process.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/logging/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/logging/loggin_instance.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/measure/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/measure/measure.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/english.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/france.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/germany.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/italy.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/language_wrapper.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/russian.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/multi_language/traditional_chinese.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/now_playing/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/now_playing/now_playing.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/obs/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/obs/obs_client.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/obs/obs_protocol.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/obs/websocket_frames.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/pet_chat/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/pet_chat/pet_chat_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/platform_info/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/platform_info/platform_info.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/playlist/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/playlist/playlist.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/plugins/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/plugins/plugin_loader.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/power_mode/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/power_mode/power_mode.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/preset_schedule/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/recording/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/recording/frame_recorder.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/recording/gif_writer.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/redirect_manager/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/reminder/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/reminder/reminder_service.py +0 -0
- {frontengine-1.0.40/frontengine/utils/smart_pause → frontengine-1.0.41/frontengine/utils/screen_text}/__init__.py +0 -0
- {frontengine-1.0.40/frontengine/utils/soundboard → frontengine-1.0.41/frontengine/utils/smart_pause}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/smart_pause/pause_rules.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
- {frontengine-1.0.40/frontengine/utils/system_stats → frontengine-1.0.41/frontengine/utils/soundboard}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/soundboard/soundboard.py +0 -0
- {frontengine-1.0.40/frontengine/utils/text_source → frontengine-1.0.41/frontengine/utils/system_stats}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/system_stats/system_stats.py +0 -0
- {frontengine-1.0.40/frontengine/utils/theme_schedule → frontengine-1.0.41/frontengine/utils/text_source}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/text_source/text_source.py +0 -0
- {frontengine-1.0.40/frontengine/utils/usage_tracking → frontengine-1.0.41/frontengine/utils/theme_schedule}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
- {frontengine-1.0.40/frontengine/utils/weather → frontengine-1.0.41/frontengine/utils/usage_tracking}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/usage_tracking/usage_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/usage_tracking/usage_tracker.py +0 -0
- {frontengine-1.0.40/frontengine/utils/window_pin → frontengine-1.0.41/frontengine/utils/weather}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/weather/weather_service.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/web_url.py +0 -0
- {frontengine-1.0.40/frontengine/utils/workshop → frontengine-1.0.41/frontengine/utils/window_pin}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/window_pin/window_layout.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/window_pin/window_pin.py +0 -0
- {frontengine-1.0.40/frontengine/worker → frontengine-1.0.41/frontengine/utils/workshop}/__init__.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/workshop/workshop_content.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine/worker/qthread_worker.py +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/dependency_links.txt +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/entry_points.txt +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/requires.txt +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/frontengine.egg-info/top_level.txt +0 -0
- {frontengine-1.0.40 → frontengine-1.0.41}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frontengine
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.41
|
|
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
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"""
|
|
2
|
+
讀畫面上的文字:把框選到的一塊畫面交給 Claude,取出文字、翻譯它,或就它問問題。
|
|
3
|
+
|
|
4
|
+
**這個功能會把螢幕截圖送到 Anthropic 的 API**,是本專案唯一會把畫面內容送出
|
|
5
|
+
機器的地方。因此:必須先明確同意(UI 會先問一次並記住)、必須自己提供
|
|
6
|
+
ANTHROPIC_API_KEY、而且沒有同意或沒有金鑰時整個功能都是關的。
|
|
7
|
+
|
|
8
|
+
Read the text on screen: hand a captured region to Claude to pull the text out,
|
|
9
|
+
translate it, or answer a question about it.
|
|
10
|
+
|
|
11
|
+
**This sends a screenshot to Anthropic's API** - the only place in this project
|
|
12
|
+
where screen content leaves the machine. So: it needs explicit consent (asked
|
|
13
|
+
once and remembered), it needs your own ANTHROPIC_API_KEY, and without either
|
|
14
|
+
the whole feature stays off.
|
|
15
|
+
"""
|
|
16
|
+
from __future__ import annotations
|
|
17
|
+
|
|
18
|
+
import base64
|
|
19
|
+
import os
|
|
20
|
+
import threading
|
|
21
|
+
from typing import Any, Callable, Dict, List, Optional
|
|
22
|
+
|
|
23
|
+
from frontengine.utils.logging.loggin_instance import front_engine_logger
|
|
24
|
+
|
|
25
|
+
API_KEY_ENV = "ANTHROPIC_API_KEY"
|
|
26
|
+
MODEL = "claude-opus-5"
|
|
27
|
+
MAX_TOKENS = 1500
|
|
28
|
+
|
|
29
|
+
ACTION_EXTRACT = "extract"
|
|
30
|
+
ACTION_TRANSLATE = "translate"
|
|
31
|
+
ACTION_ASK = "ask"
|
|
32
|
+
ACTIONS = (ACTION_EXTRACT, ACTION_TRANSLATE, ACTION_ASK)
|
|
33
|
+
|
|
34
|
+
DEFAULT_LANGUAGE = "English"
|
|
35
|
+
SYSTEM_PROMPT = (
|
|
36
|
+
"You read a screenshot the user captured and answer about its contents. "
|
|
37
|
+
"Reply with the answer itself and nothing else - no preamble, no commentary "
|
|
38
|
+
"on the image quality, no markdown fences."
|
|
39
|
+
)
|
|
40
|
+
_PROMPTS = {
|
|
41
|
+
ACTION_EXTRACT: ("Transcribe every piece of text in this image, preserving the reading "
|
|
42
|
+
"order and line breaks. If there is no text, reply exactly: (no text)"),
|
|
43
|
+
ACTION_TRANSLATE: ("Translate all text in this image into {language}. Keep the layout's "
|
|
44
|
+
"line breaks. If there is no text, reply exactly: (no text)"),
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def normalize_action(action: Any) -> str:
|
|
49
|
+
"""把動作正規化;不認得的一律當「取出文字」。"""
|
|
50
|
+
name = str(action or "").strip().lower()
|
|
51
|
+
return name if name in ACTIONS else ACTION_EXTRACT
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def api_key(env: Optional[dict] = None) -> Optional[str]:
|
|
55
|
+
"""從環境變數讀 API 金鑰;沒設定回傳 None(金鑰永遠不寫進設定檔)。"""
|
|
56
|
+
source = env if env is not None else os.environ
|
|
57
|
+
key = str(source.get(API_KEY_ENV, "") or "").strip()
|
|
58
|
+
return key or None
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def prompt_for(action: Any, language: str = DEFAULT_LANGUAGE,
|
|
62
|
+
question: str = "") -> str:
|
|
63
|
+
"""
|
|
64
|
+
依動作組出要問的話。問問題模式沒填問題時,退回成「取出文字」,
|
|
65
|
+
因為送一張圖卻不問任何事沒有意義。
|
|
66
|
+
The instruction for this action. An "ask" with no question falls back to
|
|
67
|
+
extracting text: sending an image and asking nothing is not useful.
|
|
68
|
+
"""
|
|
69
|
+
name = normalize_action(action)
|
|
70
|
+
if name == ACTION_ASK:
|
|
71
|
+
text = str(question or "").strip()
|
|
72
|
+
if text:
|
|
73
|
+
return text
|
|
74
|
+
name = ACTION_EXTRACT
|
|
75
|
+
template = _PROMPTS[name]
|
|
76
|
+
return template.format(language=str(language or DEFAULT_LANGUAGE).strip() or DEFAULT_LANGUAGE)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def image_block(png_bytes: bytes) -> Optional[Dict[str, Any]]:
|
|
80
|
+
"""
|
|
81
|
+
把 PNG 位元組包成 API 要的影像內容區塊;沒有資料時回傳 None。
|
|
82
|
+
Wrap PNG bytes as the API's image content block; None when there is nothing.
|
|
83
|
+
"""
|
|
84
|
+
if not png_bytes:
|
|
85
|
+
return None
|
|
86
|
+
return {
|
|
87
|
+
"type": "image",
|
|
88
|
+
"source": {
|
|
89
|
+
"type": "base64",
|
|
90
|
+
"media_type": "image/png",
|
|
91
|
+
"data": base64.standard_b64encode(png_bytes).decode("ascii"),
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def build_message(png_bytes: bytes, action: Any, language: str = DEFAULT_LANGUAGE,
|
|
97
|
+
question: str = "") -> Optional[List[Dict[str, Any]]]:
|
|
98
|
+
"""組出送出去的 messages;沒有影像就回傳 None。"""
|
|
99
|
+
block = image_block(png_bytes)
|
|
100
|
+
if block is None:
|
|
101
|
+
return None
|
|
102
|
+
return [{"role": "user", "content": [block, {"type": "text",
|
|
103
|
+
"text": prompt_for(action, language, question)}]}]
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def reply_text(response: Any) -> Optional[str]:
|
|
107
|
+
"""
|
|
108
|
+
從回應取出文字。被婉拒(stop_reason 為 refusal)時回傳 None,讓呼叫端
|
|
109
|
+
知道這次沒有答案,而不是把空字串當成結果。
|
|
110
|
+
Pull the text out of a response. A refusal gives None so the caller can tell
|
|
111
|
+
"no answer" from an empty one.
|
|
112
|
+
"""
|
|
113
|
+
if response is None:
|
|
114
|
+
return None
|
|
115
|
+
if getattr(response, "stop_reason", None) == "refusal":
|
|
116
|
+
front_engine_logger.info("[ScreenText] request was declined")
|
|
117
|
+
return None
|
|
118
|
+
pieces = []
|
|
119
|
+
for block in getattr(response, "content", None) or []:
|
|
120
|
+
text = getattr(block, "text", None)
|
|
121
|
+
if text:
|
|
122
|
+
pieces.append(str(text))
|
|
123
|
+
joined = "\n".join(pieces).strip()
|
|
124
|
+
return joined or None
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class ScreenTextService:
|
|
128
|
+
"""
|
|
129
|
+
把截圖交給 Claude 的服務。沒有金鑰、沒有同意或沒有安裝 SDK 時 available()
|
|
130
|
+
為 False,read() 一律回傳 None——不會偷偷送出任何東西。
|
|
131
|
+
The service that hands a screenshot to Claude. Without a key, without
|
|
132
|
+
consent, or without the SDK, available() is False and read() returns None:
|
|
133
|
+
nothing is ever sent quietly.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
def __init__(self, model: str = MODEL,
|
|
137
|
+
consent_provider: Optional[Callable[[], bool]] = None,
|
|
138
|
+
key_provider: Optional[Callable[[], Optional[str]]] = None) -> None:
|
|
139
|
+
self.model = model
|
|
140
|
+
self._consent_provider = consent_provider or (lambda: False)
|
|
141
|
+
self._key_provider = key_provider or api_key
|
|
142
|
+
self._client = None
|
|
143
|
+
|
|
144
|
+
def consented(self) -> bool:
|
|
145
|
+
"""使用者是否已經同意把畫面送出去。"""
|
|
146
|
+
try:
|
|
147
|
+
return bool(self._consent_provider())
|
|
148
|
+
except Exception: # pragma: no cover - defensive around providers
|
|
149
|
+
return False
|
|
150
|
+
|
|
151
|
+
def available(self) -> bool:
|
|
152
|
+
"""同意過、有金鑰、也裝得起 SDK 才算可用。"""
|
|
153
|
+
return self.consented() and self._key_provider() is not None
|
|
154
|
+
|
|
155
|
+
def _build_client(self):
|
|
156
|
+
if self._client is not None:
|
|
157
|
+
return self._client
|
|
158
|
+
key = self._key_provider()
|
|
159
|
+
if key is None:
|
|
160
|
+
return None
|
|
161
|
+
try:
|
|
162
|
+
from anthropic import Anthropic
|
|
163
|
+
|
|
164
|
+
self._client = Anthropic(api_key=key)
|
|
165
|
+
except Exception as error:
|
|
166
|
+
front_engine_logger.warning(f"[ScreenText] client unavailable: {error!r}")
|
|
167
|
+
self._client = None
|
|
168
|
+
return self._client
|
|
169
|
+
|
|
170
|
+
def read(self, png_bytes: bytes, action: Any = ACTION_EXTRACT,
|
|
171
|
+
language: str = DEFAULT_LANGUAGE, question: str = "") -> Optional[str]:
|
|
172
|
+
"""
|
|
173
|
+
同步送出一次並回傳答案;沒同意、沒金鑰、被婉拒或失敗都回傳 None。
|
|
174
|
+
Ask once, synchronously. None when consent or key is missing, when the
|
|
175
|
+
request is declined, or when it fails.
|
|
176
|
+
"""
|
|
177
|
+
if not self.consented():
|
|
178
|
+
front_engine_logger.info("[ScreenText] refused to send: no consent recorded")
|
|
179
|
+
return None
|
|
180
|
+
messages = build_message(png_bytes, action, language, question)
|
|
181
|
+
if messages is None:
|
|
182
|
+
return None
|
|
183
|
+
client = self._build_client()
|
|
184
|
+
if client is None:
|
|
185
|
+
return None
|
|
186
|
+
try:
|
|
187
|
+
response = client.messages.create(
|
|
188
|
+
model=self.model,
|
|
189
|
+
max_tokens=MAX_TOKENS,
|
|
190
|
+
system=SYSTEM_PROMPT,
|
|
191
|
+
thinking={"type": "disabled"},
|
|
192
|
+
messages=messages,
|
|
193
|
+
)
|
|
194
|
+
except Exception as error:
|
|
195
|
+
front_engine_logger.warning(f"[ScreenText] request failed: {error!r}")
|
|
196
|
+
return None
|
|
197
|
+
return reply_text(response)
|
|
198
|
+
|
|
199
|
+
def read_async(self, png_bytes: bytes, on_reply: Callable[[Optional[str]], None],
|
|
200
|
+
action: Any = ACTION_EXTRACT, language: str = DEFAULT_LANGUAGE,
|
|
201
|
+
question: str = "") -> None:
|
|
202
|
+
"""在背景執行緒送出,完成後以答案呼叫 on_reply(UI 不會被卡住)。"""
|
|
203
|
+
|
|
204
|
+
def worker() -> None:
|
|
205
|
+
answer = self.read(png_bytes, action, language, question)
|
|
206
|
+
on_reply(answer)
|
|
207
|
+
|
|
208
|
+
threading.Thread(target=worker, name="frontengine-screen-text", daemon=True).start()
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: frontengine
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.41
|
|
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
|
|
@@ -223,6 +223,8 @@ frontengine/utils/redirect_manager/__init__.py
|
|
|
223
223
|
frontengine/utils/redirect_manager/redirect_manager_class.py
|
|
224
224
|
frontengine/utils/reminder/__init__.py
|
|
225
225
|
frontengine/utils/reminder/reminder_service.py
|
|
226
|
+
frontengine/utils/screen_text/__init__.py
|
|
227
|
+
frontengine/utils/screen_text/screen_text_service.py
|
|
226
228
|
frontengine/utils/smart_pause/__init__.py
|
|
227
229
|
frontengine/utils/smart_pause/pause_rules.py
|
|
228
230
|
frontengine/utils/smart_pause/smart_pause_service.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/focus_shield/focus_shield_widget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/annotation_overlay.py
RENAMED
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/presentation/keystroke_display.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/screen_care/color_vision_widget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/show/teleprompter/teleprompter_widget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/control_center/control_center_ui.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/particle/particle_setting_ui.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_manager.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/gif.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/image.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/registry.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/sound.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/text.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/video.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_page/web.py
RENAMED
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/scene_setting/scene_setting_ui.py
RENAMED
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/screen_care/screen_care_setting_ui.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/ui/page/wallpaper/wallpaper_setting_ui.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{frontengine-1.0.40 → frontengine-1.0.41}/frontengine/utils/app_profile/app_profile_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|