endpoint WindowServer { greet() => (Gfx::IntRect screen_rect, Core::AnonymousBuffer theme_buffer) create_menubar() => (i32 menubar_id) destroy_menubar(i32 menubar_id) =| create_menu([UTF8] String menu_title) => (i32 menu_id) destroy_menu(i32 menu_id) =| add_menu_to_menubar(i32 menubar_id, i32 menu_id) =| add_menu_item( i32 menu_id, i32 identifier, i32 submenu_id, [UTF8] String text, bool enabled, bool checkable, bool checked, bool is_default, [UTF8] String shortcut, Gfx::ShareableBitmap icon, bool exclusive) =| add_menu_separator(i32 menu_id) =| update_menu_item(i32 menu_id, i32 identifier, i32 submenu_id, [UTF8] String text, bool enabled, bool checkable, bool checked, bool is_default, [UTF8] String shortcut) =| create_window( Gfx::IntRect rect, bool auto_position, bool has_alpha_channel, bool modal, bool minimizable, bool resizable, bool fullscreen, bool frameless, bool accessory, float opacity, float alpha_hit_threshold, Gfx::IntSize base_size, Gfx::IntSize size_increment, Gfx::IntSize minimum_size, Optional resize_aspect_ratio, i32 type, [UTF8] String title, i32 parent_window_id) => (i32 window_id) destroy_window(i32 window_id) => (Vector destroyed_window_ids) set_window_menubar(i32 window_id, i32 menubar_id) =| set_window_title(i32 window_id, [UTF8] String title) =| get_window_title(i32 window_id) => ([UTF8] String title) set_window_progress(i32 window_id, Optional progress) =| set_window_modified(i32 window_id, bool modified) =| is_window_modified(i32 window_id) => (bool modified) set_window_rect(i32 window_id, Gfx::IntRect rect) => (Gfx::IntRect rect) get_window_rect(i32 window_id) => (Gfx::IntRect rect) set_window_minimum_size(i32 window_id, Gfx::IntSize size) =| get_window_minimum_size(i32 window_id) => (Gfx::IntSize size) get_applet_rect_on_screen(i32 window_id) => (Gfx::IntRect rect) start_window_resize(i32 window_id) =| is_maximized(i32 window_id) => (bool maximized) invalidate_rect(i32 window_id, Vector rects, bool ignore_occlusion) =| did_finish_painting(i32 window_id, Vector rects) =| set_global_cursor_tracking(i32 window_id, bool enabled) => () set_window_opacity(i32 window_id, float opacity) =| set_window_alpha_hit_threshold(i32 window_id, float threshold) =| set_window_backing_store(i32 window_id, i32 bpp, i32 pitch, IPC::File anon_file, i32 serial, bool has_alpha_channel, Gfx::IntSize size, bool flush_immediately) => () set_window_has_alpha_channel(i32 window_id, bool has_alpha_channel) =| move_window_to_front(i32 window_id) =| set_fullscreen(i32 window_id, bool fullscreen) => () set_frameless(i32 window_id, bool frameless) => () popup_menu(i32 menu_id, Gfx::IntPoint screen_position) =| dismiss_menu(i32 menu_id) => () set_wallpaper(String path) =| set_background_color(String background_color) => () set_wallpaper_mode(String mode) => () set_resolution(Gfx::IntSize resolution, int scale_factor) => (bool success, Gfx::IntSize resolution, int scale_factor) set_window_icon_bitmap(i32 window_id, Gfx::ShareableBitmap icon) =| get_wallpaper() => (String path) set_window_cursor(i32 window_id, i32 cursor_type) =| set_window_custom_cursor(i32 window_id, Gfx::ShareableBitmap cursor) =| start_drag([UTF8] String text, HashMap mime_data, Gfx::ShareableBitmap drag_bitmap) => (bool started) set_system_theme(String theme_path, [UTF8] String theme_name) => (bool success) get_system_theme() => ([UTF8] String theme_name) refresh_system_theme() =| set_window_base_size_and_size_increment(i32 window_id, Gfx::IntSize base_size, Gfx::IntSize size_increment) =| set_window_resize_aspect_ratio(i32 window_id, Optional resize_aspect_ratio) =| enable_display_link() =| disable_display_link() =| get_global_cursor_position() => (Gfx::IntPoint position) set_mouse_acceleration(float factor) => () get_mouse_acceleration() => (float factor) set_scroll_step_size(u32 step_size) => () get_scroll_step_size() => (u32 step_size) get_screen_bitmap() => (Gfx::ShareableBitmap bitmap) pong() =| set_double_click_speed(int speed) => () get_double_click_speed() => (int speed) }