+void destroy_floating_window( ui::Window window ){
+ gtk_widget_destroy( GTK_WIDGET( window ) );
+}
+
+gint window_realize_remove_sysmenu( ui::Widget widget, gpointer data ){
+ gdk_window_set_decorations( gtk_widget_get_window(widget), (GdkWMDecoration)( GDK_DECOR_ALL | GDK_DECOR_MENU ) );
+ return FALSE;
+}
+
+gboolean persistent_floating_window_delete( ui::Window floating, GdkEvent *event, ui::Window main_window ){
+ gtk_widget_hide( GTK_WIDGET( floating ) );
+ return TRUE;
+}
+
+ui::Window create_persistent_floating_window( const char* title, ui::Window main_window ){
+ ui::Window window = ui::Window(GTK_WINDOW( create_floating_window( title, main_window ) ));
+
+ gtk_widget_set_events( GTK_WIDGET( window ), GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK );
+
+ connect_floating_window_delete_present( window, main_window );
+ window.connect( "delete_event", G_CALLBACK( persistent_floating_window_delete ), 0 );
+
+#if 0
+ if ( g_multimon_globals.m_bStartOnPrimMon && g_multimon_globals.m_bNoSysMenuPopups ) {
+ window.connect( "realize", G_CALLBACK( window_realize_remove_sysmenu ), 0 );
+ }
+#endif
+
+ return window;
+}
+
+gint window_realize_remove_minmax( ui::Widget widget, gpointer data ){
+ gdk_window_set_decorations( gtk_widget_get_window(widget), (GdkWMDecoration)( GDK_DECOR_ALL | GDK_DECOR_MINIMIZE | GDK_DECOR_MAXIMIZE ) );
+ return FALSE;
+}
+
+void window_remove_minmax( ui::Window window ){
+ window.connect( "realize", G_CALLBACK( window_realize_remove_minmax ), 0 );
+}
+
+
+ui::ScrolledWindow create_scrolled_window( ui::Policy hscrollbar_policy, ui::Policy vscrollbar_policy, int border ){
+ auto scr = ui::ScrolledWindow();
+ gtk_widget_show( GTK_WIDGET( scr ) );
+ gtk_scrolled_window_set_policy( scr, (GtkPolicyType) hscrollbar_policy, (GtkPolicyType) vscrollbar_policy );
+ gtk_scrolled_window_set_shadow_type( scr, GTK_SHADOW_IN );
+ gtk_container_set_border_width( GTK_CONTAINER( scr ), border );
+ return scr;
+}
+
+gboolean window_focus_in_clear_focus_widget(ui::Widget widget, GdkEventKey *event, gpointer data)