SYMBOL INDEX (1436 symbols across 73 files) FILE: config/data.py function parse_timeout_string (line 14) | def parse_timeout_string(timeout_str): function load_config (line 62) | def load_config(): FILE: debug_memory.py class MemoryMonitor (line 15) | class MemoryMonitor: method __init__ (line 18) | def __init__(self): method get_memory_usage (line 25) | def get_memory_usage(self): method get_memory_details (line 29) | def get_memory_details(self): method set_baseline (line 41) | def set_baseline(self, label="Baseline"): method log_memory_change (line 47) | def log_memory_change(self, label="Memory Check", force_gc=True): method log_memory_spike (line 72) | def log_memory_spike(self, threshold_mb=10): method start_continuous_monitoring (line 84) | def start_continuous_monitoring(self, interval_seconds=2): method stop_continuous_monitoring (line 106) | def stop_continuous_monitoring(self): function set_memory_baseline (line 119) | def set_memory_baseline(label="Baseline"): function log_memory (line 124) | def log_memory(label="Memory Check"): function start_memory_monitoring (line 129) | def start_memory_monitoring(): function stop_memory_monitoring (line 134) | def stop_memory_monitoring(): function check_memory_spike (line 139) | def check_memory_spike(): function test_memory_monitor (line 147) | def test_memory_monitor(): FILE: lock.py class IndicatorBox (line 36) | class IndicatorBox(Box): method __init__ (line 37) | def __init__(self, *args, **kwargs): class ContentBox (line 51) | class ContentBox(CenterBox): method __init__ (line 52) | def __init__(self, on_activate, *args, **kwargs): class LockScreen (line 137) | class LockScreen(Window): method __init__ (line 138) | def __init__(self, lock: GtkSessionLock.Lock): method _on_keypress (line 159) | def _on_keypress(self, widget, event): method _start_hide_timer (line 177) | def _start_hide_timer(self): method _restart_hide_timer (line 182) | def _restart_hide_timer(self): method _stop_hide_timer (line 185) | def _stop_hide_timer(self): method _hide_entry (line 190) | def _hide_entry(self): method on_activate (line 196) | def on_activate(self, entry: Entry, *args): function initialize (line 206) | def initialize(): function set_css (line 226) | def set_css(): FILE: main.py function set_css (line 58) | def set_css(): FILE: modules/about.py function read_dmi (line 16) | def read_dmi(field): function get_gpu_name (line 24) | def get_gpu_name(): function get_executable_path (line 53) | def get_executable_path(exec_string): function get_app_info (line 88) | def get_app_info(wmclass): class AboutApp (line 217) | class AboutApp(Gtk.Window): method __init__ (line 218) | def __init__(self, app_name="Unknown Application", wmclass=""): method setup_ui (line 233) | def setup_ui(self): method toggle (line 402) | def toggle(self, b): class About (line 409) | class About(Gtk.Window): method __init__ (line 410) | def __init__(self): method open_more_info (line 529) | def open_more_info(self, button): method toggle (line 533) | def toggle(self, b): FILE: modules/controlcenter/battery.py class EnergyModeButton (line 17) | class EnergyModeButton(Box): method __init__ (line 18) | def __init__( method on_clicked (line 69) | def on_clicked(self, *args): method _reset_icon_state (line 78) | def _reset_icon_state(self): method update_state (line 81) | def update_state(self): class GameModeButton (line 89) | class GameModeButton(Box): method __init__ (line 90) | def __init__(self, parent, **kwargs): method on_clicked (line 125) | def on_clicked(self, *args): method _reset_icon_state (line 136) | def _reset_icon_state(self): method update_state (line 139) | def update_state(self): class BatteryControl (line 159) | class BatteryControl(Box): method __init__ (line 160) | def __init__(self, parent, **kwargs): method open_battery_settings (line 274) | def open_battery_settings(self, *args): method create_energy_mode_buttons (line 278) | def create_energy_mode_buttons(self): method update_energy_mode_buttons (line 334) | def update_energy_mode_buttons(self): method create_game_mode_button (line 338) | def create_game_mode_button(self): method update_battery_info (line 347) | def update_battery_info(self): method on_battery_changed (line 389) | def on_battery_changed(self, *args): method on_profile_changed (line 392) | def on_profile_changed(self, service, new_profile): FILE: modules/controlcenter/bluetooth.py function set_bluetooth_enabled_with_fallback (line 24) | def set_bluetooth_enabled_with_fallback(client, enabled: bool): class BluetoothDeviceSlot (line 45) | class BluetoothDeviceSlot(CenterBox): method __init__ (line 46) | def __init__(self, device: BluetoothDevice, **kwargs): method on_button_enter (line 105) | def on_button_enter(self, widget, event): method on_button_leave (line 108) | def on_button_leave(self, widget, event): method toggle_connecting (line 111) | def toggle_connecting(self): method on_changed (line 115) | def on_changed(self, *_): class BluetoothConnections (line 181) | class BluetoothConnections(Box): method __init__ (line 182) | def __init__( method toggle_other_devices (line 330) | def toggle_other_devices(self, *_): method open_bluetooth_settings (line 348) | def open_bluetooth_settings(self, *_): method update_scan_label (line 359) | def update_scan_label(self): method update_devices (line 371) | def update_devices(self, *_): method start_device_monitoring (line 460) | def start_device_monitoring(self): method stop_device_monitoring (line 466) | def stop_device_monitoring(self): method periodic_device_refresh (line 472) | def periodic_device_refresh(self): method force_device_refresh (line 493) | def force_device_refresh(self): method on_client_changed (line 505) | def on_client_changed(self, *_): method on_destroy (line 510) | def on_destroy(self, widget): method close_bluetooth (line 522) | def close_bluetooth(self): method setup_pull_to_refresh (line 527) | def setup_pull_to_refresh(self): method on_scroll_event (line 555) | def on_scroll_event(self, widget, event): method on_button_press (line 566) | def on_button_press(self, widget, event): method on_button_release (line 573) | def on_button_release(self, widget, event): method on_motion_notify (line 587) | def on_motion_notify(self, widget, event): method on_device_added (line 610) | def on_device_added(self, client: BluetoothClient, address: str): FILE: modules/controlcenter/expanded_player.py function get_shared_mpris_manager (line 40) | def get_shared_mpris_manager(): function cleanup_artwork_cache (line 48) | def cleanup_artwork_cache(): function cleanup_old_cache_files (line 59) | def cleanup_old_cache_files(): function get_artwork_cached (line 86) | def get_artwork_cached(url: str) -> Optional[str]: class EmbeddedExpandedPlayer (line 141) | class EmbeddedExpandedPlayer(Box): method __init__ (line 144) | def __init__(self, control_center, **kwargs): method _on_back_clicked (line 190) | def _on_back_clicked(self, *_): method refresh (line 197) | def refresh(self): method destroy (line 202) | def destroy(self): method _periodic_cleanup (line 253) | def _periodic_cleanup(self): class PlayerBoxStack (line 277) | class PlayerBoxStack(Box): method __init__ (line 280) | def __init__(self, mpris_manager: MprisPlayerManager, **kwargs): method _periodic_cleanup (line 333) | def _periodic_cleanup(self): method destroy (line 370) | def destroy(self): method _create_no_media_box (line 422) | def _create_no_media_box(self): method on_player_clicked (line 519) | def on_player_clicked(self, type): method on_player_clicked_by_index (line 544) | def on_player_clicked_by_index(self, index): method on_new_player (line 565) | def on_new_player(self, mpris_manager, player): method on_lost_player (line 595) | def on_lost_player(self, mpris_manager, player_name): method make_new_player_button (line 642) | def make_new_player_button(self, player_box): method _update_all_player_buttons (line 672) | def _update_all_player_buttons(self): class PlayerBox (line 689) | class PlayerBox(Box): method __init__ (line 692) | def __init__(self, player: MprisPlayer, player_stack=None, **kwargs): method destroy (line 1001) | def destroy(self): method __del__ (line 1046) | def __del__(self): method update_buttons (line 1053) | def update_buttons(self, player_buttons, show_buttons): method length_str (line 1101) | def length_str(self, length): method _on_metadata (line 1118) | def _on_metadata(self, *_): method _cleanup_temp_files (line 1142) | def _cleanup_temp_files(self): method _on_player_exit (line 1152) | def _on_player_exit(self, _, value): method _on_player_next (line 1157) | def _on_player_next(self, *_): method _on_player_prev (line 1160) | def _on_player_prev(self, *_): method _on_playback_change (line 1163) | def _on_playback_change(self, player, status): method _update_image (line 1176) | def _update_image(self, image_path): method _set_image (line 1184) | def _set_image(self, *_): method _download_and_set_artwork (line 1216) | def _download_and_set_artwork(self, arturl): method _move_seekbar (line 1286) | def _move_seekbar(self, *_): method _on_seek_start (line 1312) | def _on_seek_start(self, widget, event): method _on_seek_end (line 1317) | def _on_seek_end(self, widget, event): method _on_scale_value_changed (line 1322) | def _on_scale_value_changed(self, scale: Scale): method _on_scale_move (line 1341) | def _on_scale_move(self, scale: Scale, event, pos: int): class Thing (line 1351) | class Thing(Box): method __init__ (line 1352) | def __init__(self, **kwargs): class ExpandedPlayer (line 1369) | class ExpandedPlayer(Window): method __init__ (line 1370) | def __init__(self, **kwargs): method destroy (line 1382) | def destroy(self): method _init_mousecapture (line 1393) | def _init_mousecapture(self, mousecapture): method hide_controlcenter (line 1396) | def hide_controlcenter(self, *_): FILE: modules/controlcenter/main.py class ModusControlCenter (line 34) | class ModusControlCenter(Window): method __init__ (line 35) | def __init__(self, **kwargs): method _on_visibility_changed (line 529) | def _on_visibility_changed(self, widget, param): method _cleanup_when_hidden (line 534) | def _cleanup_when_hidden(self): method _ensure_music_widget (line 579) | def _ensure_music_widget(self): method _ensure_bluetooth_widgets (line 595) | def _ensure_bluetooth_widgets(self): method _ensure_wifi_widgets (line 626) | def _ensure_wifi_widgets(self): method _ensure_per_app_volume_widgets (line 642) | def _ensure_per_app_volume_widgets(self): method _ensure_expanded_player_widgets (line 661) | def _ensure_expanded_player_widgets(self): method _check_initial_states (line 680) | def _check_initial_states(self): method _update_initial_labels (line 696) | def _update_initial_labels(self): method set_dont_disturb (line 699) | def set_dont_disturb(self, *_): method toggle_flight_mode (line 711) | def toggle_flight_mode(self, *_): method toggle_caffeine (line 744) | def toggle_caffeine(self, *_): method set_volume (line 777) | def set_volume(self, _, __, volume): method set_brightness (line 782) | def set_brightness(self, _, __, brightness): method brightness_changed (line 788) | def brightness_changed(self, _, brightness_value): method on_volume_scroll (line 801) | def on_volume_scroll(self, widget, event): method on_brightness_scroll (line 814) | def on_brightness_scroll(self, widget, event): method toggle_bluetooth (line 827) | def toggle_bluetooth(self, *_): method on_network_ready (line 840) | def on_network_ready(self, *_): method update_wifi_icon (line 847) | def update_wifi_icon(self, *_): method toggle_wifi (line 861) | def toggle_wifi(self, *_): method set_children (line 873) | def set_children(self, children): method open_bluetooth (line 876) | def open_bluetooth(self, *_): method open_wifi (line 881) | def open_wifi(self, *_): method close_bluetooth (line 886) | def close_bluetooth(self, *_): method close_wifi (line 893) | def close_wifi(self, *_): method open_per_app_volume (line 900) | def open_per_app_volume(self, *_): method close_per_app_volume (line 918) | def close_per_app_volume(self, *_): method open_expanded_player (line 925) | def open_expanded_player(self, *_): method close_expanded_player (line 933) | def close_expanded_player(self, *_): method _crossfade_to_view (line 937) | def _crossfade_to_view(self, view_name): method _set_mousecapture (line 949) | def _set_mousecapture(self, visible: bool): method volume_changed (line 961) | def volume_changed( method wlan_changed (line 972) | def wlan_changed(self, _, wlan): method bluetooth_changed (line 997) | def bluetooth_changed(self, _, bluetooth): method audio_changed (line 1020) | def audio_changed(self, *_): method dnd_changed (line 1023) | def dnd_changed(self, _, dnd_state): method _init_mousecapture (line 1034) | def _init_mousecapture(self, mousecapture): method hide_controlcenter (line 1037) | def hide_controlcenter(self, *_): method destroy (line 1041) | def destroy(self): FILE: modules/controlcenter/nightlight.py class NightLightControl (line 15) | class NightLightControl: method __init__ (line 18) | def __init__(self): method _check_initial_state (line 22) | def _check_initial_state(self): method toggle (line 33) | def toggle(self): method set_temperature (line 51) | def set_temperature(self, temperature: int): function create_night_light_widget (line 69) | def create_night_light_widget(control_center): FILE: modules/controlcenter/per_app_volume.py class PerAppVolumeControl (line 17) | class PerAppVolumeControl(Box): method __init__ (line 20) | def __init__(self, control_center, **kwargs): method _auto_refresh (line 84) | def _auto_refresh(self): method _go_back (line 89) | def _go_back(self, *_): method _get_app_icon (line 93) | def _get_app_icon(self, app): method _format_app_name (line 144) | def _format_app_name(self, name): method _populate_apps (line 170) | def _populate_apps(self): method _show_no_apps_message (line 205) | def _show_no_apps_message(self): method _create_app_control (line 215) | def _create_app_control(self, app): method _set_app_volume (line 287) | def _set_app_volume(self, app, volume_value): method _on_stream_changed (line 311) | def _on_stream_changed(self, *_): method refresh (line 315) | def refresh(self): method destroy (line 319) | def destroy(self): FILE: modules/controlcenter/player.py function cleanup_old_cache_files (line 30) | def cleanup_old_cache_files(): class PlayerBoxStack (line 84) | class PlayerBoxStack(Box): method __init__ (line 87) | def __init__( method destroy (line 137) | def destroy(self): method _periodic_cleanup (line 165) | def _periodic_cleanup(self): method _create_no_media_box (line 203) | def _create_no_media_box(self): method _find_playing_player_index (line 302) | def _find_playing_player_index(self): method _switch_to_playing_player (line 313) | def _switch_to_playing_player(self): method on_player_playback_changed (line 324) | def on_player_playback_changed(self, player_box, status): method on_player_clicked (line 340) | def on_player_clicked(self, type): method on_player_clicked_by_index (line 370) | def on_player_clicked_by_index(self, index): method on_new_player (line 391) | def on_new_player(self, mpris_manager, player): method on_lost_player (line 430) | def on_lost_player(self, mpris_manager, player_name): method make_new_player_button (line 480) | def make_new_player_button(self, player_box): method _update_all_player_buttons (line 510) | def _update_all_player_buttons(self): class PlayerBox (line 527) | class PlayerBox(Box): method __init__ (line 530) | def __init__( method destroy (line 754) | def destroy(self): method __del__ (line 772) | def __del__(self): method _on_prev_button_click (line 779) | def _on_prev_button_click(self, *_): method _on_outer_box_clicked (line 790) | def _on_outer_box_clicked(self, *_): method update_buttons (line 804) | def update_buttons(self, player_buttons, show_buttons): method _on_metadata (line 808) | def _on_metadata(self, *_): method _cleanup_temp_files (line 811) | def _cleanup_temp_files(self): method _on_player_exit (line 821) | def _on_player_exit(self, _, value): method _on_player_next (line 826) | def _on_player_next(self, *_): method _on_player_prev (line 829) | def _on_player_prev(self, *_): method _on_playback_change (line 832) | def _on_playback_change(self, player, status): method _update_image (line 850) | def _update_image(self, image_path): method _set_image (line 858) | def _set_image(self, *_): method _download_and_set_artwork (line 884) | def _download_and_set_artwork(self, arturl): method close_bluetooth (line 953) | def close_bluetooth(self, *args): FILE: modules/controlcenter/wifi.py class WifiNetworkSlot (line 22) | class WifiNetworkSlot(Box): method __init__ (line 23) | def __init__(self, access_point, wifi_service, parent=None, **kwargs): method toggle_connecting (line 100) | def toggle_connecting(self): method _reset_disconnect_state (line 151) | def _reset_disconnect_state(self): method _reset_connect_state (line 159) | def _reset_connect_state(self): method on_changed (line 167) | def on_changed(self, *_): method _show_password_dialog (line 180) | def _show_password_dialog(self): method _on_password_connect (line 198) | def _on_password_connect(self, ssid, password): method _show_connection_error (line 244) | def _show_connection_error(self, message="Incorrect password. Please t... method _on_password_cancel (line 250) | def _on_password_cancel(self): class WifiConnections (line 256) | class WifiConnections(Box): method __init__ (line 257) | def __init__(self, parent, show_back_button=True, **kwargs): method toggle_other_networks (line 376) | def toggle_other_networks(self, *_): method on_network_ready (line 389) | def on_network_ready(self, *_): method on_toggle_changed (line 408) | def on_toggle_changed(self, toggle_button, *_): method on_wifi_enabled_changed (line 414) | def on_wifi_enabled_changed(self, *_): method open_network_settings (line 419) | def open_network_settings(self, *_): method update_networks (line 430) | def update_networks(self, *_): method _is_saved_network (line 528) | def _is_saved_network(self, access_point): method refresh_network_states (line 567) | def refresh_network_states(self, *_): method start_network_monitoring (line 579) | def start_network_monitoring(self): method stop_network_monitoring (line 585) | def stop_network_monitoring(self): method periodic_network_refresh (line 591) | def periodic_network_refresh(self): method force_network_refresh (line 610) | def force_network_refresh(self): method setup_pull_to_refresh (line 621) | def setup_pull_to_refresh(self): method on_scroll_event (line 649) | def on_scroll_event(self, widget, event): method on_button_press (line 661) | def on_button_press(self, widget, event): method on_button_release (line 668) | def on_button_release(self, widget, event): method on_motion_notify (line 683) | def on_motion_notify(self, widget, event): method on_destroy (line 700) | def on_destroy(self, widget): method close_wifi (line 712) | def close_wifi(self): FILE: modules/corners.py class MyCorner (line 6) | class MyCorner(Box): method __init__ (line 7) | def __init__(self, corner): class Corners (line 22) | class Corners(Window): method __init__ (line 23) | def __init__(self): FILE: modules/dock.py class AppBar (line 28) | class AppBar(Box): method __init__ (line 29) | def __init__(self, parent: Window): method setup_app_monitoring (line 69) | def setup_app_monitoring(self): method _populate_pinned_apps (line 80) | def _populate_pinned_apps(self): method _create_pinned_button (line 98) | def _create_pinned_button(self, app_data, desktop_apps): method _create_trash_button (line 152) | def _create_trash_button(self): method _find_desktop_app_from_data (line 188) | def _find_desktop_app_from_data(self, app_data: dict, desktop_apps): method _find_desktop_app_by_id (line 215) | def _find_desktop_app_by_id(self, app_id: str, desktop_apps): method show_menu (line 236) | def show_menu(self, app_id: str, client=None, instance_address=None): method _close_running_app (line 266) | def _close_running_app(self, instance_address): method _handle_pinned_app_click (line 274) | def _handle_pinned_app_click(self, event, app_data): method _handle_trash_click (line 285) | def _handle_trash_click(self, event): method _handle_item_hovered (line 312) | def _handle_item_hovered(self, item, pinned=False): method _handle_item_unhovered (line 332) | def _handle_item_unhovered(self, item, pinned=False): method _get_app_identifier (line 352) | def _get_app_identifier(self, app_data): method _launch_app_data (line 357) | def _launch_app_data(self, app_data): method _launch_app (line 374) | def _launch_app(self, app): method _launch_app_from_data (line 385) | def _launch_app_from_data(self, app_data): method _pin_app (line 404) | def _pin_app(self, app_class: str): method _unpin_app (line 437) | def _unpin_app(self, app_identifier: str): method _matches_app_identifier (line 453) | def _matches_app_identifier(self, pinned_app, app_identifier): method get_clients (line 468) | def get_clients(self): method get_focused_window (line 478) | def get_focused_window(self): method update_dock_apps (line 488) | def update_dock_apps(self): method _update_pinned_apps_state (line 526) | def _update_pinned_apps_state(self, clients): method _cleanup_removed_instances (line 545) | def _cleanup_removed_instances(self, current_instance_ids): method create_instance_button (line 568) | def create_instance_button(self, instance_address, client, app_class): method _get_workspace_id (line 640) | def _get_workspace_id(self, client): method _is_special_workspace_id (line 648) | def _is_special_workspace_id(self, ws_id): method _should_show_app_instance (line 651) | def _should_show_app_instance(self, client): method update_instance_button (line 661) | def update_instance_button(self, instance_address, client, app_class): method handle_instance_click (line 700) | def handle_instance_click(self, button_widget, event): method _is_app_pinned (line 722) | def _is_app_pinned(self, app_class: str) -> bool: method _update_separator_visibility (line 728) | def _update_separator_visibility(self): class Dock (line 737) | class Dock(Window): method __init__ (line 738) | def __init__(self): method on_hover_enter (line 776) | def on_hover_enter(self): method on_hover_leave (line 784) | def on_hover_leave(self): method _get_anchor_from_position (line 791) | def _get_anchor_from_position(self): method _get_transition_type (line 799) | def _get_transition_type(self): method _get_occlusion_position (line 807) | def _get_occlusion_position(self): method setup_occlusion_monitoring (line 815) | def setup_occlusion_monitoring(self): FILE: modules/launcher/main.py class Launcher (line 26) | class Launcher(Window): method __init__ (line 37) | def __init__(self, **kwargs): method show_launcher (line 148) | def show_launcher(self, trigger_keyword: str = None, external: bool = ... method _position_cursor_at_end (line 231) | def _position_cursor_at_end(self, text_length: Optional[int] = None) -... method _add_space_to_trigger (line 247) | def _add_space_to_trigger(self, trigger_word: str) -> None: method close_launcher (line 272) | def close_launcher(self): method _on_search_changed (line 282) | def _on_search_changed(self, entry): method _perform_search (line 334) | def _perform_search(self, query: str) -> bool: method _extract_query_after_trigger (line 462) | def _extract_query_after_trigger(self, query: str, trigger: str) -> str: method _show_available_triggers (line 497) | def _show_available_triggers(self): method _detect_trigger (line 504) | def _detect_trigger(self, query: str) -> Tuple[Optional[object], str]: method _get_applications_plugin (line 525) | def _get_applications_plugin(self): method _get_trigger_suggestions (line 535) | def _get_trigger_suggestions(self, query: str) -> List[Result]: method _create_trigger_result (line 579) | def _create_trigger_result(self, trigger_clean: str, max_examples: int... method _activate_trigger (line 595) | def _activate_trigger(self, trigger: str): method _execute_external_command (line 634) | def _execute_external_command(self, command_string: str): method _update_results_display (line 712) | def _update_results_display(self): method _update_input_action_text (line 753) | def _update_input_action_text(self): method _clear_results (line 788) | def _clear_results(self): method _handle_escape_key (line 796) | def _handle_escape_key(self) -> bool: method _handle_backspace_key (line 813) | def _handle_backspace_key(self) -> bool: method _on_key_press (line 874) | def _on_key_press(self, _widget, event): method _custom_widget_has_entry (line 1019) | def _custom_widget_has_entry(self, widget): method _find_focused_entry_in_widget (line 1033) | def _find_focused_entry_in_widget(self, widget): method _find_password_entry_widget (line 1056) | def _find_password_entry_widget(self): method _on_entry_activate (line 1072) | def _on_entry_activate(self, _entry): method _on_result_clicked (line 1076) | def _on_result_clicked(self, _result_item, index): method _on_result_hovered (line 1083) | def _on_result_hovered(self, index): method _on_mouse_activity (line 1092) | def _on_mouse_activity(self, widget, event): method _should_allow_mouse_interaction (line 1109) | def _should_allow_mouse_interaction(self): method _is_mouse_over_results (line 1131) | def _is_mouse_over_results(self): method _update_selection (line 1136) | def _update_selection(self): method _update_selection_visual_only (line 1164) | def _update_selection_visual_only(self): method _scroll_to_widget (line 1182) | def _scroll_to_widget(self, widget): method _ensure_selected_visible (line 1239) | def _ensure_selected_visible(self): method _cycle_focus_forward (line 1272) | def _cycle_focus_forward(self): method _cycle_focus_backward (line 1279) | def _cycle_focus_backward(self): method _focus_search_entry_without_selection (line 1285) | def _focus_search_entry_without_selection(self): method _navigate_results_forward (line 1331) | def _navigate_results_forward(self): method _navigate_results_backward (line 1342) | def _navigate_results_backward(self): method _activate_selected (line 1353) | def _activate_selected(self): FILE: modules/launcher/plugin_base.py class PluginBase (line 7) | class PluginBase(ABC): method __init__ (line 13) | def __init__(self): method initialize (line 22) | def initialize(self): method cleanup (line 30) | def cleanup(self): method query (line 38) | def query(self, query_string: str) -> List[Result]: method get_triggers (line 50) | def get_triggers(self) -> List[str]: method set_triggers (line 60) | def set_triggers(self, triggers: List[str]): method handles_query (line 69) | def handles_query(self, query_string: str) -> bool: method get_active_trigger (line 91) | def get_active_trigger(self, query_string: str) -> str: method query_triggered (line 128) | def query_triggered(self, query_string: str, trigger: str) -> List[Res... method get_config (line 144) | def get_config(self) -> dict: method set_config (line 159) | def set_config(self, config: dict): method __str__ (line 168) | def __str__(self): method __repr__ (line 171) | def __repr__(self): FILE: modules/launcher/plugin_manager.py class PluginManager (line 9) | class PluginManager: method __init__ (line 14) | def __init__(self): method _load_builtin_plugins (line 28) | def _load_builtin_plugins(self): method _load_external_plugins (line 40) | def _load_external_plugins(self): method _load_plugin_from_file (line 45) | def _load_plugin_from_file(self, plugins_dir: str, plugin_name: str): method _activate_default_plugins (line 77) | def _activate_default_plugins(self): method activate_plugin (line 101) | def activate_plugin(self, plugin_name: str) -> bool: method deactivate_plugin (line 128) | def deactivate_plugin(self, plugin_name: str) -> bool: method get_active_plugins (line 149) | def get_active_plugins(self) -> List[PluginBase]: method get_plugin_names (line 155) | def get_plugin_names(self) -> List[str]: method get_active_plugin_names (line 159) | def get_active_plugin_names(self) -> List[str]: method reload_plugin (line 163) | def reload_plugin(self, plugin_name: str) -> bool: FILE: modules/launcher/plugins/applications.py class ApplicationsPlugin (line 13) | class ApplicationsPlugin(PluginBase): method __init__ (line 14) | def __init__(self): method initialize (line 19) | def initialize(self): method cleanup (line 22) | def cleanup(self): method _pin_application (line 25) | def _pin_application(self, app): method query (line 55) | def query(self, query_string: str) -> List[Result]: method _calculate_relevance (line 92) | def _calculate_relevance(self, app, query: str) -> float: method _fuzzy_match (line 135) | def _fuzzy_match(self, query: str, text: str) -> bool: method _launch_application (line 144) | def _launch_application(self, app: DesktopApp): method _get_all_applications (line 155) | def _get_all_applications(self) -> List[Result]: FILE: modules/launcher/plugins/bash_scripts.py class BashScriptsPlugin (line 13) | class BashScriptsPlugin(PluginBase): method __init__ (line 18) | def __init__(self): method initialize (line 43) | def initialize(self): method cleanup (line 49) | def cleanup(self): method _load_scripts_cache (line 56) | def _load_scripts_cache(self): method _save_scripts_cache (line 73) | def _save_scripts_cache(self): method _start_background_cache_update (line 86) | def _start_background_cache_update(self): method _build_scripts_cache_background (line 102) | def _build_scripts_cache_background(self): method _scan_directory_for_scripts (line 132) | def _scan_directory_for_scripts(self, directory: str, cache: Dict): method _is_script_file (line 164) | def _is_script_file(self, file_path: str) -> bool: method _get_script_description (line 186) | def _get_script_description(self, script_path: str) -> str: method query (line 205) | def query(self, query_string: str) -> List[Result]: method _list_all_scripts (line 227) | def _list_all_scripts(self) -> List[Result]: method _search_scripts (line 252) | def _search_scripts(self, query: str) -> List[Result]: method _create_script_result (line 305) | def _create_script_result( method _create_script_results_with_args (line 350) | def _create_script_results_with_args( method _create_script_action (line 393) | def _create_script_action(self, script_name: str, script_info: Dict): method _create_script_action_with_args (line 401) | def _create_script_action_with_args( method _execute_script (line 414) | def _execute_script(self, script_name: str, script_info: Dict): FILE: modules/launcher/plugins/bookmarks.py class BookmarkManager (line 16) | class BookmarkManager: method __init__ (line 19) | def __init__(self, storage_file: Path): method _get_favicon_url (line 27) | def _get_favicon_url(self, url: str) -> str: method _extract_domain (line 35) | def _extract_domain(self, url: str) -> str: method _normalize_url (line 47) | def _normalize_url(self, url: str) -> str: method _load_bookmarks (line 57) | def _load_bookmarks(self): method get_bookmarks (line 82) | def get_bookmarks(self) -> List[Dict]: method _save_bookmarks_unlocked (line 87) | def _save_bookmarks_unlocked(self): method _save_bookmarks (line 103) | def _save_bookmarks(self): method add_bookmark (line 108) | def add_bookmark( method remove_bookmark (line 141) | def remove_bookmark(self, identifier: str) -> bool: method update_access_time (line 166) | def update_access_time(self, url: str): method get_bookmark_count (line 177) | def get_bookmark_count(self) -> int: class BookmarksPlugin (line 182) | class BookmarksPlugin(PluginBase): method __init__ (line 188) | def __init__(self): method initialize (line 209) | def initialize(self): method cleanup (line 214) | def cleanup(self): method query (line 220) | def query(self, query_string: str) -> List[Result]: method _search_bookmarks (line 261) | def _search_bookmarks(self, query: str) -> List[Result]: method _get_recent_bookmarks (line 291) | def _get_recent_bookmarks(self) -> List[Result]: method _handle_add_command (line 329) | def _handle_add_command(self, args: str) -> List[Result]: method _handle_remove_command (line 429) | def _handle_remove_command(self, identifier: str) -> List[Result]: method _show_remove_help (line 487) | def _show_remove_help(self) -> List[Result]: method _add_bookmark_action (line 548) | def _add_bookmark_action(self, title: str, url: str, description: str ... method _remove_bookmark_action (line 561) | def _remove_bookmark_action(self, identifier: str): method _remove_bookmark_with_reset (line 574) | def _remove_bookmark_with_reset(self, identifier: str): method _calculate_relevance (line 587) | def _calculate_relevance(self, bookmark: Dict, query: str) -> float: method _create_bookmark_result (line 623) | def _create_bookmark_result( method _extract_domain (line 677) | def _extract_domain(self, url: str) -> str: method _open_bookmark (line 689) | def _open_bookmark(self, url: str): method _setup_launcher_hooks (line 702) | def _setup_launcher_hooks(self): method _cleanup_launcher_hooks (line 719) | def _cleanup_launcher_hooks(self): method _reset_to_trigger (line 726) | def _reset_to_trigger(self): method _force_launcher_refresh (line 762) | def _force_launcher_refresh(self): FILE: modules/launcher/plugins/caffeine.py class CaffeinePlugin (line 16) | class CaffeinePlugin(PluginBase): method __init__ (line 21) | def __init__(self): method initialize (line 38) | def initialize(self): method cleanup (line 42) | def cleanup(self): method _create_inhibit_action (line 46) | def _create_inhibit_action(self, duration: str): method _parse_duration_to_seconds (line 85) | def _parse_duration_to_seconds(self, duration_str: str) -> int: method _schedule_expiration_notification (line 101) | def _schedule_expiration_notification(self, duration: str, duration_te... method _is_valid_duration (line 118) | def _is_valid_duration(self, query: str) -> bool: method _get_default_action (line 128) | def _get_default_action(self, query: str): method query (line 134) | def query(self, query_string: str) -> List[Result]: FILE: modules/launcher/plugins/calculator.py class CalculatorPlugin (line 12) | class CalculatorPlugin(PluginBase): method __init__ (line 17) | def __init__(self): method initialize (line 59) | def initialize(self): method _cleanup_cache (line 63) | def _cleanup_cache(self): method query (line 70) | def query(self, query: str) -> List[Result]: method _format_cache_age (line 140) | def _format_cache_age(self, age_seconds: float) -> str: method _copy_to_clipboard (line 149) | def _copy_to_clipboard(self, text: str): method cleanup (line 160) | def cleanup(self): FILE: modules/launcher/plugins/clipboard.py class ClipboardPlugin (line 16) | class ClipboardPlugin(PluginBase): method __init__ (line 17) | def __init__(self): method initialize (line 45) | def initialize(self): method cleanup (line 58) | def cleanup(self): method invalidate_cache (line 78) | def invalidate_cache(self): method _force_launcher_refresh (line 85) | def _force_launcher_refresh(self): method _load_clipboard_items_cached (line 136) | def _load_clipboard_items_cached(self) -> List[str]: method _load_clipboard_items (line 184) | def _load_clipboard_items(self) -> List[str]: method _create_pixbuf_from_bytes (line 188) | def _create_pixbuf_from_bytes( method _is_image_data (line 213) | def _is_image_data(self, content: str) -> bool: method _get_text_preview (line 226) | def _get_text_preview(self, content: str) -> str: method _load_image_preview_cached (line 232) | def _load_image_preview_cached(self, item_id: str) -> Optional[GdkPixb... method _load_image_preview_async (line 256) | def _load_image_preview_async(self, item_id: str) -> Optional[GdkPixbu... method query (line 260) | def query(self, query_string: str) -> List[Result]: method _copy_to_clipboard (line 409) | def _copy_to_clipboard(self, entry_id: str): FILE: modules/launcher/plugins/emoji.py class EmojiPlugin (line 14) | class EmojiPlugin(PluginBase): method __init__ (line 19) | def __init__(self): method initialize (line 32) | def initialize(self): method cleanup (line 38) | def cleanup(self): method _load_emoji_data (line 42) | def _load_emoji_data(self): method _load_recent_emojis (line 53) | def _load_recent_emojis(self): method _save_recent_emojis (line 69) | def _save_recent_emojis(self): method _add_to_recent (line 80) | def _add_to_recent(self, emoji: str): method _copy_to_clipboard (line 97) | def _copy_to_clipboard(self, emoji: str): method query (line 117) | def query(self, query_string: str) -> List[Result]: method _create_emoji_result (line 170) | def _create_emoji_result(self, emoji: str, info: Dict, relevance: floa... FILE: modules/launcher/plugins/otp.py class OTPPlugin (line 20) | class OTPPlugin(PluginBase): method __init__ (line 23) | def __init__(self): method initialize (line 38) | def initialize(self): method cleanup (line 45) | def cleanup(self): method _load_secrets (line 51) | def _load_secrets(self): method _save_secrets (line 63) | def _save_secrets(self): method _ensure_config_file (line 72) | def _ensure_config_file(self): method _start_refresh_thread (line 79) | def _start_refresh_thread(self): method _selective_force_refresh (line 97) | def _selective_force_refresh(self): method _update_existing_result_labels (line 133) | def _update_existing_result_labels(self, results_box): method _update_result_item_content (line 150) | def _update_result_item_content(self, result_item, time_display): method _find_and_update_title_label (line 179) | def _find_and_update_title_label(self, result_item, new_title): method _find_and_update_subtitle_label (line 196) | def _find_and_update_subtitle_label(self, result_item, new_markup): method _copy_to_clipboard (line 216) | def _copy_to_clipboard(self, text: str): method _trigger_refresh (line 230) | def _trigger_refresh(self): method _remove_account_and_refresh (line 282) | def _remove_account_and_refresh(self, account_name: str): method _generate_totp (line 295) | def _generate_totp(self, secret: str) -> Optional[str]: method _get_time_remaining_with_blink (line 299) | def _get_time_remaining_with_blink(self) -> str: method query (line 303) | def query(self, query_string: str) -> List[Result]: method _handle_direct_add (line 348) | def _handle_direct_add(self, account_name: str, secret_or_uri: str) ->... method _list_otp_codes (line 382) | def _list_otp_codes(self) -> List[Result]: method _search_accounts (line 459) | def _search_accounts(self, query: str) -> List[Result]: method _handle_add_command (line 527) | def _handle_add_command(self, account_name: str) -> List[Result]: method _handle_qr_command (line 585) | def _handle_qr_command(self, account_name: str) -> List[Result]: method _scan_qr_and_add_account (line 623) | def _scan_qr_and_add_account(self, account_name: str): method _scan_qr_async (line 635) | def _scan_qr_async(self, account_name: str): method _handle_remove_command (line 648) | def _handle_remove_command(self, account_name: str) -> List[Result]: method _handle_base32_secret (line 769) | def _handle_base32_secret(self, account_name: str, secret: str) -> Lis... method _handle_otpauth_uri (line 809) | def _handle_otpauth_uri(self, account_name: str, uri: str) -> List[Res... FILE: modules/launcher/plugins/password.py class PasswordManager (line 15) | class PasswordManager: method __init__ (line 18) | def __init__(self, storage_file: Path): method _simple_encrypt (line 26) | def _simple_encrypt(self, text: str, key: str = "modus_pass") -> str: method _simple_decrypt (line 39) | def _simple_decrypt(self, encrypted_text: str, key: str = "modus_pass"... method _load_passwords (line 56) | def _load_passwords(self): method _save_passwords (line 78) | def _save_passwords(self): method add_password (line 95) | def add_password(self, name: str, password: str, description: str = ""... method get_password (line 111) | def get_password(self, name: str, update_access_time: bool = True) -> ... method remove_password (line 132) | def remove_password(self, name: str) -> bool: method list_passwords (line 140) | def list_passwords(self) -> List[str]: method get_password_info (line 146) | def get_password_info(self, name: str) -> Optional[Dict]: class PasswordPlugin (line 155) | class PasswordPlugin(PluginBase): method __init__ (line 161) | def __init__(self): method initialize (line 183) | def initialize(self): method cleanup (line 188) | def cleanup(self): method query (line 195) | def query(self, query_string: str) -> List[Result]: method _list_all_passwords (line 233) | def _list_all_passwords(self) -> List[Result]: method _handle_add_command (line 302) | def _handle_add_command(self, query_string: str) -> List[Result]: method _handle_remove_command (line 358) | def _handle_remove_command(self, query_string: str) -> List[Result]: method _search_passwords (line 406) | def _search_passwords(self, query: str) -> List[Result]: method _add_password_action (line 480) | def _add_password_action( method _remove_password_action (line 507) | def _remove_password_action(self, name: str): method _copy_password_to_clipboard (line 534) | def _copy_password_to_clipboard(self, name: str): method _reveal_password (line 578) | def _reveal_password(self, name: str): method _hide_password (line 593) | def _hide_password(self, name: str): method _hide_all_passwords (line 597) | def _hide_all_passwords(self): method _setup_launcher_hooks (line 604) | def _setup_launcher_hooks(self): method _cleanup_launcher_hooks (line 625) | def _cleanup_launcher_hooks(self): method _wrapped_close_launcher (line 635) | def _wrapped_close_launcher(self): method _toggle_password_visibility (line 643) | def _toggle_password_visibility(self, name: str): method _force_launcher_refresh (line 666) | def _force_launcher_refresh(self): FILE: modules/launcher/plugins/power.py class PowerPlugin (line 8) | class PowerPlugin(PluginBase): method __init__ (line 13) | def __init__(self): method initialize (line 45) | def initialize(self): method cleanup (line 49) | def cleanup(self): method query (line 53) | def query(self, query_string: str) -> List[Result]: method shutdown (line 88) | def shutdown(self, *args) -> None: method restart (line 91) | def restart(self, *args) -> None: method lock (line 94) | def lock(self, *args) -> None: method suspend (line 97) | def suspend(self, *args) -> None: method logout (line 100) | def logout(self, *args) -> None: FILE: modules/launcher/plugins/reminders.py class Reminder (line 11) | class Reminder: method __init__ (line 16) | def __init__( method cancel (line 29) | def cancel(self): method get_time_remaining (line 34) | def get_time_remaining(self) -> str: method get_target_time_str (line 54) | def get_target_time_str(self) -> str: class RemindersPlugin (line 59) | class RemindersPlugin(PluginBase): method __init__ (line 64) | def __init__(self): method initialize (line 81) | def initialize(self): method cleanup (line 85) | def cleanup(self): method _send_notification (line 92) | def _send_notification(self, title: str, message: str): method _parse_time_input (line 102) | def _parse_time_input(self, time_str: str) -> Optional[datetime]: method _create_reminder (line 167) | def _create_reminder(self, time_str: str, message: str) -> Optional[Re... method _trigger_reminder (line 193) | def _trigger_reminder(self, reminder_id: int, message: str): method _cancel_reminder (line 202) | def _cancel_reminder(self, reminder_id: Optional[int] = None) -> int: method _format_time_remaining (line 218) | def _format_time_remaining(self, total_seconds: float) -> str: method _create_and_confirm_reminder (line 233) | def _create_and_confirm_reminder(self, time_str: str, message: str): method query (line 246) | def query(self, query_string: str) -> List[Result]: FILE: modules/launcher/plugins/screencapture.py class ScreencapturePlugin (line 9) | class ScreencapturePlugin(PluginBase): method __init__ (line 14) | def __init__(self): method initialize (line 20) | def initialize(self): method cleanup (line 24) | def cleanup(self): method get_commands (line 28) | def get_commands(self): method _run_script (line 88) | def _run_script(self, *args): method _run_script_with_file (line 95) | def _run_script_with_file(self, format_type: str, file_path: str): method _is_recording (line 102) | def _is_recording(self): method _get_command_result (line 112) | def _get_command_result(self, command: str) -> Result: method query (line 432) | def query(self, query_string: str) -> List[Result]: FILE: modules/launcher/plugins/system.py class SystemPlugin (line 14) | class SystemPlugin(PluginBase): method __init__ (line 19) | def __init__(self): method initialize (line 36) | def initialize(self): method cleanup (line 42) | def cleanup(self): method _load_bin_cache (line 49) | def _load_bin_cache(self): method _save_bin_cache (line 66) | def _save_bin_cache(self): method _start_background_cache_update (line 83) | def _start_background_cache_update(self): method _build_bin_cache_background (line 99) | def _build_bin_cache_background(self): method query (line 135) | def query(self, query_string: str) -> List[Result]: method _create_action (line 223) | def _create_action(self, command: Union[str, List[str]]): method _execute_command (line 231) | def _execute_command(self, command: Union[str, List[str]]): FILE: modules/launcher/plugins/tmux.py class TmuxPlugin (line 12) | class TmuxPlugin(PluginBase): method __init__ (line 17) | def __init__(self): method initialize (line 35) | def initialize(self): method cleanup (line 40) | def cleanup(self): method _start_refresh_thread (line 47) | def _start_refresh_thread(self): method _refresh_sessions_background (line 55) | def _refresh_sessions_background(self): method _get_tmux_sessions (line 75) | def _get_tmux_sessions(self): method query (line 97) | def query(self, query_string: str) -> List[Result]: method _create_attach_session_result (line 164) | def _create_attach_session_result(self, session_name: str) -> Result: method _create_new_session_result (line 175) | def _create_new_session_result(self, session_name: str = "") -> Result: method _create_kill_session_result (line 189) | def _create_kill_session_result(self, session_name: str) -> Result: method _create_rename_session_result (line 200) | def _create_rename_session_result(self, old_name: str, new_name: str) ... method _attach_to_session (line 211) | def _attach_to_session(self, session_name: str): method _create_session (line 222) | def _create_session(self, session_name: str = ""): method _kill_session (line 255) | def _kill_session(self, session_name: str): method _rename_session (line 270) | def _rename_session(self, old_name: str, new_name: str): method _get_terminal_command (line 290) | def _get_terminal_command(self, cmd: str) -> str: FILE: modules/launcher/plugins/wallpaper.py class WallpaperPlugin (line 21) | class WallpaperPlugin(PluginBase): method __init__ (line 26) | def __init__(self): method initialize (line 44) | def initialize(self): method cleanup (line 52) | def cleanup(self): method _load_wallpapers (line 56) | def _load_wallpapers(self): method _is_image (line 68) | def _is_image(self, filename: str) -> bool: method _get_matugen_state (line 74) | def _get_matugen_state(self) -> bool: method _set_matugen_state (line 90) | def _set_matugen_state(self, enabled: bool): method _clear_launcher_query (line 123) | def _clear_launcher_query(self): method _get_cache_path (line 170) | def _get_cache_path(self, filename: str) -> str: method _create_thumbnail (line 175) | def _create_thumbnail(self, filename: str) -> str: method _start_background_thumbnail_creation (line 192) | def _start_background_thumbnail_creation(self): method _get_thumbnail_fast (line 228) | def _get_thumbnail_fast(self, filename: str) -> Optional[GdkPixbuf.Pix... method _set_wallpaper (line 277) | def _set_wallpaper(self, filename: str, scheme: str = None): method _set_random_wallpaper (line 302) | def _set_random_wallpaper(self): method _hsl_to_rgb_hex (line 317) | def _hsl_to_rgb_hex(self, h: float, s: float = 1.0, l: float = 0.5) ->... method _is_valid_hex_color (line 325) | def _is_valid_hex_color(self, hex_color: str) -> bool: method _get_current_scheme (line 331) | def _get_current_scheme(self) -> str: method _set_current_scheme (line 344) | def _set_current_scheme(self, scheme: str): method _apply_hex_color (line 408) | def _apply_hex_color(self, hex_color: str, scheme: str = None): method _apply_hex_color_direct (line 418) | def _apply_hex_color_direct(self, hex_color: str, scheme: str = None): method _generate_random_hex_color (line 435) | def _generate_random_hex_color(self) -> str: method _get_status_indicators (line 440) | def _get_status_indicators(self) -> tuple: method query (line 457) | def query(self, query_string: str) -> List[Result]: FILE: modules/launcher/plugins/websearch.py class WebSearchPlugin (line 9) | class WebSearchPlugin(PluginBase): method __init__ (line 14) | def __init__(self): method initialize (line 75) | def initialize(self): method get_active_trigger (line 85) | def get_active_trigger(self, query_string: str) -> str: method cleanup (line 92) | def cleanup(self): method query (line 96) | def query(self, query_string: str) -> List[Result]: method _parse_engine_query (line 137) | def _parse_engine_query(self, query: str) -> tuple[str, str]: method _is_url (line 149) | def _is_url(self, text: str) -> bool: method _create_url_result (line 156) | def _create_url_result(self, url: str) -> Result: method _open_url (line 175) | def _open_url(self, url: str): method _get_search_engine_list (line 184) | def _get_search_engine_list(self) -> List[Result]: method _create_search_result (line 202) | def _create_search_result(self, engine_id: str, query: str) -> Result: method _create_engine_info_result (line 216) | def _create_engine_info_result(self, engine_id: str) -> Result: method _perform_search (line 230) | def _perform_search(self, engine_id: str, query: str): method _show_engine_help (line 253) | def _show_engine_help(self, engine_id: str): FILE: modules/launcher/result.py class Result (line 8) | class Result: method activate (line 32) | def activate(self): method __post_init__ (line 39) | def __post_init__(self): method __str__ (line 48) | def __str__(self): method __repr__ (line 51) | def __repr__(self): FILE: modules/launcher/result_item.py class ResultItem (line 12) | class ResultItem(EventBox): method clicked (line 19) | def clicked(self, index: int) -> None: method hovered (line 24) | def hovered(self, index: int) -> None: method __init__ (line 28) | def __init__( method _setup_ui (line 48) | def _setup_ui(self): method set_selected (line 134) | def set_selected(self, selected: bool): method get_selected (line 143) | def get_selected(self) -> bool: method _on_button_press (line 147) | def _on_button_press(self, widget, event): method _on_enter (line 154) | def _on_enter(self, widget, event): method _on_leave (line 160) | def _on_leave(self, widget, event): FILE: modules/launcher/trigger_config.py class TriggerConfig (line 8) | class TriggerConfig: method __init__ (line 9) | def __init__(self, config_path: str = None): method get_trigger_examples (line 36) | def get_trigger_examples(self, trigger: str) -> List[str]: method get_trigger_icon (line 45) | def get_trigger_icon(self, trigger: str) -> str: method get_trigger_description (line 51) | def get_trigger_description(self, trigger: str) -> str: method get_all_triggers (line 56) | def get_all_triggers(self) -> Dict[str, Dict[str, Any]]: FILE: modules/notification/notification.py function ensure_notification_cache_dirs (line 51) | def ensure_notification_cache_dirs(): function cleanup_old_cache_files (line 56) | def cleanup_old_cache_files(): function get_unified_cache_key (line 79) | def get_unified_cache_key(source_data, size=None, app_name=None): function save_pixbuf_to_cache (line 114) | def save_pixbuf_to_cache(pixbuf, cache_key, cache_dir): function get_cached_pixbuf (line 132) | def get_cached_pixbuf(cache_key, fallback_size=(48, 48), cache_dir=None): function cache_notification_icon (line 150) | def cache_notification_icon(source, size=(48, 48), app_name=None): function load_and_cache_local_icon (line 205) | def load_and_cache_local_icon(file_path, cache_key, size): function load_and_cache_theme_icon (line 220) | def load_and_cache_theme_icon(icon_name, cache_key, size): function get_fallback_notification_icon (line 227) | def get_fallback_notification_icon(size=(48, 48)): function get_notification_image_cache_key (line 245) | def get_notification_image_cache_key(notification_id, image_pixbuf): function cache_notification_image (line 271) | def cache_notification_image(notification_id, image_pixbuf, size=(64, 64)): function get_cached_notification_image (line 302) | def get_cached_notification_image(cache_key): function cleanup_notification_image_cache (line 313) | def cleanup_notification_image_cache(cache_key=None): function cleanup_notification_specific_caches (line 338) | def cleanup_notification_specific_caches( function cleanup_all_notification_caches (line 362) | def cleanup_all_notification_caches(): function verify_cache_persistence (line 385) | def verify_cache_persistence(): function migrate_persistent_notifications (line 435) | def migrate_persistent_notifications(): function preload_notification_assets (line 488) | def preload_notification_assets(notification): function smooth_revealer_animation (line 511) | def smooth_revealer_animation(revealer: SlideRevealer, duration: int = 2... class ActionButton (line 516) | class ActionButton(Button): method __init__ (line 517) | def __init__( method on_clicked (line 543) | def on_clicked(self, *_): class NotificationWidget (line 550) | class NotificationWidget(Box): method __init__ (line 551) | def __init__( method create_header (line 590) | def create_header(self, notification): method create_content (line 641) | def create_content(self, notification): method _on_enter_notify (line 708) | def _on_enter_notify(self, widget, event): method _on_leave_notify (line 715) | def _on_leave_notify(self, widget, event): method get_pixbuf (line 722) | def get_pixbuf(self, icon_path, width, height): method _get_notification_pixbuf (line 750) | def _get_notification_pixbuf(self, notification): method create_action_buttons (line 782) | def create_action_buttons(self, notification): method start_timeout (line 793) | def start_timeout(self): method stop_timeout (line 797) | def stop_timeout(self): method close_notification (line 802) | def close_notification(self): method pause_timeout (line 807) | def pause_timeout(self): method resume_timeout (line 810) | def resume_timeout(self): method _manual_close (line 814) | def _manual_close(self): method destroy (line 818) | def destroy(self): method set_pointer_cursor (line 834) | def set_pointer_cursor(self, widget, cursor_name): method hover_button (line 840) | def hover_button(self, button): method unhover_button (line 844) | def unhover_button(self, button): class NotificationRevealer (line 849) | class NotificationRevealer(SlideRevealer): method __init__ (line 850) | def __init__( method _ease_out_cubic (line 907) | def _ease_out_cubic(self, t): method _ease_out_quart (line 911) | def _ease_out_quart(self, t): method _apply_transform (line 915) | def _apply_transform(self, offset_x, opacity, scale): method _animate_dismiss (line 944) | def _animate_dismiss(self, start_offset): method _calculate_drag_velocity (line 985) | def _calculate_drag_velocity(self, current_x): method _on_animation_complete (line 997) | def _on_animation_complete(self, is_hiding=False): method on_resolved (line 1006) | def on_resolved( method destroy (line 1039) | def destroy(self): class NotificationState (line 1046) | class NotificationState: class ModusNoti (line 1053) | class ModusNoti(Window): method __init__ (line 1054) | def __init__(self): method on_new_notification (line 1089) | def on_new_notification(self, fabric_notif, id): method _process_notification_queue_debounced (line 1128) | def _process_notification_queue_debounced(self): method _process_notification_queue (line 1134) | def _process_notification_queue(self): method _start_smooth_transition (line 1152) | def _start_smooth_transition(self): method _show_next_notification (line 1167) | def _show_next_notification(self): method _on_notification_finished (line 1216) | def _on_notification_finished(self, notification_box): method show_next_notification (line 1246) | def show_next_notification(self): method on_notification_finished (line 1250) | def on_notification_finished(self, notification_box): method clear_notification_queue (line 1254) | def clear_notification_queue(self): method get_queue_length (line 1280) | def get_queue_length(self): FILE: modules/notification/notification_center.py class ExpandableNotificationGroup (line 32) | class ExpandableNotificationGroup(Box): method __init__ (line 33) | def __init__(self, app_name, notifications, **kwargs): method create_collapsed_state (line 52) | def create_collapsed_state(self): method _get_notification_pixbuf_for_group (line 166) | def _get_notification_pixbuf_for_group(self, cached_notification): method create_expanded_state (line 228) | def create_expanded_state(self): method on_clicked (line 315) | def on_clicked(self, widget, event): method expand (line 322) | def expand(self, *args): method collapse (line 338) | def collapse(self, *args): method _show_collapsed_midway (line 356) | def _show_collapsed_midway(self): method _complete_collapse (line 362) | def _complete_collapse(self): method close_all (line 366) | def close_all(self, *args): method _close_single_notification (line 396) | def _close_single_notification(self, notification): method _close_single_notification_and_stop_propagation (line 425) | def _close_single_notification_and_stop_propagation(self, notification): class NotificationCenterWidget (line 451) | class NotificationCenterWidget(NotificationWidget): method __init__ (line 452) | def __init__(self, notification, **kwargs): method _get_notification_pixbuf (line 464) | def _get_notification_pixbuf(self, notification): method create_content (line 517) | def create_content(self, notification): method create_action_buttons (line 592) | def create_action_buttons(self, notification): method _on_close_clicked (line 595) | def _on_close_clicked(self, *args): method start_timeout (line 621) | def start_timeout(self): method stop_timeout (line 625) | def stop_timeout(self): method close_notification (line 629) | def close_notification(self): class NotificationCenter (line 633) | class NotificationCenter(Window): method __init__ (line 634) | def __init__(self): method _rebuild_notification_groups (line 705) | def _rebuild_notification_groups(self): method on_notification_added (line 757) | def on_notification_added(self, service, cached_notification): method _refresh_group_widget (line 820) | def _refresh_group_widget(self, group_widget): method on_notification_removed (line 834) | def on_notification_removed(self, service, cached_notification): method on_clear_all (line 871) | def on_clear_all(self, service): method on_count_changed (line 885) | def on_count_changed(self, service, count=None): method clear_all_notifications (line 895) | def clear_all_notifications(self, *_): method _on_escape_pressed (line 906) | def _on_escape_pressed(self, *_): method _init_mousecapture (line 910) | def _init_mousecapture(self, mousecapture): method _set_mousecapture (line 913) | def _set_mousecapture(self, visible): method _on_destroy (line 921) | def _on_destroy(self, *_): FILE: modules/notification/unified_cache.py function ensure_cache_dir (line 16) | def ensure_cache_dir(): function get_unified_cache_key (line 21) | def get_unified_cache_key(source_data, size=None, app_name=None): function save_to_cache (line 52) | def save_to_cache(pixbuf, cache_key, size=None): function get_from_cache (line 77) | def get_from_cache(cache_key, size=None): function cleanup_cache (line 94) | def cleanup_cache(cache_key=None): function cleanup_old_cache_files (line 121) | def cleanup_old_cache_files(): function verify_cache_persistence (line 144) | def verify_cache_persistence(): function get_fallback_icon (line 175) | def get_fallback_icon(size=(48, 48)): FILE: modules/osd.py class AnimatedScale (line 18) | class AnimatedScale(Scale): method __init__ (line 19) | def __init__(self, **kwargs): method animate_value (line 23) | def animate_value(self, value: float): class BrightnessOSDContainer (line 39) | class BrightnessOSDContainer(Box): method __init__ (line 40) | def __init__(self, **kwargs): method update_brightness (line 68) | def update_brightness(self) -> None: method get_svg (line 74) | def get_svg(self, value): method on_brightness_changed (line 78) | def on_brightness_changed(self, _sender: any, value: float, *_args) ->... method _normalize_brightness (line 89) | def _normalize_brightness(self, brightness: float) -> float: class AudioOSDContainer (line 93) | class AudioOSDContainer(Box): method __init__ (line 98) | def __init__(self, **kwargs): method _connect_speaker_signals (line 137) | def _connect_speaker_signals(self): method on_speaker_stream_changed (line 143) | def on_speaker_stream_changed(self, *_): method get_svg (line 167) | def get_svg(self, value): method sync_with_audio (line 171) | def sync_with_audio(self): method on_volume_changed (line 186) | def on_volume_changed(self, *_): method update_volume_display (line 194) | def update_volume_display(self, volume=None): method on_audio_speaker_changed (line 225) | def on_audio_speaker_changed(self, *_): method on_speaker_changed (line 229) | def on_speaker_changed(self, *_): method update_volume (line 233) | def update_volume(self, *_): class MicrophoneOSDContainer (line 244) | class MicrophoneOSDContainer(Box): method __init__ (line 249) | def __init__(self, **kwargs): method _connect_microphone_signals (line 284) | def _connect_microphone_signals(self): method on_microphone_stream_changed (line 290) | def on_microphone_stream_changed(self, *_): method get_svg (line 314) | def get_svg(self, value): method sync_with_audio (line 318) | def sync_with_audio(self): method on_volume_changed (line 333) | def on_volume_changed(self, *_): method update_volume_display (line 341) | def update_volume_display(self, volume=None): method on_audio_microphone_changed (line 374) | def on_audio_microphone_changed(self, *_): method on_microphone_changed (line 378) | def on_microphone_changed(self, *_): method update_volume (line 382) | def update_volume(self, *_): class OSD (line 393) | class OSD(Window): method __init__ (line 394) | def __init__(self, **kwargs): method show_audio (line 435) | def show_audio(self, *_): method show_brightness (line 439) | def show_brightness(self, *_): method show_microphone (line 443) | def show_microphone(self, *_): method show_box (line 447) | def show_box(self, box_to_show: Literal["audio", "brightness", "microp... method start_hide_timer (line 458) | def start_hide_timer(self): method reset_inactivity_timer (line 461) | def reset_inactivity_timer(self): method check_inactivity (line 464) | def check_inactivity(self): FILE: modules/panel/components/enhanced_system_tray.py function patched_do_update_properties (line 17) | def patched_do_update_properties(self, *_): function _try_load_icon_from_path (line 56) | def _try_load_icon_from_path(self, icon_path): function _set_tooltip (line 142) | def _set_tooltip(self): function apply_enhanced_system_tray (line 151) | def apply_enhanced_system_tray(): FILE: modules/panel/components/indicators.py class BluetoothIndicator (line 19) | class BluetoothIndicator(Box): method __init__ (line 20) | def __init__(self, show_window=True, **kwargs): method update_state (line 72) | def update_state(self): method on_bluetooth_changed (line 110) | def on_bluetooth_changed(self, service, new_bluetooth_state): method on_bluetooth_direct_changed (line 113) | def on_bluetooth_direct_changed(self, *args): method on_device_added (line 117) | def on_device_added(self, _, address): method on_device_removed (line 121) | def on_device_removed(self, _, address): method update_modus_service_bluetooth_state (line 125) | def update_modus_service_bluetooth_state(self): method on_bluetooth_clicked (line 146) | def on_bluetooth_clicked(self, *args): method close_bluetooth (line 151) | def close_bluetooth(self, *args): method hide_controlcenter (line 156) | def hide_controlcenter(self, *args): class NetworkIndicator (line 162) | class NetworkIndicator(Box): method __init__ (line 163) | def __init__(self, show_window=True, **kwargs): method on_wlan_changed (line 220) | def on_wlan_changed(self, service, new_wlan_state): method on_wifi_device_added (line 223) | def on_wifi_device_added(self, *args): method on_ethernet_device_added (line 232) | def on_ethernet_device_added(self, *args): method on_network_direct_changed (line 241) | def on_network_direct_changed(self, *args): method on_network_changed (line 245) | def on_network_changed(self, *args): method update_modus_service_wlan_state (line 249) | def update_modus_service_wlan_state(self): method update_state (line 279) | def update_state(self): method on_wifi_clicked (line 323) | def on_wifi_clicked(self, *args): method close_wifi (line 328) | def close_wifi(self, *args): method hide_controlcenter (line 333) | def hide_controlcenter(self, *args): class BatteryIndicator (line 339) | class BatteryIndicator(Box): method __init__ (line 340) | def __init__(self, show_window=True, **kwargs): method on_battery_changed (line 396) | def on_battery_changed(self, service, new_battery_state): method on_battery_direct_changed (line 399) | def on_battery_direct_changed(self, *args): method update_modus_service_battery_state (line 403) | def update_modus_service_battery_state(self): method get_battery_tooltip (line 423) | def get_battery_tooltip(self, percentage, state): method update_state (line 440) | def update_state(self): method on_battery_clicked (line 464) | def on_battery_clicked(self, *args): method close_battery (line 469) | def close_battery(self, *args): method hide_controlcenter (line 474) | def hide_controlcenter(self, *args): FILE: modules/panel/components/menubar.py function show_about_app (line 19) | def show_about_app(): function dropdown_option (line 57) | def dropdown_option( class SystemDropdown (line 104) | class SystemDropdown(ModusDropdown): method __init__ (line 105) | def __init__(self, parent, **kwargs): class MenuBarDropdowns (line 132) | class MenuBarDropdowns: method __init__ (line 133) | def __init__(self, parent): method _on_title_button_clicked (line 310) | def _on_title_button_clicked(self, _): method _on_active_app_changed (line 341) | def _on_active_app_changed(self, _, value): method hide_dropdowns (line 346) | def hide_dropdowns(self, *_): method changed_dropdown (line 356) | def changed_dropdown(self, _, dropdown_id): class MenuBar (line 379) | class MenuBar(Box): method __init__ (line 382) | def __init__(self, parent_window=None, **kwargs): method show_system_dropdown (line 403) | def show_system_dropdown(self, imac_button): FILE: modules/panel/components/recording_indicator.py class RecordingIndicator (line 13) | class RecordingIndicator(Button): method __init__ (line 14) | def __init__(self, **kwargs): method on_button_press (line 56) | def on_button_press(self, *args): method is_recorder_running (line 60) | def is_recorder_running(self): method check_recording_status (line 78) | def check_recording_status(self): method update_timer_display (line 110) | def update_timer_display(self): method cleanup_recording_state (line 130) | def cleanup_recording_state(self): method get_recording_start_time (line 137) | def get_recording_start_time(self): method on_stop_recording (line 168) | def on_stop_recording(self, *args): method _verify_recording_stopped (line 192) | def _verify_recording_stopped(self): method _delayed_init (line 216) | def _delayed_init(self): method destroy (line 227) | def destroy(self): FILE: modules/panel/main.py class Panel (line 33) | class Panel(Window): method __init__ (line 34) | def __init__(self, **kwargs): method search_apps (line 196) | def search_apps(self): method toggle_tray (line 199) | def toggle_tray(self, *_): method on_dnd_changed (line 212) | def on_dnd_changed(self, _, dnd_state): method on_notification_count_changed (line 216) | def on_notification_count_changed(self, service, *args): method on_notification_icon_clicked (line 220) | def on_notification_icon_clicked(self, *args): method on_datetime_clicked (line 228) | def on_datetime_clicked(self, *args): method update_notification_icon (line 232) | def update_notification_icon(self): FILE: modules/switcher.py class ApplicationSwitcher (line 20) | class ApplicationSwitcher(Window): method __init__ (line 21) | def __init__(self, **kwargs): method show_switcher (line 81) | def show_switcher(self) -> None: method hide_switcher (line 90) | def hide_switcher(self) -> None: method _on_glace_client_added (line 94) | def _on_glace_client_added(self, _, client): method _on_glace_client_removed (line 104) | def _on_glace_client_removed(self, _, client): method _find_glace_client_for_window (line 113) | def _find_glace_client_for_window(self, window): method create_preview_for_window (line 149) | def create_preview_for_window(self, window): method _set_fallback_icon (line 186) | def _set_fallback_icon(self, image_widget, window): method _is_special_workspace (line 196) | def _is_special_workspace(self, client): method update_windows (line 199) | def update_windows(self) -> None: method on_key_press (line 297) | def on_key_press(self, _, event): method on_key_release (line 354) | def on_key_release(self, _, event): method update_selection (line 368) | def update_selection(self): method activate_selected (line 377) | def activate_selected(self): method grab_keyboard (line 390) | def grab_keyboard(self): method ungrab_keyboard (line 399) | def ungrab_keyboard(self): FILE: modules/todo/todo_widget.py class TodoItem (line 21) | class TodoItem(Box): method __init__ (line 24) | def __init__(self, todo_data, todo_list_widget, **kwargs): method _build_ui (line 39) | def _build_ui(self): method _toggle_completion (line 155) | def _toggle_completion(self, *_): method _cycle_priority (line 159) | def _cycle_priority(self, *_): method _start_edit (line 166) | def _start_edit(self, *_): method _save_edit (line 180) | def _save_edit(self, *_): method _cancel_edit (line 191) | def _cancel_edit(self): method _delete_todo (line 200) | def _delete_todo(self, *_): method update_from_data (line 204) | def update_from_data(self, todo_data): class TodoListWidget (line 238) | class TodoListWidget(Window): method __init__ (line 241) | def __init__(self, **kwargs): method _build_ui (line 264) | def _build_ui(self): method _add_todo (line 363) | def _add_todo(self, *_): method _clear_completed (line 370) | def _clear_completed(self, *_): method _on_todo_event (line 374) | def _on_todo_event(self, event_type, data=None): method _refresh_todos (line 389) | def _refresh_todos(self, *_): method _update_stats (line 420) | def _update_stats(self): method set_visible (line 426) | def set_visible(self, visible): method hide_todo_list (line 430) | def hide_todo_list(self, *_): method _init_mousecapture (line 436) | def _init_mousecapture(self, mousecapture): method destroy (line 440) | def destroy(self): class TodoListCapture (line 448) | class TodoListCapture(MouseCapture): method __init__ (line 451) | def __init__(self, **kwargs): FILE: modules/widget.py function get_location (line 160) | def get_location() -> str: function get_coordinates (line 179) | def get_coordinates(city: str) -> Optional[Tuple[float, float]]: function get_weather_data (line 210) | def get_weather_data(lat: float, lon: float) -> Optional[Dict[str, Any]]: function format_weather_data (line 231) | def format_weather_data(weather_data: Dict[str, Any], city: str) -> List... function get_weather (line 257) | def get_weather(callback): function update_weather (line 299) | def update_weather(widget): function update_widget (line 310) | def update_widget(widget, weather_info): class Weather (line 317) | class Weather(Box): method __init__ (line 320) | def __init__(self, parent, **kwargs): method _create_labels (line 341) | def _create_labels(self): method _layout_labels (line 362) | def _layout_labels(self): method update_labels (line 374) | def update_labels(self, weather_info: List[str]): class WeatherContainer (line 400) | class WeatherContainer(Box): method __init__ (line 403) | def __init__(self, **kwargs): class Date (line 417) | class Date(Box): method __init__ (line 420) | def __init__(self, **kwargs): class DateContainer (line 450) | class DateContainer(Box): method __init__ (line 453) | def __init__(self, **kwargs): class Calendar (line 466) | class Calendar(Box): method __init__ (line 469) | def __init__(self, **kwargs): method _update_current_date (line 496) | def _update_current_date(self): method _create_header (line 503) | def _create_header(self): method _create_days_header (line 512) | def _create_days_header(self): method _create_calendar_grid (line 533) | def _create_calendar_grid(self): method update_calendar_if_needed (line 538) | def update_calendar_if_needed(self) -> bool: method update_calendar (line 551) | def update_calendar(self): class CalendarContainer (line 601) | class CalendarContainer(Box): method __init__ (line 604) | def __init__(self, **kwargs): class SystemInfoBase (line 617) | class SystemInfoBase(Box): method create_progress_bar (line 621) | def create_progress_bar(name: str = "progress-bar", size: int = 80, **... method __init__ (line 633) | def __init__(self, name: str, **kwargs): method start_updates (line 692) | def start_updates(self): method create_info_line (line 696) | def create_info_line( method update (line 718) | def update(self) -> bool: class RamInfo (line 723) | class RamInfo(SystemInfoBase): method __init__ (line 726) | def __init__(self, **kwargs): method update (line 740) | def update(self) -> bool: class CpuInfo (line 765) | class CpuInfo(SystemInfoBase): method __init__ (line 768) | def __init__(self, **kwargs): method get_cpu_temp (line 789) | def get_cpu_temp(self) -> Optional[float]: method update (line 813) | def update(self) -> bool: class Deskwidgets (line 836) | class Deskwidgets(Window): method __init__ (line 841) | def __init__(self, **kwargs): FILE: services/auth.py function get_otp_file_path (line 16) | def get_otp_file_path(): function capture_selected_area (line 33) | def capture_selected_area(filename="/tmp/screenshot.png"): function read_and_save_to_json (line 59) | def read_and_save_to_json(): function CodeOTP (line 156) | def CodeOTP(uri): function generate_totp (line 169) | def generate_totp(secret: str) -> str: function get_time_remaining (line 178) | def get_time_remaining() -> int: function get_time_remaining_with_blink (line 183) | def get_time_remaining_with_blink() -> str: function validate_base32_secret (line 195) | def validate_base32_secret(secret: str) -> dict: function parse_otpauth_uri (line 231) | def parse_otpauth_uri(uri: str, account_name: str = "") -> dict: function scan_qr_and_add_account (line 272) | def scan_qr_and_add_account(account_name: str, secrets_file_path: str) -... FILE: services/battery.py class Battery (line 18) | class Battery(Service): method seconds_to_hours_minutes (line 20) | def seconds_to_hours_minutes(seconds): method get_battery_icon_level (line 26) | def get_battery_icon_level(percentage): method get_battery_icon_file (line 50) | def get_battery_icon_file(percentage, is_charging, base_path=""): method get_profile_display_name (line 57) | def get_profile_display_name(profile: str) -> str: method changed (line 71) | def changed(self) -> None: ... method profile_changed (line 74) | def profile_changed(self, value: str) -> None: ... method percentage (line 77) | def percentage(self): method temperature (line 85) | def temperature(self): method time_to_empty (line 95) | def time_to_empty(self): method time_to_full (line 103) | def time_to_full(self): method icon_name (line 109) | def icon_name(self): method state (line 115) | def state(self): method capacity (line 130) | def capacity(self): method is_present (line 136) | def is_present(self): method power_profile (line 142) | def power_profile(self): method available_profiles (line 151) | def available_profiles(self): method change_power_profile (line 167) | def change_power_profile(self, profile: str) -> bool: method __init__ (line 195) | def __init__(self): method _update_psutil_battery (line 234) | def _update_psutil_battery(self): method _handle_profile_props_changed (line 243) | def _handle_profile_props_changed(self, changed): method handle_battery_change (line 250) | def handle_battery_change(self, iface, changed, invalidated): FILE: services/brightness.py function exec_brightnessctl_async (line 10) | def exec_brightnessctl_async(args: str): class Brightness (line 23) | class Brightness(Service): method get_initial (line 29) | def get_initial(): method screen (line 36) | def screen(self, value: int) -> None: method __init__ (line 40) | def __init__(self, **kwargs): method do_read_max_brightness (line 66) | def do_read_max_brightness(self, path: str) -> int: method screen_brightness (line 75) | def screen_brightness(self) -> int: method screen_brightness (line 85) | def screen_brightness(self, value: int): FILE: services/custom_notification.py class CachedNotification (line 30) | class CachedNotification(Service): method create_from_dict (line 32) | def create_from_dict(cls, data, **kwargs): method removed_from_cache (line 47) | def removed_from_cache(self) -> None: ... method cache_id (line 50) | def cache_id(self) -> int: method app_name (line 54) | def app_name(self) -> str: method app_icon (line 58) | def app_icon(self) -> str: method summary (line 62) | def summary(self) -> str: method body (line 66) | def body(self) -> str: method id (line 70) | def id(self) -> int: method replaces_id (line 74) | def replaces_id(self) -> int: method urgency (line 78) | def urgency(self) -> int: method actions (line 82) | def actions(self) -> list[NotificationAction]: method image_pixmap (line 86) | def image_pixmap(self) -> NotificationImagePixmap: method image_file (line 90) | def image_file(self) -> str: method image_pixbuf (line 94) | def image_pixbuf(self) -> GdkPixbuf.Pixbuf | None: method serialized (line 110) | def serialized(self) -> dict: method __init__ (line 171) | def __init__(self, notification: Notification, cache_id: int, **kwargs): method remove_from_cache (line 178) | def remove_from_cache(self): class CachedNotifications (line 182) | class CachedNotifications(Notifications): method clear_all (line 186) | def clear_all(self) -> None: method cached_notification_added (line 191) | def cached_notification_added(self, notification: CachedNotification) ... method cached_notification_removed (line 196) | def cached_notification_removed(self, notification: CachedNotification... method cached_notifications (line 201) | def cached_notifications(self) -> List[CachedNotification]: method count (line 206) | def count(self) -> int: method dont_disturb (line 211) | def dont_disturb(self) -> bool: method set_dont_disturb (line 215) | def set_dont_disturb(self, value: bool): method __init__ (line 220) | def __init__(self, **kwargs): method load_cached_notifications (line 236) | def load_cached_notifications(self) -> dict[int, CachedNotification]: method cache_notifications (line 266) | def cache_notifications(self) -> None: method clear_all_cached_notifications (line 277) | def clear_all_cached_notifications(self): method on_notification_added (line 297) | def on_notification_added(self, service, notification_id: int) -> None: method remove_cached_notification (line 433) | def remove_cached_notification(self, notification_id: int): method toggle_dnd (line 461) | def toggle_dnd(self): FILE: services/modus.py class ModusService (line 12) | class ModusService(Service): method bluetooth_changed (line 14) | def bluetooth_changed(self, new_bluetooth: str) -> None: ... method volume_changed (line 17) | def volume_changed(self, new_volume: int) -> None: ... method wlan_changed (line 20) | def wlan_changed(self, new_wlan: str) -> None: ... method battery_changed (line 23) | def battery_changed(self, new_battery: str) -> None: ... method dock_apps_changed (line 26) | def dock_apps_changed(self, new_dock_apps: str) -> None: ... method dont_disturb_changed (line 29) | def dont_disturb_changed(self, value: bool) -> None: ... method current_active_app_name_changed (line 32) | def current_active_app_name_changed(self, value: str) -> None: ... method current_workspace_changed (line 35) | def current_workspace_changed(self, value: str) -> None: ... method music_changed (line 38) | def music_changed(self, value: str) -> None: ... method current_dropdown_changed (line 41) | def current_dropdown_changed(self, value: str) -> None: ... method dropdowns_hide_changed (line 44) | def dropdowns_hide_changed(self, value: bool) -> None: ... method dock_width_changed (line 47) | def dock_width_changed(self, value: int) -> None: ... method dock_height_changed (line 50) | def dock_height_changed(self, value: int) -> None: ... method dock_hidden_changed (line 53) | def dock_hidden_changed(self, value: bool) -> None: ... method show_notificationcenter_changed (line 56) | def show_notificationcenter_changed(self, value: bool) -> None: ... method notification_count_changed (line 59) | def notification_count_changed(self, value: int) -> None: ... method current_active_app_name (line 62) | def current_active_app_name(self) -> str: method current_workspace (line 66) | def current_workspace(self) -> str: method bluetooth (line 70) | def bluetooth(self) -> str: method wlan (line 74) | def wlan(self) -> str: method battery (line 78) | def battery(self) -> str: method volume (line 82) | def volume(self) -> int: method dock_apps (line 86) | def dock_apps(self) -> str: method dont_disturb (line 90) | def dont_disturb(self) -> bool: method music (line 94) | def music(self) -> str: method current_dropdown (line 98) | def current_dropdown(self) -> str: method dropdowns_hide (line 102) | def dropdowns_hide(self) -> bool: method dock_width (line 106) | def dock_width(self) -> int: method dock_height (line 110) | def dock_height(self) -> int: method dock_hidden (line 114) | def dock_hidden(self) -> bool: method show_notificationcenter (line 118) | def show_notificationcenter(self) -> bool: method current_active_app_name (line 122) | def current_active_app_name(self, value: str): method current_workspace (line 128) | def current_workspace(self, value: str): method volume (line 134) | def volume(self, value: int): method wlan (line 140) | def wlan(self, value: str): method battery (line 146) | def battery(self, value: str): method bluetooth (line 152) | def bluetooth(self, value: str): method dock_apps (line 158) | def dock_apps(self, value: str): method dont_disturb (line 164) | def dont_disturb(self, value: bool): method music (line 170) | def music(self, value: str): method current_dropdown (line 176) | def current_dropdown(self, value: str): method dropdowns_hide (line 182) | def dropdowns_hide(self, value: bool): method dock_width (line 188) | def dock_width(self, value: int): method dock_height (line 194) | def dock_height(self, value: int): method dock_hidden (line 200) | def dock_hidden(self, value: bool): method show_notificationcenter (line 206) | def show_notificationcenter(self, value: bool): method sc (line 211) | def sc(self, signal_name: str, callback: callable, def_value="..."): method __init__ (line 225) | def __init__(self): method _setup_workspace_monitoring (line 248) | def _setup_workspace_monitoring(self): method _setup_active_window_monitoring (line 269) | def _setup_active_window_monitoring(self): method _update_active_window (line 285) | def _update_active_window(self): method _on_workspace_changed (line 321) | def _on_workspace_changed(self, obj, signal): method remove_notification (line 329) | def remove_notification(self, id: int): method clear_all_notifications (line 333) | def clear_all_notifications(self): method get_cached_notifications (line 337) | def get_cached_notifications(self): method get_deserialized_with_ids (line 340) | def get_deserialized_with_ids(self): method notification_count (line 347) | def notification_count(self) -> int: method toggle_dnd (line 350) | def toggle_dnd(self): FILE: services/mpris.py class PlayerctlImportError (line 13) | class PlayerctlImportError(ImportError): method __init__ (line 14) | def __init__(self, *args): class MprisPlayer (line 28) | class MprisPlayer(Service): method exit (line 32) | def exit(self, value: bool) -> bool: ... method changed (line 35) | def changed(self) -> None: ... method __init__ (line 37) | def __init__( method update_status (line 61) | def update_status(self): method update_status_once (line 84) | def update_status_once(self): method notifier (line 93) | def notifier(self, name: str, args=None): method on_player_exit (line 101) | def on_player_exit(self, player): method toggle_shuffle (line 109) | def toggle_shuffle(self, *_): method play_pause (line 115) | def play_pause(self, *_): method next (line 119) | def next(self, *_): method previous (line 123) | def previous(self, *_): method player_name (line 129) | def player_name(self) -> int: method position (line 133) | def position(self) -> int: method position (line 137) | def position(self, new_pos: int): method metadata (line 141) | def metadata(self) -> dict: method arturl (line 145) | def arturl(self) -> str | None: method length (line 151) | def length(self) -> str | None: method artist (line 157) | def artist(self) -> str: method album (line 164) | def album(self) -> str: method title (line 168) | def title(self): method shuffle (line 172) | def shuffle(self) -> bool: method shuffle (line 176) | def shuffle(self, do_shuffle: bool): method playback_status (line 181) | def playback_status(self) -> str: method loop_status (line 190) | def loop_status(self) -> str: method loop_status (line 200) | def loop_status(self, status: str): method can_go_next (line 209) | def can_go_next(self) -> bool: method can_go_previous (line 213) | def can_go_previous(self) -> bool: method can_seek (line 217) | def can_seek(self) -> bool: method can_pause (line 221) | def can_pause(self) -> bool: method can_shuffle (line 225) | def can_shuffle(self) -> bool: method can_loop (line 233) | def can_loop(self) -> bool: class MprisPlayerManager (line 241) | class MprisPlayerManager(Service): method player_appeared (line 245) | def player_appeared(self, player: Playerctl.Player) -> Playerctl.Playe... method player_vanished (line 248) | def player_vanished(self, player_name: str) -> str: ... method __init__ (line 250) | def __init__( method destroy (line 272) | def destroy(self): method on_name_appeared (line 286) | def on_name_appeared(self, manager, player_name: Playerctl.PlayerName): method on_name_vanished (line 292) | def on_name_vanished(self, manager, player_name: Playerctl.PlayerName): method add_players (line 296) | def add_players(self): method players (line 302) | def players(self): FILE: services/network.py class NetworkClient (line 11) | class NetworkClient(Service): method wifi_device_added (line 15) | def wifi_device_added(self) -> None: ... method ethernet_device_added (line 18) | def ethernet_device_added(self) -> None: ... method wifi_device_removed (line 21) | def wifi_device_removed(self) -> None: ... method ethernet_device_removed (line 24) | def ethernet_device_removed(self) -> None: ... method changed (line 27) | def changed(self) -> None: ... method connections (line 30) | def connections(self) -> Optional[list]: method wifi_device (line 35) | def wifi_device(self) -> Optional[object]: method ethernet_device (line 40) | def ethernet_device(self) -> Optional[object]: method primary_connection (line 45) | def primary_connection(self) -> Optional[str]: method active_connection (line 50) | def active_connection(self) -> Optional[str]: method state (line 55) | def state(self) -> str: method connectivity (line 66) | def connectivity(self) -> str: method devices (line 77) | def devices(self) -> Optional[list]: method hostname (line 82) | def hostname(self) -> Optional[str]: method networking_enabled (line 87) | def networking_enabled(self) -> bool: method networking_enabled (line 94) | def networking_enabled(self, value: bool): method wireless_enabled (line 100) | def wireless_enabled(self) -> bool: method wireless_enabled (line 105) | def wireless_enabled(self, value: bool): method __init__ (line 110) | def __init__(self, **kwargs): method on_client_ready (line 122) | def on_client_ready(self, source, result): method do_get_raw_devices (line 163) | def do_get_raw_devices(self) -> list[NM.Device]: method on_device_added (line 170) | def on_device_added(self, device): method on_device_removed (line 182) | def on_device_removed(self, device): method toggle_network (line 193) | def toggle_network(self): method deactivate_connection (line 197) | def deactivate_connection(self, connection): method notifier (line 201) | def notifier(self, name): class AccessPoint (line 206) | class AccessPoint(Service): method changed (line 210) | def changed(self) -> None: ... method device (line 213) | def device(self) -> object: method strength (line 217) | def strength(self) -> int: method frequency (line 221) | def frequency(self) -> int: method bssid (line 225) | def bssid(self) -> str: method hw_address (line 229) | def hw_address(self) -> str: method ssid (line 233) | def ssid(self) -> str: method icon (line 238) | def icon(self) -> str: method requires_password (line 251) | def requires_password(self) -> bool: method is_active (line 268) | def is_active(self) -> bool: method __init__ (line 273) | def __init__(self, device: "Wifi", ap: NM.AccessPoint, **kwargs): method notifier (line 284) | def notifier(self, name: str, *args): class Wifi (line 290) | class Wifi(Service): method changed (line 294) | def changed(self) -> None: ... method ap_added (line 297) | def ap_added(self, ap: AccessPoint) -> None: ... method ap_removed (line 300) | def ap_removed(self, ap: AccessPoint) -> None: ... method client (line 303) | def client(self) -> NetworkClient: method wireless_enabled (line 308) | def wireless_enabled(self) -> bool: method wireless_enabled (line 313) | def wireless_enabled(self, value: bool): method access_points (line 317) | def access_points(self) -> list[AccessPoint]: method active_access_point (line 323) | def active_access_point(self) -> Optional[AccessPoint]: method __init__ (line 326) | def __init__(self, client: NetworkClient, device: NM.DeviceWifi, **kwa... method on_state_changed (line 354) | def on_state_changed(self, state): method do_get_access_points (line 357) | def do_get_access_points(self): method on_access_point_added (line 360) | def on_access_point_added(self, ap): method on_access_point_removed (line 374) | def on_access_point_removed(self, ap): method on_access_point_activated (line 387) | def on_access_point_activated(self): method disconnect_wifi (line 400) | def disconnect_wifi(self): method scan (line 406) | def scan(self): method toggle_wifi (line 416) | def toggle_wifi(self): method connect_to_wifi (line 420) | def connect_to_wifi(self, ap: AccessPoint, password: str = None, callb... method notifier (line 575) | def notifier(self, name: str, *args): class Ethernet (line 581) | class Ethernet(Service): method changed (line 585) | def changed(self) -> None: ... method enabled (line 588) | def enabled(self) -> bool: ... method speed (line 591) | def speed(self) -> str: method state (line 596) | def state(self) -> str: method internet (line 602) | def internet(self) -> str: method iface (line 612) | def iface(self) -> str: method icon_name (line 616) | def icon_name(self) -> str: method __init__ (line 624) | def __init__(self, client: NM.Client, device: NM.DeviceEthernet, **kwa... method on_network_state_changed (line 636) | def on_network_state_changed(self): method update_active_connection (line 644) | def update_active_connection(self): method get_network_stats (line 653) | def get_network_stats(self): FILE: services/todo.py class TodoService (line 14) | class TodoService(Service): method __init__ (line 17) | def __init__(self): method add_callback (line 24) | def add_callback(self, callback): method remove_callback (line 28) | def remove_callback(self, callback): method _notify_callbacks (line 33) | def _notify_callbacks(self, event_type, data=None): method _get_todos_file_path (line 41) | def _get_todos_file_path(self): method _load_todos (line 47) | def _load_todos(self): method _save_todos (line 59) | def _save_todos(self): method todos (line 68) | def todos(self): method add_todo (line 72) | def add_todo(self, text: str, priority: str = "medium") -> dict: method delete_todo (line 88) | def delete_todo(self, todo_id: str) -> bool: method toggle_todo (line 99) | def toggle_todo(self, todo_id: str) -> bool: method edit_todo (line 111) | def edit_todo(self, todo_id: str, new_text: str) -> bool: method set_priority (line 123) | def set_priority(self, todo_id: str, priority: str) -> bool: method get_todo (line 138) | def get_todo(self, todo_id: str) -> dict | None: method clear_completed (line 145) | def clear_completed(self): method get_stats (line 153) | def get_stats(self) -> dict: FILE: utils/animator.py class Animator (line 8) | class Animator(Service): method finished (line 10) | def finished(self) -> None: ... method bezier_curve (line 13) | def bezier_curve(self) -> tuple[float, float, float, float]: method bezier_curve (line 17) | def bezier_curve(self, value: tuple[float, float, float, float]): method value (line 22) | def value(self): method value (line 26) | def value(self, value: float): method max_value (line 31) | def max_value(self): method max_value (line 35) | def max_value(self, value: float): method min_value (line 40) | def min_value(self): method min_value (line 44) | def min_value(self, value: float): method playing (line 49) | def playing(self): method playing (line 53) | def playing(self, value: bool): method repeat (line 58) | def repeat(self): method repeat (line 62) | def repeat(self, value: bool): method __init__ (line 66) | def __init__( method do_get_time_now (line 97) | def do_get_time_now(self): method do_lerp (line 100) | def do_lerp(self, start: float, end: float, time: float) -> float: method do_interpolate_cubic_bezier (line 103) | def do_interpolate_cubic_bezier(self, time: float) -> float: method do_ease (line 112) | def do_ease(self, time: float) -> float: method do_update_value (line 117) | def do_update_value(self, delta_time: float): method do_handle_tick (line 140) | def do_handle_tick(self, *_): method do_remove_tick_handlers (line 145) | def do_remove_tick_handlers(self): method play (line 154) | def play(self): method pause (line 171) | def pause(self): method stop (line 175) | def stop(self): FILE: utils/app_name_resolver.py class AppName (line 5) | class AppName: method __init__ (line 6) | def __init__(self, path="/usr/share/applications"): method get_app_name (line 10) | def get_app_name(self, wmclass, format_=False): method get_app_exec (line 28) | def get_app_exec(self, wmclass, format_=False): method get_desktop_file (line 46) | def get_desktop_file(self, wmclass): method format_app_name (line 53) | def format_app_name(self, title, wmclass, update=False): function format_window (line 80) | def format_window(title, wmclass): FILE: utils/conversion.py class CurrencyCache (line 9) | class CurrencyCache: method __init__ (line 12) | def __init__(self): method get_rate (line 23) | def get_rate(self, from_code: str, to_code: str) -> Optional[Tuple[flo... method _fetch_rates_background (line 78) | def _fetch_rates_background(self, from_code: str): method cleanup (line 103) | def cleanup(self): class Units (line 115) | class Units: method __init__ (line 116) | def __init__(self): class Conversion (line 423) | class Conversion: method __init__ (line 424) | def __init__(self): method convert (line 428) | def convert(self, value: float, from_type: str, to_type: str): method _convert_currency_fast (line 498) | def _convert_currency_fast( method _convert_currency_via_floatrates (line 511) | def _convert_currency_via_floatrates( method parse_input_and_convert (line 541) | def parse_input_and_convert(self, input: str): method clean_type (line 579) | def clean_type(self, type: str) -> str: method cleanup (line 596) | def cleanup(self): method get_currency_cache_info (line 600) | def get_currency_cache_info( FILE: utils/functions.py function thread (line 12) | def thread(target, *args, **kwargs) -> threading.Thread: function run_in_thread (line 22) | def run_in_thread(func): function write_json_file (line 34) | def write_json_file(data: Dict, path: str): function read_json_file (line 42) | def read_json_file(file_path: str) -> Optional[List]: function get_wifi_icon_for_strength (line 55) | def get_wifi_icon_for_strength(strength: int) -> str: function get_wifi_connecting_icon (line 86) | def get_wifi_connecting_icon() -> str: function is_special_workspace_id (line 104) | def is_special_workspace_id(ws_id) -> bool: function is_special_workspace (line 118) | def is_special_workspace(client: dict) -> bool: function escape_markup_text (line 139) | def escape_markup_text(text: str) -> str: FILE: utils/icon_resolver.py class IconResolver (line 18) | class IconResolver: method __init__ (line 19) | def __init__( method get_icon_name (line 34) | def get_icon_name(self, app_id: str): method get_icon_pixbuf (line 44) | def get_icon_pixbuf(self, app_id: str, size: int = 16): method _store_new_icon (line 65) | def _store_new_icon(self, app_id: str, icon: str): method _get_icon_from_desktop_file (line 70) | def _get_icon_from_desktop_file(self, desktop_file_path: str): method _get_desktop_file (line 78) | def _get_desktop_file(self, app_id: str) -> str | None: method _compositor_find_icon (line 95) | def _compositor_find_icon(self, app_id: str): FILE: utils/inhibit.py class GlobalRegistry (line 23) | class GlobalRegistry: function parse_duration (line 28) | def parse_duration(duration_str: str) -> int: function kill_existing_inhibit_processes (line 49) | def kill_existing_inhibit_processes(): function handle_registry_global (line 82) | def handle_registry_global( function main (line 96) | def main() -> None: FILE: utils/monitors.py function ttl_lru_cache (line 12) | def ttl_lru_cache(seconds_to_live: int, maxsize: int = 128): class HyprlandWithMonitors (line 25) | class HyprlandWithMonitors(Hyprland): method get_default (line 31) | def get_default(): method __init__ (line 37) | def __init__(self, commands_only: bool = False, **kwargs): method get_all_monitors (line 42) | def get_all_monitors(self) -> Dict: method get_gdk_monitor_id_from_name (line 46) | def get_gdk_monitor_id_from_name(self, plug_name: str) -> int | None: method get_gdk_monitor_id (line 52) | def get_gdk_monitor_id(self, hyprland_id: int) -> int | None: method get_current_gdk_monitor_id (line 58) | def get_current_gdk_monitor_id(self) -> int | None: FILE: utils/occlusion.py function get_current_workspace (line 7) | def get_current_workspace(): function get_screen_dimensions (line 26) | def get_screen_dimensions(): function check_occlusion (line 62) | def check_occlusion(occlusion_region, workspace=None): FILE: widgets/circle_image.py class CircleImage (line 13) | class CircleImage(Gtk.DrawingArea, Widget): method angle (line 17) | def angle(self) -> int: method angle (line 21) | def angle(self, value: int): method __init__ (line 25) | def __init__( method _process_image (line 76) | def _process_image(self, pixbuf: GdkPixbuf.Pixbuf) -> GdkPixbuf.Pixbuf: method on_draw (line 92) | def on_draw(self, widget: "CircleImage", ctx: cairo.Context): method set_image_from_file (line 106) | def set_image_from_file(self, new_image_file: str): method set_image_from_pixbuf (line 114) | def set_image_from_pixbuf(self, pixbuf: GdkPixbuf.Pixbuf): method set_image_size (line 121) | def set_image_size(self, size: int): FILE: widgets/custom_image.py class CustomImage (line 10) | class CustomImage(Image): method do_render_rectangle (line 11) | def do_render_rectangle( method do_draw (line 25) | def do_draw(self, cr: cairo.Context): FILE: widgets/customrevealer.py class AnimationManager (line 10) | class AnimationManager: method get_instance (line 17) | def get_instance(cls): method add_widget (line 22) | def add_widget(self, widget): method remove_widget (line 29) | def remove_widget(self, widget): method _animate_all (line 38) | def _animate_all(self): method get_active_widget_count (line 67) | def get_active_widget_count(self): method _get_optimal_interval (line 71) | def _get_optimal_interval(self): method _start_timer (line 76) | def _start_timer(self): method _adjust_frame_rate (line 80) | def _adjust_frame_rate(self): class MacOSEasing (line 85) | class MacOSEasing: method ease_out_expo (line 89) | def ease_out_expo(t): method ease_in_out_quart (line 94) | def ease_in_out_quart(t): method ease_out_back (line 99) | def ease_out_back(t): method ease_out_cubic_bezier (line 106) | def ease_out_cubic_bezier(t): method ease_in_cubic (line 112) | def ease_in_cubic(t): method ease_out_quint (line 117) | def ease_out_quint(t): class SlideRevealer (line 122) | class SlideRevealer(Gtk.Overlay): method __init__ (line 123) | def __init__(self, child: Gtk.Widget, direction="right", duration=350,... method _on_size_allocate (line 152) | def _on_size_allocate(self, _widget, allocation): method set_reveal_child (line 161) | def set_reveal_child(self, reveal: bool): method reveal (line 167) | def reveal(self): method hide (line 182) | def hide(self): method _start_animation (line 188) | def _start_animation(self, show: bool): method _calculate_position (line 217) | def _calculate_position(self): method _apply_position (line 243) | def _apply_position(self): method _get_container_for_redraw (line 253) | def _get_container_for_redraw(self): method _get_dimensions (line 256) | def _get_dimensions(self): method _get_offscreen_pos_cached (line 263) | def _get_offscreen_pos_cached(self): method _get_position_at_progress_cached (line 275) | def _get_position_at_progress_cached(self, progress): method set_slide_direction (line 299) | def set_slide_direction(self, direction): method is_revealed (line 302) | def is_revealed(self): method is_animating (line 305) | def is_animating(self): method get_child_revealed (line 308) | def get_child_revealed(self): method stop_animation (line 311) | def stop_animation(self): method destroy (line 318) | def destroy(self): FILE: widgets/dropdown.py function dropdown_divider (line 10) | def dropdown_divider(comment): class ModusDropdown (line 20) | class ModusDropdown(PopupWindow): method __init__ (line 21) | def __init__(self, dropdown_children=None, dropdown_id=None, **kwargs): method toggle_dropdown (line 57) | def toggle_dropdown(self, button, parent=None): method _init_mousecapture (line 61) | def _init_mousecapture(self, mousecapture): method hide_dropdown (line 65) | def hide_dropdown(self, widget, event): method hide_via_mousecapture (line 71) | def hide_via_mousecapture(self): method _set_mousecapture (line 76) | def _set_mousecapture(self, visible: bool) -> None: method on_cursor_enter (line 84) | def on_cursor_enter(self, *_): method on_cursor_leave (line 87) | def on_cursor_leave(self, *_): FILE: widgets/mousecapture.py class MouseCapture (line 12) | class MouseCapture(Window): method __init__ (line 15) | def __init__(self, layer: str, child_window: Window, **kwargs): method on_draw (line 55) | def on_draw(self, _widget, cr): method on_overlay_click (line 62) | def on_overlay_click(self, _widget, event): method show_child_window (line 98) | def show_child_window(self, widget: Widget = None, event: Any = None) ... method hide_child_window (line 101) | def hide_child_window(self, widget: Widget = None, event: Any = None) ... method set_child_window_visible (line 104) | def set_child_window_visible(self, visible: bool) -> None: method toggle_mousecapture (line 115) | def toggle_mousecapture(self, *_) -> None: class DropDownMouseCapture (line 122) | class DropDownMouseCapture(MouseCapture): method __init__ (line 125) | def __init__(self, *args, **kwargs): method hide_child_window (line 129) | def hide_child_window(self, widget: Widget = None, event: Any = None) ... method dropdowns_hide_changed (line 137) | def dropdowns_hide_changed(self, widget: Widget = None, event: Any = N... FILE: widgets/popup_window.py class PopupWindow (line 11) | class PopupWindow(WaylandWindow): method __init__ (line 14) | def __init__( method get_coords_for_widget (line 34) | def get_coords_for_widget(self, widget: Gtk.Widget) -> tuple[int, int]: method set_pointing_to (line 44) | def set_pointing_to(self, widget: Gtk.Widget | None): method do_update_handlers (line 51) | def do_update_handlers(self, *_): method do_handle_size_allocate (line 68) | def do_handle_size_allocate(self, *_): method do_calculate_edges (line 71) | def do_calculate_edges(self): method do_reposition (line 104) | def do_reposition(self, move_axe: str): FILE: widgets/wayland.py class WaylandWindowExclusivity (line 26) | class WaylandWindowExclusivity(Enum): class Layer (line 32) | class Layer(GObject.GEnum): class KeyboardMode (line 40) | class KeyboardMode(GObject.GEnum): class Edge (line 47) | class Edge(GObject.GEnum): class WaylandWindow (line 55) | class WaylandWindow(Window): method layer (line 61) | def layer(self) -> Layer: # type: ignore method layer (line 65) | def layer( method monitor (line 73) | def monitor(self) -> int: method monitor (line 83) | def monitor(self, monitor: int | Gdk.Monitor) -> bool: method exclusivity (line 94) | def exclusivity(self) -> WaylandWindowExclusivity: method exclusivity (line 98) | def exclusivity( method pass_through (line 114) | def pass_through(self) -> bool: method pass_through (line 118) | def pass_through(self, pass_through: bool = False): method keyboard_mode (line 130) | def keyboard_mode(self) -> KeyboardMode: method keyboard_mode (line 134) | def keyboard_mode( method anchor (line 152) | def anchor(self): method anchor (line 165) | def anchor(self, value: str | Iterable[Edge]) -> None: method margin (line 189) | def margin(self) -> tuple[int, ...]: method margin (line 201) | def margin(self, value: str | Iterable[int]) -> None: method keyboard_mode (line 207) | def keyboard_mode(self): method keyboard_mode (line 214) | def keyboard_mode( method __init__ (line 227) | def __init__( method steal_input (line 306) | def steal_input(self) -> None: method return_input (line 309) | def return_input(self) -> None: method show (line 313) | def show(self) -> None: method show_all (line 317) | def show_all(self) -> None: method do_handle_post_show_request (line 321) | def do_handle_post_show_request(self) -> None: method extract_anchor_values (line 330) | def extract_anchor_values(string: str) -> tuple[str, ...]: method extract_edges_from_string (line 345) | def extract_edges_from_string(string: str) -> dict["Edge", bool]: method extract_margin (line 355) | def extract_margin(input: str | Iterable[int]) -> dict["Edge", int]: FILE: widgets/wifi_password_dialog.py class WiFiPasswordDialog (line 17) | class WiFiPasswordDialog(Window): method __init__ (line 18) | def __init__( method _create_dialog_content (line 49) | def _create_dialog_content(self): method _on_password_changed (line 165) | def _on_password_changed(self, entry): method _update_join_button_state (line 168) | def _update_join_button_state(self): method _on_show_password_clicked (line 179) | def _on_show_password_clicked(self, *args): method _on_key_press (line 188) | def _on_key_press(self, widget, event): method _on_visibility_changed (line 200) | def _on_visibility_changed(self, widget, *args): method _on_cancel_clicked (line 205) | def _on_cancel_clicked(self, *args): method _on_join_clicked (line 212) | def _on_join_clicked(self, *args): method _connection_timeout (line 233) | def _connection_timeout(self): method show_dialog (line 240) | def show_dialog(self): method show_error (line 260) | def show_error(self, message="Incorrect password. Please try again."): method _focus_and_select_password (line 278) | def _focus_and_select_password(self): method get_password (line 286) | def get_password(self): method destroy_dialog (line 289) | def destroy_dialog(self):