comparison src/frame.c @ 108:360340f9fd5f r20-1b6

Import from CVS: tag r20-1b6
author cvs
date Mon, 13 Aug 2007 09:18:39 +0200
parents 0d2f883870bc
children 1856695b1fa9
comparison
equal deleted inserted replaced
107:523141596bda 108:360340f9fd5f
100 100
101 Lisp_Object Vdefault_frame_name; 101 Lisp_Object Vdefault_frame_name;
102 Lisp_Object Vdefault_frame_plist; 102 Lisp_Object Vdefault_frame_plist;
103 103
104 Lisp_Object Vframe_icon_glyph; 104 Lisp_Object Vframe_icon_glyph;
105
106 Lisp_Object Qhidden;
105 107
106 Lisp_Object Qvisible, Qiconic, Qinvisible, Qvisible_iconic, Qinvisible_iconic; 108 Lisp_Object Qvisible, Qiconic, Qinvisible, Qvisible_iconic, Qinvisible_iconic;
107 Lisp_Object Qnomini, Qvisible_nomini, Qiconic_nomini, Qinvisible_nomini; 109 Lisp_Object Qnomini, Qvisible_nomini, Qiconic_nomini, Qinvisible_nomini;
108 Lisp_Object Qvisible_iconic_nomini, Qinvisible_iconic_nomini; 110 Lisp_Object Qvisible_iconic_nomini, Qinvisible_iconic_nomini;
109 111
1864 } 1866 }
1865 1867
1866 /* FSF returns 'icon for iconized frames. What a crock! */ 1868 /* FSF returns 'icon for iconized frames. What a crock! */
1867 1869
1868 DEFUN ("frame-visible-p", Fframe_visible_p, 0, 1, 0, /* 1870 DEFUN ("frame-visible-p", Fframe_visible_p, 0, 1, 0, /*
1869 Return t if FRAME is now \"visible\" (actually in use for display). 1871 Return non NIL if FRAME is now \"visible\" (actually in use for display).
1870 A frame that is not visible is not updated, and, if it works through a 1872 A frame that is not visible is not updated, and, if it works through a
1871 window system, may not show at all. 1873 window system, may not show at all.
1874 N.B. Under X \"visible\" means Mapped. It the window is mapped but not
1875 actually visible on screen then frame_visible returns 'hidden.
1872 */ 1876 */
1873 (frame)) 1877 (frame))
1874 { 1878 {
1879 int visible;
1880
1875 struct frame *f = decode_frame (frame); 1881 struct frame *f = decode_frame (frame);
1876 return (FRAMEMETH_OR_GIVEN (f, frame_visible_p, (f), f->visible) 1882 visible = FRAMEMETH_OR_GIVEN (f, frame_visible_p, (f), f->visible);
1877 ? Qt : Qnil); 1883 return ( visible ? ( visible > 0 ? Qt : Qhidden )
1884 : Qnil);
1878 } 1885 }
1879 1886
1880 DEFUN ("frame-totally-visible-p", Fframe_totally_visible_p, 0, 1, 0, /* 1887 DEFUN ("frame-totally-visible-p", Fframe_totally_visible_p, 0, 1, 0, /*
1881 Return T if frame is not obscured by any other X windows, NIL otherwise. 1888 Return T if frame is not obscured by any other X windows, NIL otherwise.
1882 Always returns t for tty frames. 1889 Always returns t for tty frames.
1905 } 1912 }
1906 1913
1907 DEFUN ("visible-frame-list", Fvisible_frame_list, 0, 1, 0, /* 1914 DEFUN ("visible-frame-list", Fvisible_frame_list, 0, 1, 0, /*
1908 Return a list of all frames now \"visible\" (being updated). 1915 Return a list of all frames now \"visible\" (being updated).
1909 If DEVICE is specified only frames on that device will be returned. 1916 If DEVICE is specified only frames on that device will be returned.
1917 Note that under virtual window managers not all these frame are necessarily
1918 really updated.
1910 */ 1919 */
1911 (device)) 1920 (device))
1912 { 1921 {
1913 Lisp_Object devcons, concons; 1922 Lisp_Object devcons, concons;
1914 struct frame *f; 1923 struct frame *f;
1926 1935
1927 DEVICE_FRAME_LOOP (frmcons, XDEVICE (XCAR (devcons))) 1936 DEVICE_FRAME_LOOP (frmcons, XDEVICE (XCAR (devcons)))
1928 { 1937 {
1929 Lisp_Object frame = XCAR (frmcons); 1938 Lisp_Object frame = XCAR (frmcons);
1930 f = XFRAME (frame); 1939 f = XFRAME (frame);
1931 if (f->visible) 1940 if (FRAME_VISIBLE_P(f))
1932 value = Fcons (frame, value); 1941 value = Fcons (frame, value);
1933 } 1942 }
1934 } 1943 }
1935 } 1944 }
1936 1945
2833 defsymbol (&Qmake_initial_minibuffer_frame, "make-initial-minibuffer-frame"); 2842 defsymbol (&Qmake_initial_minibuffer_frame, "make-initial-minibuffer-frame");
2834 2843
2835 defsymbol (&Qframe_title_format, "frame-title-format"); 2844 defsymbol (&Qframe_title_format, "frame-title-format");
2836 defsymbol (&Qframe_icon_title_format, "frame-icon-title-format"); 2845 defsymbol (&Qframe_icon_title_format, "frame-icon-title-format");
2837 2846
2847 defsymbol (&Qhidden, "hidden");
2838 defsymbol (&Qvisible, "visible"); 2848 defsymbol (&Qvisible, "visible");
2839 defsymbol (&Qiconic, "iconic"); 2849 defsymbol (&Qiconic, "iconic");
2840 defsymbol (&Qinvisible, "invisible"); 2850 defsymbol (&Qinvisible, "invisible");
2841 defsymbol (&Qvisible_iconic, "visible-iconic"); 2851 defsymbol (&Qvisible_iconic, "visible-iconic");
2842 defsymbol (&Qinvisible_iconic, "invisible-iconic"); 2852 defsymbol (&Qinvisible_iconic, "invisible-iconic");