emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: x-display-pixel-width/height inconsistency


From: YAMAMOTO Mitsuharu
Subject: Re: x-display-pixel-width/height inconsistency
Date: Thu, 21 Mar 2013 13:22:06 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Thu, 21 Mar 2013 12:47:02 +0900, YAMAMOTO Mitsuharu <address@hidden> 
>>>>> said:

> Third, I guess distinguishing physical monitors on X11 requires the
> Xinerama extension or some help of window managers.  So such
> functionality seems to be at a different level from other
> x-display-* functions.

GDK might be an alternative choice when using GTK+.

> One may want to query not only the size of a particular physical
> monitor but also the position and the displayable area (i.e., except
> Panel, Dock, or Taskbar).  I think it would be better to provide the
> functions that are aware of physical monitors as a new group of
> them, rather than by breaking the existing argument convention of
> x-display-* functions.

And gdk_screen_*_monitor* could be a candidate of a design guide for
such a new group of functions.

  gint   gdk_screen_get_n_monitors           (GdkScreen *screen);
  gint   gdk_screen_get_primary_monitor      (GdkScreen *screen);
  void   gdk_screen_get_monitor_geometry     (GdkScreen *screen,
                                              gint monitor_num,
                                              GdkRectangle *dest);
  void   gdk_screen_get_monitor_workarea     (GdkScreen *screen,
                                              gint monitor_num,
                                              GdkRectangle *dest);
  gint   gdk_screen_get_monitor_at_point     (GdkScreen *screen,
                                              gint x,
                                              gint y);
  gint   gdk_screen_get_monitor_at_window    (GdkScreen *screen,
                                              GdkWindow *window);
  gint   gdk_screen_get_monitor_height_mm    (GdkScreen *screen,
                                              gint monitor_num);
  gint   gdk_screen_get_monitor_width_mm     (GdkScreen *screen,
                                              gint monitor_num);
  gchar *gdk_screen_get_monitor_plug_name    (GdkScreen *screen,
                                              gint monitor_num);

  https://developer.gnome.org/gdk3/3.6/GdkScreen.html

                                     YAMAMOTO Mitsuharu
                                address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]