make it possible to disable VisibilityTracker's use of WM visibility
[ardour.git] / libs / gtkmm2ext / gtkmm2ext / visibility_tracker.h
index 1256448efd89e7090bbdd56831ca68485b0547b5..8860aba44192cb664e96a30b065bd2b6af6f8d5b 100644 (file)
 
 #include <gdk/gdkevents.h>
 
+#include "gtkmm2ext/visibility.h"
+
 namespace GTK {
        class Window;
 }
 
 namespace Gtkmm2ext {
 
-class VisibilityTracker : public virtual sigc::trackable {
+class LIBGTKMM2EXT_API VisibilityTracker : public virtual sigc::trackable {
   public:
     VisibilityTracker (Gtk::Window&);
     virtual ~VisibilityTracker() {}
-    
+
+    static void set_use_window_manager_visibility (bool);
+    static bool use_window_manager_visibility() { return _use_window_manager_visibility; }
     void cycle_visibility ();
 
     bool fully_visible() const;
@@ -44,9 +48,12 @@ class VisibilityTracker : public virtual sigc::trackable {
   private:
     Gtk::Window& _window;
     GdkVisibilityState _visibility;
+
+    static bool _use_window_manager_visibility;
+
     bool handle_visibility_notify_event (GdkEventVisibility*);
 };
 
 }
 
-#endif /* __libgtkmm2ext_visibility_tracker__ */ 
+#endif /* __libgtkmm2ext_visibility_tracker__ */