Codebase list xapp / 495c7ea
Merge pull request #5 from JosephMcc/code-format formatting: Clean up code formatting Clement Lefebvre authored 7 years ago GitHub committed 7 years ago
2 changed file(s) with 88 addition(s) and 72 deletion(s). Raw diff Collapse all Expand all
1313
1414 struct _XAppDisplayPrivate
1515 {
16 int num_outputs;
17 gboolean blanked;
18 GtkWidget **windows;
16 int num_outputs;
17 gboolean blanked;
18 GtkWidget **windows;
1919 };
2020
2121 G_DEFINE_TYPE (XAppDisplay, xapp_display, G_TYPE_OBJECT);
2222
23 GtkWidget * create_blanking_window (GdkScreen *screen, int monitor);
23 GtkWidget *create_blanking_window (GdkScreen *screen,
24 int monitor);
2425
2526 static void
2627 xapp_display_init (XAppDisplay *self)
2728 {
28 self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, XAPP_TYPE_DISPLAY, XAppDisplayPrivate);
29 self->priv->num_outputs = 0;
30 self->priv->blanked = FALSE;
31 self->priv->windows = NULL;
29 self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, XAPP_TYPE_DISPLAY, XAppDisplayPrivate);
30 self->priv->num_outputs = 0;
31 self->priv->blanked = FALSE;
32 self->priv->windows = NULL;
3233 }
3334
3435 static void
3536 xapp_display_finalize (GObject *object)
3637 {
37 XAppDisplay *self = XAPP_DISPLAY (object);
38 XAppDisplay *self = XAPP_DISPLAY (object);
3839
39 if (self->priv->windows != NULL) {
40 xapp_display_unblank_monitors (XAPP_DISPLAY(self));
41 g_free (self->priv->windows);
42 }
40 if (self->priv->windows != NULL)
41 {
42 xapp_display_unblank_monitors (XAPP_DISPLAY(self));
43 g_free (self->priv->windows);
44 }
4345
44 G_OBJECT_CLASS (xapp_display_parent_class)->finalize (object);
46 G_OBJECT_CLASS (xapp_display_parent_class)->finalize (object);
4547 }
4648
4749 static void
4850 xapp_display_class_init (XAppDisplayClass *klass)
4951 {
50 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
52 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
5153
52 gobject_class->finalize = xapp_display_finalize;
54 gobject_class->finalize = xapp_display_finalize;
5355
54 g_type_class_add_private (gobject_class, sizeof (XAppDisplayPrivate));
56 g_type_class_add_private (gobject_class, sizeof (XAppDisplayPrivate));
5557 }
5658
5759 XAppDisplay *
5860 xapp_display_new (void)
5961 {
60 return g_object_new (XAPP_TYPE_DISPLAY, NULL);
62 return g_object_new (XAPP_TYPE_DISPLAY, NULL);
6163 }
6264
6365 GtkWidget *
64 create_blanking_window (GdkScreen *screen, int monitor)
66 create_blanking_window (GdkScreen *screen,
67 int monitor)
6568 {
66 GdkRectangle fullscreen;
67 gdk_screen_get_monitor_geometry(screen, monitor, &fullscreen);
68 GtkWidget *window = gtk_window_new (GTK_WINDOW_POPUP);
69 gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
70 gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
71 gtk_window_resize (GTK_WINDOW (window), fullscreen.width, fullscreen.height);
72 gtk_window_move (GTK_WINDOW (window), fullscreen.x, fullscreen.y);
73 gtk_widget_set_visible (window, TRUE);
74 GdkColor color;
75 color.red = 0x00C0;
76 color.green = 0x00DE;
77 color.blue = 0x00ED;
78 gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &color);
79 return window;
69 GdkRectangle fullscreen;
70 GtkWidget *window;
71 GdkColor color;
72
73 gdk_screen_get_monitor_geometry(screen, monitor, &fullscreen);
74
75 window = gtk_window_new (GTK_WINDOW_POPUP);
76 gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
77 gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
78 gtk_window_resize (GTK_WINDOW (window), fullscreen.width, fullscreen.height);
79 gtk_window_move (GTK_WINDOW (window), fullscreen.x, fullscreen.y);
80 gtk_widget_set_visible (window, TRUE);
81
82 color.red = 0x00C0;
83 color.green = 0x00DE;
84 color.blue = 0x00ED;
85 gtk_widget_modify_bg(window, GTK_STATE_NORMAL, &color);
86
87 return window;
8088 }
8189
8290 void
83 xapp_display_blank_other_monitors (XAppDisplay *self, GtkWindow *window)
91 xapp_display_blank_other_monitors (XAppDisplay *self,
92 GtkWindow *window)
8493 {
85 int i;
94 GdkScreen *screen;
95 int active_monitor;
8696
87 g_return_if_fail (XAPP_IS_DISPLAY (self));
97 g_return_if_fail (XAPP_IS_DISPLAY (self));
8898
89 if (self->priv->windows != NULL)
90 return;
99 if (self->priv->windows != NULL)
100 return;
91101
92 GdkScreen *screen = gtk_window_get_screen (window);
93 int active_monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET (window)));
94 self->priv->num_outputs = gdk_screen_get_n_monitors (screen);
95 self->priv->windows = g_new (GtkWidget *, self->priv->num_outputs);
102 screen = gtk_window_get_screen (window);
103 active_monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window(window));
104 self->priv->num_outputs = gdk_screen_get_n_monitors (screen);
105 self->priv->windows = g_new (GtkWidget *, self->priv->num_outputs);
96106
97 for (i = 0; i < self->priv->num_outputs; i++) {
98 if (i != active_monitor) {
99 self->priv->windows[i] = create_blanking_window (screen, i);
107 for (int i = 0; i < self->priv->num_outputs; i++)
108 {
109 if (i != active_monitor)
110 {
111 self->priv->windows[i] = create_blanking_window (screen, i);
112 }
113 else
114 {
115 // initialize at NULL so it gets properly skipped when windows get destroyed
116 self->priv->windows[i] = NULL;
117 }
100118 }
101 else {
102 // initialize at NULL so it gets properly skipped when windows get destroyed
103 self->priv->windows[i] = NULL;
104 }
105 }
106 self->priv->blanked = TRUE;
119
120 self->priv->blanked = TRUE;
107121 }
108122
109123 void
110124 xapp_display_unblank_monitors (XAppDisplay *self)
111125 {
112 int i;
113 g_return_if_fail (XAPP_IS_DISPLAY (self));
126 g_return_if_fail (XAPP_IS_DISPLAY (self));
114127
115 if (self->priv->windows == NULL)
116 return;
128 if (self->priv->windows == NULL)
129 return;
117130
118 for (i = 0; i < self->priv->num_outputs; i++) {
119 if (self->priv->windows[i] != NULL) {
120 gtk_widget_destroy (self->priv->windows[i]);
121 self->priv->windows[i] = NULL;
131 for (int i = 0; i < self->priv->num_outputs; i++)
132 {
133 if (self->priv->windows[i] != NULL)
134 {
135 gtk_widget_destroy (self->priv->windows[i]);
136 self->priv->windows[i] = NULL;
137 }
122138 }
123 }
124 g_free (self->priv->windows);
125 self->priv->windows = NULL;
126 self->priv->blanked = FALSE;
139 g_free (self->priv->windows);
140 self->priv->windows = NULL;
141 self->priv->blanked = FALSE;
127142 }
128143
129144 gboolean
130145 xapp_display_are_monitors_blanked (XAppDisplay *self)
131146 {
132 return self->priv->blanked;
147 return self->priv->blanked;
133148 }
2020
2121 struct _XAppDisplay
2222 {
23 GObject parent_object;
23 GObject parent_object;
2424
25 XAppDisplayPrivate *priv;
25 XAppDisplayPrivate *priv;
2626 };
2727
2828 struct _XAppDisplayClass
2929 {
30 GObjectClass parent_class;
30 GObjectClass parent_class;
3131 };
3232
33 GType xapp_display_get_type (void);
34 XAppDisplay *xapp_display_new (void);
35 void xapp_display_blank_other_monitors (XAppDisplay *self, GtkWindow *window);
36 void xapp_display_unblank_monitors (XAppDisplay *self);
37 gboolean xapp_display_are_monitors_blanked (XAppDisplay *self);
33 GType xapp_display_get_type (void);
34 XAppDisplay *xapp_display_new (void);
35 void xapp_display_blank_other_monitors (XAppDisplay *self,
36 GtkWindow *window);
37 void xapp_display_unblank_monitors (XAppDisplay *self);
38 gboolean xapp_display_are_monitors_blanked (XAppDisplay *self);
3839
3940 G_END_DECLS
4041