Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
dc6d9681
Commit
dc6d9681
authored
Jul 15, 1992
by
Jim Blandy
Browse files
*** empty log message ***
parent
e6dd9901
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
185 additions
and
154 deletions
+185
-154
lisp/abbrevlist.el
lisp/abbrevlist.el
+1
-1
lisp/buff-menu.el
lisp/buff-menu.el
+3
-3
lisp/calendar/appt.el
lisp/calendar/appt.el
+2
-2
lisp/frame.el
lisp/frame.el
+165
-147
src/frame.c
src/frame.c
+14
-1
No files found.
lisp/abbrevlist.el
View file @
dc6d9681
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
abbrev-table
)
abbrev-table
)
(
setq
abbrev-list
(
sort
abbrev-list
'string-lessp
))
(
setq
abbrev-list
(
sort
abbrev-list
'string-lessp
))
(
while
abbrev-list
(
while
abbrev-list
(
if
(
>
(
+
first-column
40
)
(
screen
-width
))
(
if
(
>
(
+
first-column
40
)
(
frame
-width
))
(
progn
(
progn
(
insert
"\n"
)
(
insert
"\n"
)
(
setq
first-column
0
)))
(
setq
first-column
0
)))
...
...
lisp/buff-menu.el
View file @
dc6d9681
...
@@ -61,7 +61,7 @@ Letters do not insert themselves; instead, they are commands.
...
@@ -61,7 +61,7 @@ Letters do not insert themselves; instead, they are commands.
\\[Buffer-menu-mark] -- mark buffer to be displayed.
\\[Buffer-menu-mark] -- mark buffer to be displayed.
\\[Buffer-menu-select] -- select buffer of line point is on.
\\[Buffer-menu-select] -- select buffer of line point is on.
Also show buffers marked with m in other windows.
Also show buffers marked with m in other windows.
\\[Buffer-menu-1-window] -- select that buffer in full-
screen
window.
\\[Buffer-menu-1-window] -- select that buffer in full-
frame
window.
\\[Buffer-menu-2-window] -- select that buffer in one window,
\\[Buffer-menu-2-window] -- select that buffer in one window,
together with buffer selected before this one in another window.
together with buffer selected before this one in another window.
\\[Buffer-menu-this-window] -- select that buffer in place of the buffer menu buffer.
\\[Buffer-menu-this-window] -- select that buffer in place of the buffer menu buffer.
...
@@ -239,7 +239,7 @@ You can mark buffers with the \\<Buffer-menu-mode-map>\\[Buffer-menu-mark] comma
...
@@ -239,7 +239,7 @@ You can mark buffers with the \\<Buffer-menu-mode-map>\\[Buffer-menu-mark] comma
(
insert
?\
))
(
insert
?\
))
(
or
(
eq
tem
buff
)
(
memq
tem
others
)
(
setq
others
(
cons
tem
others
))))
(
or
(
eq
tem
buff
)
(
memq
tem
others
)
(
setq
others
(
cons
tem
others
))))
(
setq
others
(
nreverse
others
)
(
setq
others
(
nreverse
others
)
tem
(
/
(
1-
(
screen
-height
))
(
1+
(
length
others
))))
tem
(
/
(
1-
(
frame
-height
))
(
1+
(
length
others
))))
(
delete-other-windows
)
(
delete-other-windows
)
(
switch-to-buffer
buff
)
(
switch-to-buffer
buff
)
(
or
(
eq
menu
buff
)
(
or
(
eq
menu
buff
)
...
@@ -260,7 +260,7 @@ You can mark buffers with the \\<Buffer-menu-mode-map>\\[Buffer-menu-mark] comma
...
@@ -260,7 +260,7 @@ You can mark buffers with the \\<Buffer-menu-mode-map>\\[Buffer-menu-mark] comma
(
error
"Specified buffer has no file"
))))
(
error
"Specified buffer has no file"
))))
(
defun
Buffer-menu-1-window
()
(
defun
Buffer-menu-1-window
()
"Select this line's buffer, alone, in full
screen
."
"Select this line's buffer, alone, in full
frame
."
(
interactive
)
(
interactive
)
(
switch-to-buffer
(
Buffer-menu-buffer
t
))
(
switch-to-buffer
(
Buffer-menu-buffer
t
))
(
bury-buffer
(
other-buffer
))
(
bury-buffer
(
other-buffer
))
...
...
lisp/calendar/appt.el
View file @
dc6d9681
...
@@ -291,7 +291,7 @@ Therefore, you need to have `(display-time)' in your .emacs file."
...
@@ -291,7 +291,7 @@ Therefore, you need to have `(display-time)' in your .emacs file."
;; Make sure we're not in the minibuffer
;; Make sure we're not in the minibuffer
;; before splitting the window.
;; before splitting the window.
(
if
(
=
(
screen
-height
)
(
if
(
=
(
frame
-height
)
(
nth
3
(
window-edges
(
selected-window
))))
(
nth
3
(
window-edges
(
selected-window
))))
nil
nil
(
appt-select-lowest-window
)
(
appt-select-lowest-window
)
...
@@ -313,7 +313,7 @@ Therefore, you need to have `(display-time)' in your .emacs file."
...
@@ -313,7 +313,7 @@ Therefore, you need to have `(display-time)' in your .emacs file."
(
beep
1
))
(
beep
1
))
(
kill-buffer
appt-disp-buf
))))
(
kill-buffer
appt-disp-buf
))))
;; Select the lowest window on the
screen
.
;; Select the lowest window on the
frame
.
(
defun
appt-select-lowest-window
()
(
defun
appt-select-lowest-window
()
(
setq
lowest-window
(
selected-window
))
(
setq
lowest-window
(
selected-window
))
(
let*
((
bottom-edge
(
car
(
cdr
(
cdr
(
cdr
(
window-edges
))))))
(
let*
((
bottom-edge
(
car
(
cdr
(
cdr
(
cdr
(
window-edges
))))))
...
...
lisp/frame.el
View file @
dc6d9681
;;;
screen
.el --- multi-
screen
management independent of window systems.
;;;
frame
.el --- multi-
frame
management independent of window systems.
;;;; Copyright (C) 1990, 1992 Free Software Foundation, Inc.
;;;; Copyright (C) 1990, 1992 Free Software Foundation, Inc.
...
@@ -18,292 +18,310 @@
...
@@ -18,292 +18,310 @@
;;; along with GNU Emacs; see the file COPYING. If not, write to
;;; along with GNU Emacs; see the file COPYING. If not, write to
;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
(
defvar
screen
-creation-function
nil
(
defvar
frame
-creation-function
nil
"Window-system dependent function to call to create a new
screen
.
"Window-system dependent function to call to create a new
frame
.
The window system startup file should set this to its
screen
creation
The window system startup file should set this to its
frame
creation
function, which should take an alist of parameters as its argument."
)
function, which should take an alist of parameters as its argument."
)
;;; The default value for this must ask for a minibuffer. There must
;;; The default value for this must ask for a minibuffer. There must
;;; always exist a
screen
with a minibuffer, and after we delete the
;;; always exist a
frame
with a minibuffer, and after we delete the
;;; terminal
screen
, this will be the only
screen
.
;;; terminal
frame
, this will be the only
frame
.
(
defvar
initial-
screen
-alist
'
((
minibuffer
.
nil
))
(
defvar
initial-
frame
-alist
'
((
minibuffer
.
nil
))
"Alist of values used when creating the initial emacs text
screen
.
"Alist of values used when creating the initial emacs text
frame
.
These may be set in your init file, like this:
These may be set in your init file, like this:
(setq initial-
screen
-alist '((top . 1) (left . 1) (width . 80) (height . 55)))
(setq initial-
frame
-alist '((top . 1) (left . 1) (width . 80) (height . 55)))
These supercede the values given in
screen
-default-alist."
)
These supercede the values given in
frame
-default-alist."
)
(
defvar
minibuffer-
screen
-alist
nil
(
defvar
minibuffer-
frame
-alist
nil
"Alist of values to apply to a minibuffer
screen
.
"Alist of values to apply to a minibuffer
frame
.
These may be set in your init file, like this:
These may be set in your init file, like this:
(setq minibuffer-
screen
-alist
(setq minibuffer-
frame
-alist
'((top . 1) (left . 1) (width . 80) (height . 1)))
'((top . 1) (left . 1) (width . 80) (height . 1)))
These supercede the values given in default-
screen
-alist."
)
These supercede the values given in default-
frame
-alist."
)
(
defvar
pop-up-
screen
-alist
nil
(
defvar
pop-up-
frame
-alist
nil
"Alist of values used when creating pop-up
screen
s.
"Alist of values used when creating pop-up
frame
s.
Pop-up
screen
s are used for completions, help, and the like.
Pop-up
frame
s are used for completions, help, and the like.
This variable can be set in your init file, like this:
This variable can be set in your init file, like this:
(setq pop-up-
screen
-alist '((width . 80) (height . 20)))
(setq pop-up-
frame
-alist '((width . 80) (height . 20)))
These supercede the values given in default-
screen
-alist."
)
These supercede the values given in default-
frame
-alist."
)
(
setq
pop-up-
screen
-function
(
setq
pop-up-
frame
-function
(
function
(
lambda
()
(
function
(
lambda
()
(
new-
screen
pop-up-
screen
-alist
))))
(
new-
frame
pop-up-
frame
-alist
))))
;;;; Arrangement of
screen
s at startup
;;;; Arrangement of
frame
s at startup
;;; 1) Load the window system startup file from the lisp library and read the
;;; 1) Load the window system startup file from the lisp library and read the
;;; high-priority arguments (-q and the like). The window system startup
;;; high-priority arguments (-q and the like). The window system startup
;;; file should create any
screen
s specified in the window system defaults.
;;; file should create any
frame
s specified in the window system defaults.
;;;
;;;
;;; 2) If no
screen
s have been opened, we open an initial text
screen
.
;;; 2) If no
frame
s have been opened, we open an initial text
frame
.
;;;
;;;
;;; 3) Once the init file is done, we apply any newly set parameters
;;; 3) Once the init file is done, we apply any newly set parameters
;;; in initial-
screen
-alist to the
screen
.
;;; in initial-
frame
-alist to the
frame
.
(
add-hook
'before-init-hook
'
screen
-initialize
)
(
add-hook
'before-init-hook
'
frame
-initialize
)
(
add-hook
'window-setup-hook
'
screen
-notice-user-settings
)
(
add-hook
'window-setup-hook
'
frame
-notice-user-settings
)
;;; If we create the initial
screen
, this is it.
;;; If we create the initial
frame
, this is it.
(
defvar
screen
-initial-
screen
nil
)
(
defvar
frame
-initial-
frame
nil
)
;;; startup.el calls this function before loading the user's init
;;; startup.el calls this function before loading the user's init
;;; file - if there is no
screen
with a minibuffer open now, create
;;; file - if there is no
frame
with a minibuffer open now, create
;;; one to display messages while loading the init file.
;;; one to display messages while loading the init file.
(
defun
screen
-initialize
()
(
defun
frame
-initialize
()
;; Are we actually running under a window system at all?
;; Are we actually running under a window system at all?
(
if
(
and
window-system
(
not
noninteractive
))
(
if
(
and
window-system
(
not
noninteractive
))
(
let
((
screens
(
screen
-list
)))
(
let
((
frames
(
frame
-list
)))
;; Look for a
screen
that has a minibuffer.
;; Look for a
frame
that has a minibuffer.
(
while
(
and
screen
s
(
while
(
and
frame
s
(
or
(
eq
(
car
screen
s
)
terminal-
screen
)
(
or
(
eq
(
car
frame
s
)
terminal-
frame
)
(
not
(
cdr
(
assq
'minibuffer
(
not
(
cdr
(
assq
'minibuffer
(
screen
-parameters
(
frame
-parameters
(
car
screen
s
)))))))
(
car
frame
s
)))))))
(
setq
screen
s
(
cdr
screen
s
)))
(
setq
frame
s
(
cdr
frame
s
)))
;; If there was none, then we need to create the opening
screen
.
;; If there was none, then we need to create the opening
frame
.
(
or
screen
s
(
or
frame
s
(
setq
default-minibuffer-
screen
(
setq
default-minibuffer-
frame
(
setq
screen
-initial-
screen
(
setq
frame
-initial-
frame
(
new-
screen
initial-
screen
-alist
))))
(
new-
frame
initial-
frame
-alist
))))
;; At this point, we know that we have a
screen
open, so we
;; At this point, we know that we have a
frame
open, so we
;; can delete the terminal
screen
.
;; can delete the terminal
frame
.
(
delete-
screen
terminal-
screen
)
(
delete-
frame
terminal-
frame
)
(
setq
terminal-
screen
nil
))
(
setq
terminal-
frame
nil
))
;; No, we're not running a window system. Arrange to cause errors.
;; No, we're not running a window system. Arrange to cause errors.
(
setq
screen
-creation-function
(
setq
frame
-creation-function
(
function
(
function
(
lambda
(
parameters
)
(
lambda
(
parameters
)
(
error
(
error
"Can't create multiple
screen
s without a window system."
))))))
"Can't create multiple
frame
s without a window system."
))))))
;;; startup.el calls this function after loading the user's init file.
;;; startup.el calls this function after loading the user's init file.
;;; If we created a minibuffer before knowing if we had permission, we
;;; If we created a minibuffer before knowing if we had permission, we
;;; need to see if it should go away or change. Create a text
screen
;;; need to see if it should go away or change. Create a text
frame
;;; here.
;;; here.
(
defun
screen
-notice-user-settings
()
(
defun
frame
-notice-user-settings
()
(
if
screen
-initial-
screen
(
if
frame
-initial-
frame
(
progn
(
progn
;; If the user wants a minibuffer-only
screen
, we'll have to
;; If the user wants a minibuffer-only
frame
, we'll have to
;; make a new one; you can't remove or add a root window to/from
;; make a new one; you can't remove or add a root window to/from
;; an existing
screen
.
;; an existing
frame
.
(
if
(
eq
(
cdr
(
or
(
assq
'minibuffer
initial-
screen
-alist
)
(
if
(
eq
(
cdr
(
or
(
assq
'minibuffer
initial-
frame
-alist
)
'
(
minibuffer
.
t
)))
'
(
minibuffer
.
t
)))
'only
)
'only
)
(
progn
(
progn
(
setq
default-minibuffer-
screen
(
setq
default-minibuffer-
frame
(
new-
screen
(
new-
frame
(
append
initial-
screen
-alist
(
append
initial-
frame
-alist
(
screen
-parameters
screen
-initial-
screen
))))
(
frame
-parameters
frame
-initial-
frame
))))
(
delete-
screen
screen
-initial-
screen
))
(
delete-
frame
frame
-initial-
frame
))
(
modify-
screen
-parameters
screen
-initial-
screen
(
modify-
frame
-parameters
frame
-initial-
frame
initial-
screen
-alist
))))
initial-
frame
-alist
))))
;; Make sure the initial
screen
can be GC'd if it is ever deleted.
;; Make sure the initial
frame
can be GC'd if it is ever deleted.
(
makunbound
'
screen
-initial-
screen
))
(
makunbound
'
frame
-initial-
frame
))
;;;; Creation of additional
screen
s
;;;; Creation of additional
frame
s
;;; Return some
screen
other than the current
screen
,
;;; Return some
frame
other than the current
frame
,
;;; creating one if neccessary. Note that the minibuffer
screen
, if
;;; creating one if neccessary. Note that the minibuffer
frame
, if
;;; separate, is not considered (see next-
screen
).
;;; separate, is not considered (see next-
frame
).
(
defun
get-
screen
()
(
defun
get-
frame
()
(
let
((
s
(
if
(
equal
(
next-
screen
(
selected-
screen
))
(
selected-
screen
))
(
let
((
s
(
if
(
equal
(
next-
frame
(
selected-
frame
))
(
selected-
frame
))
(
new-
screen
)
(
new-
frame
)
(
next-
screen
(
selected-
screen
)))))
(
next-
frame
(
selected-
frame
)))))
s
))
s
))
(
defun
next-multi
screen
-window
()
(
defun
next-multi
frame
-window
()
"Select the next window, regardless of which
screen
it is on."
"Select the next window, regardless of which
frame
it is on."
(
interactive
)
(
interactive
)
(
select-window
(
next-window
(
selected-window
)
(
select-window
(
next-window
(
selected-window
)
(
>
(
minibuffer-depth
)
0
)
(
>
(
minibuffer-depth
)
0
)
t
)))
t
)))
(
defun
previous-multi
screen
-window
()
(
defun
previous-multi
frame
-window
()
"Select the previous window, regardless of which
screen
it is on."
"Select the previous window, regardless of which
frame
it is on."
(
interactive
)
(
interactive
)
(
select-window
(
previous-window
(
selected-window
)
(
select-window
(
previous-window
(
selected-window
)
(
>
(
minibuffer-depth
)
0
)
(
>
(
minibuffer-depth
)
0
)
t
)))
t
)))
(
defun
new-
screen
(
&optional
parameters
)
(
defun
new-
frame
(
&optional
parameters
)
"Create a new
screen
, displaying the current buffer.
"Create a new
frame
, displaying the current buffer.
Optional argument PARAMETERS is an alist of parameters for the new
Optional argument PARAMETERS is an alist of parameters for the new
screen
. Specifically, PARAMETERS is a list of pairs, each having one
frame
. Specifically, PARAMETERS is a list of pairs, each having one
of the following forms:
of the following forms:
(name . STRING) - The
screen
should be named STRING.
(name . STRING) - The
frame
should be named STRING.
(height . NUMBER) - The
screen
should be NUMBER text lines high. If
(height . NUMBER) - The
frame
should be NUMBER text lines high. If
this parameter is present, the width parameter must also be
this parameter is present, the width parameter must also be
given.
given.
(width . NUMBER) - The
screen
should be NUMBER characters in width.
(width . NUMBER) - The
frame
should be NUMBER characters in width.
If this parameter is present, the height parameter must also
If this parameter is present, the height parameter must also
be given.
be given.
(minibuffer . t) - the
screen
should have a minibuffer
(minibuffer . t) - the
frame
should have a minibuffer
(minibuffer . none) - the
screen
should have no minibuffer
(minibuffer . none) - the
frame
should have no minibuffer
(minibuffer . only) - the
screen
should contain only a minibuffer
(minibuffer . only) - the
frame
should contain only a minibuffer
(minibuffer . WINDOW) - the
screen
should use WINDOW as its minibuffer window.
(minibuffer . WINDOW) - the
frame
should use WINDOW as its minibuffer window.
(NAME . VALUE), specifying the parameter and the value it should have.
(NAME . VALUE), specifying the parameter and the value it should have.
NAME should be one of the following symbols:
NAME should be one of the following symbols:
name VALUE
name VALUE
The documentation for the function x-create-
screen
describes
The documentation for the function x-create-
frame
describes
additional
screen
parameters that Emacs will recognize when running
additional
frame
parameters that Emacs will recognize when running
under the X Window System."
under the X Window System."
(
interactive
)
(
interactive
)
(
funcall
screen
-creation-function
parameters
))
(
funcall
frame
-creation-function
parameters
))
;;;; Iconification
;;;; Iconification
;;; A possible enhancement for the below: if you iconify a surrogate
;;; A possible enhancement for the below: if you iconify a surrogate
;;; minibuffer
screen
, iconify all of its minibuffer's users too;
;;; minibuffer
frame
, iconify all of its minibuffer's users too;
;;; de-iconify them as a group. This will need to wait until
screen
s
;;; de-iconify them as a group. This will need to wait until
frame
s
;;; have mapping and unmapping hooks.
;;; have mapping and unmapping hooks.
(
defun
iconify
()
(
defun
iconify
()
"Iconify or deiconify the selected
screen
."
"Iconify or deiconify the selected
frame
."
(
interactive
)
(
interactive
)
(
let
((
screen
(
selected-
screen
)))
(
let
((
frame
(
selected-
frame
)))
(
if
(
eq
(
screen
-visible-p
screen
)
t
)
(
if
(
eq
(
frame
-visible-p
frame
)
t
)
(
iconify-
screen
screen
)
(
iconify-
frame
frame
)
(
make-
screen
-visible
screen
))))
(
make-
frame
-visible
frame
))))
;;;;
Screen
configurations
;;;;
Frame
configurations
(
defun
current-
screen
-configuration
()
(
defun
current-
frame
-configuration
()
"Return a list describing the positions and states of all
screen
s.
"Return a list describing the positions and states of all
frame
s.
Each element is a list of the form (
SCREEN
ALIST WINDOW-CONFIG), where
Each element is a list of the form (
FRAME
ALIST WINDOW-CONFIG), where
SCREEN is a screen
object, ALIST is an association list specifying
FRAME is a frame
object, ALIST is an association list specifying
some of
SCREEN
's parameters, and WINDOW-CONFIG is a window
some of
FRAME
's parameters, and WINDOW-CONFIG is a window
configuration object for
SCREEN
."
configuration object for
FRAME
."
(
mapcar
(
function
(
mapcar
(
function
(
lambda
(
screen
)
(
lambda
(
frame
)
(
list
screen
(
list
frame
(
screen
-parameters
screen
)
(
frame
-parameters
frame
)
(
current-window-configuration
screen
))))
(
current-window-configuration
frame
))))
(
screen
-list
)))
(
frame
-list
)))
(
defun
set-
screen
-configuration
(
configuration
)
(
defun
set-
frame
-configuration
(
configuration
)
"Restore the
screen
s to the state described by CONFIGURATION.
"Restore the
frame
s to the state described by CONFIGURATION.
Each
screen
listed in CONFIGURATION has its position, size, window
Each
frame
listed in CONFIGURATION has its position, size, window
configuration, and other parameters set as specified in CONFIGURATION."
configuration, and other parameters set as specified in CONFIGURATION."
(
let
(
screen
s-to-delete
)
(
let
(
frame
s-to-delete
)
(
mapcar
(
function
(
mapcar
(
function
(
lambda
(
screen
)
(
lambda
(
frame
)
(
let
((
parameters
(
assq
screen
configuration
)))
(
let
((
parameters
(
assq
frame
configuration
)))
(
if
parameters
(
if
parameters
(
progn
(
progn
(
modify-
screen
-parameters
screen
(
nth
1
parameters
))
(
modify-
frame
-parameters
frame
(
nth
1
parameters
))
(
set-window-configuration
(
nth
2
parameters
)))
(
set-window-configuration
(
nth
2
parameters
)))
(
setq
screen
s-to-delete
(
cons
screen
screen
s-to-delete
))))))
(
setq
frame
s-to-delete
(
cons
frame
frame
s-to-delete
))))))
(
screen
-list
))
(
frame
-list
))
(
mapcar
'delete-
screen
screen
s-to-delete
)))
(
mapcar
'delete-
frame
frame
s-to-delete
)))
;;;; Convenience functions for dynamically changing screen parameters
;;;; Convenience functions for accessing and interactively changing
;;;; frame parameters.
(
defun
set-screen-height
(
h
)
(
defun
frame-width
(
&optional
frame
)
"Return number of lines available for display on FRAME.
If FRAME is omitted, describe the currently selected frame."
(
cdr
(
assq
'width
(
frame-parameters
frame
))))
(
defun
frame-width
(
&optional
frame
)
"Return number of columns available for display on FRAME.
If FRAME is omitted, describe the currently selected frame."
(
cdr
(
assq
'height
(
frame-parameters
frame
))))
(
defun
set-frame-height
(
h
)
(
interactive
"NHeight: "
)
(
interactive
"NHeight: "
)
(
let*
((
screen
(
selected-
screen
))
(
let*
((
frame
(
selected-
frame
))
(
width
(
cdr
(
assoc
'width
(
screen
-parameters
(
selected-
screen
))))))
(
width
(
cdr
(
assoc
'width
(
frame
-parameters
(
selected-
frame
))))))
(
set-
screen
-size
(
selected-
screen
)
width
h
)))
(
set-
frame
-size
(
selected-
frame
)
width
h
)))
(
defun
set-
screen
-width
(
w
)
(
defun
set-
frame
-width
(
w
)
(
interactive
"NWidth: "
)
(
interactive
"NWidth: "
)
(
let*
((
screen
(
selected-
screen
))
(
let*
((
frame
(
selected-
frame
))
(
height
(
cdr
(
assoc
'height
(
screen
-parameters
(
selected-
screen
))))))
(
height
(
cdr
(
assoc
'height
(
frame
-parameters
(
selected-
frame
))))))
(
set-
screen
-size
(
selected-
screen
)
w
height
)))
(
set-
frame
-size
(
selected-
frame
)
w
height
)))
(
defun
set-default-font
(
font-name
)
(
defun
set-default-font
(
font-name
)
(
interactive
"sFont name: "
)
(
interactive
"sFont name: "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'font
font-name
))))
(
list
(
cons
'font
font-name
))))
(
defun
set-
screen
-background
(
color-name
)
(
defun
set-
frame
-background
(
color-name
)
(
interactive
"sColor: "
)
(
interactive
"sColor: "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'background-color
color-name
))))
(
list
(
cons
'background-color
color-name
))))
(
defun
set-
screen
-foreground
(
color-name
)
(
defun
set-
frame
-foreground
(
color-name
)
(
interactive
"sColor: "
)
(
interactive
"sColor: "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'foreground-color
color-name
))))
(
list
(
cons
'foreground-color
color-name
))))
(
defun
set-cursor-color
(
color-name
)
(
defun
set-cursor-color
(
color-name
)
(
interactive
"sColor: "
)
(
interactive
"sColor: "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'cursor-color
color-name
))))
(
list
(
cons
'cursor-color
color-name
))))
(
defun
set-pointer-color
(
color-name
)
(
defun
set-pointer-color
(
color-name
)
(
interactive
"sColor: "
)
(
interactive
"sColor: "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'mouse-color
color-name
))))
(
list
(
cons
'mouse-color
color-name
))))
(
defun
set-auto-raise
(
toggle
)
(
defun
set-auto-raise
(
toggle
)
(
interactive
"xt or nil? "
)
(
interactive
"xt or nil? "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'auto-raise
toggle
))))
(
list
(
cons
'auto-raise
toggle
))))
(
defun
set-auto-lower
(
toggle
)
(
defun
set-auto-lower
(
toggle
)
(
interactive
"xt or nil? "
)
(
interactive
"xt or nil? "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'auto-lower
toggle
))))
(
list
(
cons
'auto-lower
toggle
))))
(
defun
set-vertical-bar
(
toggle
)
(
defun
set-vertical-bar
(
toggle
)
(
interactive
"xt or nil? "
)
(
interactive
"xt or nil? "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'vertical-scroll-bar
toggle
))))
(
list
(
cons
'vertical-scroll-bar
toggle
))))
(
defun
set-horizontal-bar
(
toggle
)
(
defun
set-horizontal-bar
(
toggle
)
(
interactive
"xt or nil? "
)
(
interactive
"xt or nil? "
)
(
modify-
screen
-parameters
(
selected-
screen
)
(
modify-
frame
-parameters
(
selected-
frame
)
(
list
(
cons
'horizontal-scroll-bar
toggle
))))
(
list
(
cons
'horizontal-scroll-bar
toggle
))))
;;;; Aliases for backward compatibility with Emacs 18.
(
fset
'screen-height
'frame-height
)
(
fset
'screen-width
'frame-width
)
(
fset
'set-screen-width
'set-frame-width
)
(
fset
'set-screen-height
'set-frame-height
)
;;;; Key bindings
;;;; Key bindings
(
defvar
ctl-x-5-map
(
make-sparse-keymap
)
(
defvar
ctl-x-5-map
(
make-sparse-keymap
)
"Keymap for
screen
commands."
)
"Keymap for
frame
commands."
)
(
fset
'ctl-x-5-prefix
ctl-x-5-map
)
(
fset
'ctl-x-5-prefix
ctl-x-5-map
)
(
define-key
ctl-x-map
"5"
'ctl-x-5-prefix
)
(
define-key
ctl-x-map
"5"
'ctl-x-5-prefix
)