aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/frame.c53
1 files changed, 52 insertions, 1 deletions
diff --git a/src/frame.c b/src/frame.c
index c9ebce1f6f4..ea438e75792 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1751,7 +1751,7 @@ DEFUN ("set-frame-size", Fset_frame_size, Sset_frame_size, 3, 3, 0,
1751 1751
1752 return Qnil; 1752 return Qnil;
1753} 1753}
1754 1754
1755DEFUN ("frame-height", Fframe_height, Sframe_height, 0, 1, 0, 1755DEFUN ("frame-height", Fframe_height, Sframe_height, 0, 1, 0,
1756 "Return number of lines available for display on FRAME.\n\ 1756 "Return number of lines available for display on FRAME.\n\
1757If FRAME is omitted, describe the currently selected frame.") 1757If FRAME is omitted, describe the currently selected frame.")
@@ -1851,6 +1851,55 @@ DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0,
1851{ 1851{
1852 return Fcons (Qnil, Fcons (Qnil, Qnil)); 1852 return Fcons (Qnil, Fcons (Qnil, Qnil));
1853} 1853}
1854
1855DEFUN ("frame-parameters", Fframe_parameters, Sframe_parameters, 0, 1, 0,
1856 "Return the parameters-alist of frame FRAME.\n\
1857It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.\n\
1858The meaningful PARMs depend on the kind of frame.\n\
1859If FRAME is omitted, return information on the currently selected frame.")
1860 (frame)
1861 Lisp_Object frame;
1862{
1863 Lisp_Object alist;
1864 struct frame *f;
1865
1866 if (EQ (frame, Qnil))
1867 f = selected_frame;
1868 else
1869 {
1870 CHECK_FRAME (frame, 0);
1871 f = XFRAME (frame);
1872 }
1873
1874 if (f->display.nothing == 0)
1875 return Qnil;
1876
1877 alist = Fcopy_alist (f->param_alist);
1878 store_in_alist (&alist, Qname, f->name);
1879 store_in_alist (&alist, Qheight, make_number (f->height));
1880 store_in_alist (&alist, Qwidth, make_number (f->width));
1881 store_in_alist (&alist, Qmodeline, (f->wants_modeline ? Qt : Qnil));
1882 store_in_alist (&alist, Qminibuffer,
1883 (! FRAME_HAS_MINIBUF_P (f) ? Qnil
1884 : (FRAME_MINIBUF_ONLY_P (f) ? Qonly
1885 : FRAME_MINIBUF_WINDOW (f))));
1886 store_in_alist (&alist, Qunsplittable, (f->no_split ? Qt : Qnil));
1887 store_in_alist (&alist, Qmenu_bar_lines, (FRAME_MENU_BAR_LINES (f)));
1888
1889 return alist;
1890}
1891
1892DEFUN ("modify-frame-parameters", Fmodify_frame_parameters,
1893 Smodify_frame_parameters, 2, 2, 0,
1894 "Modify the parameters of frame FRAME according to ALIST.\n\
1895ALIST is an alist of parameters to change and their new values.\n\
1896Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol.\n\
1897The meaningful PARMs depend on the kind of frame; undefined PARMs are ignored.")
1898 (frame, alist)
1899 Lisp_Object frame, alist;
1900{
1901 return Qnil;
1902}
1854 1903
1855syms_of_frame () 1904syms_of_frame ()
1856{ 1905{
@@ -1874,6 +1923,8 @@ syms_of_frame ()
1874 defsubr (&Sframe_width); 1923 defsubr (&Sframe_width);
1875 Ffset (intern ("screen-width"), intern ("frame-width")); 1924 Ffset (intern ("screen-width"), intern ("frame-width"));
1876 defsubr (&Smouse_position); 1925 defsubr (&Smouse_position);
1926 defsubr (&Sframe_parameters);
1927 defsubr (&Smodify_frame_parameters);
1877} 1928}
1878 1929
1879keys_of_frame () 1930keys_of_frame ()