200
200
#ifdef HAVE_XRANDR
201
GtkWidget *pResSubMenu = CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (D_("Change screen resolution"), CD_APPLET_MY_MENU, GTK_STOCK_FULLSCREEN);
207
XRRScreenConfiguration *conf;
209
Rotation original_rotation;
210
SizeID original_size_id;
212
dpy = gdk_x11_get_default_xdisplay ();
213
root = RootWindow(dpy, 0);
215
conf = XRRGetScreenInfo(dpy, root); // config courante.
201
if (cairo_dock_xrandr_is_available ())
218
original_rate = XRRConfigCurrentRate(conf);
219
original_size_id = XRRConfigCurrentConfiguration(conf, &original_rotation);
221
// resolutions possibles.
223
XRRScreenSize *xrrs = XRRSizes(dpy, 0, &num_sizes);
225
GString *pResString = g_string_new ("");
227
for (i = 0; i < num_sizes; i ++)
203
GtkWidget *pResSubMenu = CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (D_("Change screen resolution"), CD_APPLET_MY_MENU, GTK_STOCK_FULLSCREEN);
209
XRRScreenConfiguration *conf;
211
Rotation original_rotation;
212
SizeID original_size_id;
214
dpy = gdk_x11_get_default_xdisplay ();
215
root = RootWindow(dpy, 0);
217
conf = XRRGetScreenInfo(dpy, root); // config courante.
229
g_string_printf (pResString, "%dx%d", xrrs[i].width, xrrs[i].height);
230
if (i == original_size_id)
231
CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pResString->str, GTK_STOCK_APPLY, _on_select_resolution, pResSubMenu, GINT_TO_POINTER (i));
233
CD_APPLET_ADD_IN_MENU_WITH_DATA (pResString->str, _on_select_resolution, pResSubMenu, GINT_TO_POINTER (i));
236
rates = XRRRates(dpy, 0, i, &num_rates);
237
for(int j = 0; j < num_rates; j ++) {
238
possible_frequencies[i][j] = rates[j];
239
printf("%4i ", rates[j]); }*/
220
original_rate = XRRConfigCurrentRate(conf);
221
original_size_id = XRRConfigCurrentConfiguration(conf, &original_rotation);
223
// resolutions possibles.
225
XRRScreenSize *xrrs = XRRSizes(dpy, 0, &num_sizes);
227
GString *pResString = g_string_new ("");
229
for (i = 0; i < num_sizes; i ++)
231
g_string_printf (pResString, "%dx%d", xrrs[i].width, xrrs[i].height);
232
if (i == original_size_id)
233
CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (pResString->str, GTK_STOCK_APPLY, _on_select_resolution, pResSubMenu, GINT_TO_POINTER (i));
235
CD_APPLET_ADD_IN_MENU_WITH_DATA (pResString->str, _on_select_resolution, pResSubMenu, GINT_TO_POINTER (i));
238
rates = XRRRates(dpy, 0, i, &num_rates);
239
for(int j = 0; j < num_rates; j ++) {
240
possible_frequencies[i][j] = rates[j];
241
printf("%4i ", rates[j]); }*/
243
g_string_free (pResString, TRUE);
244
XRRFreeScreenConfigInfo (conf);
241
g_string_free (pResString, TRUE);
242
XRRFreeScreenConfigInfo (conf);
248
cd_warning ("Xrandr extension not available.");
245
250
CD_APPLET_ON_BUILD_MENU_END