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
eba7400d
Commit
eba7400d
authored
Jan 09, 2009
by
Martin Rudalics
Browse files
(x_set_frame_parameters): Remember requested value for
fullscreen before it's reset by the parameter handler.
parent
ab756fb3
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
7 deletions
+26
-7
src/ChangeLog
src/ChangeLog
+5
-0
src/frame.c
src/frame.c
+21
-7
No files found.
src/ChangeLog
View file @
eba7400d
2009-01-09 Martin Rudalics <rudalics@gmx.at>
* frame.c (x_set_frame_parameters): Remember requested value for
fullscreen before it's reset by the parameter handler.
2009-01-09 Glenn Morris <rgm@gnu.org>
2009-01-09 Glenn Morris <rgm@gnu.org>
* keyboard.c (last_command_char): For clarity, rename to...
* keyboard.c (last_command_char): For clarity, rename to...
...
...
src/frame.c
View file @
eba7400d
...
@@ -2927,6 +2927,7 @@ x_set_frame_parameters (f, alist)
...
@@ -2927,6 +2927,7 @@ x_set_frame_parameters (f, alist)
int
fullscreen_is_being_set
=
0
;
int
fullscreen_is_being_set
=
0
;
int
height_for_full_width
=
0
;
int
height_for_full_width
=
0
;
int
width_for_full_height
=
0
;
int
width_for_full_height
=
0
;
enum
fullscreen_type
fullscreen_wanted
=
FULLSCREEN_NONE
;
struct
gcpro
gcpro1
,
gcpro2
;
struct
gcpro
gcpro1
,
gcpro2
;
...
@@ -2969,7 +2970,7 @@ x_set_frame_parameters (f, alist)
...
@@ -2969,7 +2970,7 @@ x_set_frame_parameters (f, alist)
They are independent of other properties, but other properties (e.g.,
They are independent of other properties, but other properties (e.g.,
cursor_color) are dependent upon them. */
cursor_color) are dependent upon them. */
/* Process default font as well, since fringe widths depends on it. */
/* Process default font as well, since fringe widths depends on it. */
/* Also, process fullscreen, width and height depend upon that */
/* Also, process fullscreen, width and height depend upon that
.
*/
for
(
p
=
0
;
p
<
i
;
p
++
)
for
(
p
=
0
;
p
<
i
;
p
++
)
{
{
Lisp_Object
prop
,
val
;
Lisp_Object
prop
,
val
;
...
@@ -2983,6 +2984,19 @@ x_set_frame_parameters (f, alist)
...
@@ -2983,6 +2984,19 @@ x_set_frame_parameters (f, alist)
{
{
register
Lisp_Object
param_index
,
old_value
;
register
Lisp_Object
param_index
,
old_value
;
if
(
EQ
(
prop
,
Qfullscreen
))
{
/* The parameter handler can reset f->want_fullscreen to
FULLSCREEN_NONE. But we need the requested value later
to decide whether a height or width parameter shall be
applied. Therefore, we remember the requested value in
fullscreen_wanted for the following two cases. */
if
(
EQ
(
val
,
Qfullheight
))
fullscreen_wanted
=
FULLSCREEN_HEIGHT
;
else
if
(
EQ
(
val
,
Qfullwidth
))
fullscreen_wanted
=
FULLSCREEN_WIDTH
;
}
old_value
=
get_frame_param
(
f
,
prop
);
old_value
=
get_frame_param
(
f
,
prop
);
fullscreen_is_being_set
|=
EQ
(
prop
,
Qfullscreen
);
fullscreen_is_being_set
|=
EQ
(
prop
,
Qfullscreen
);
if
(
NILP
(
Fequal
(
val
,
old_value
)))
if
(
NILP
(
Fequal
(
val
,
old_value
)))
...
@@ -3091,13 +3105,13 @@ x_set_frame_parameters (f, alist)
...
@@ -3091,13 +3105,13 @@ x_set_frame_parameters (f, alist)
if
(
new_top
!=
f
->
top_pos
||
new_left
!=
f
->
left_pos
)
if
(
new_top
!=
f
->
top_pos
||
new_left
!=
f
->
left_pos
)
x_set_offset
(
f
,
new_left
,
new_top
,
1
);
x_set_offset
(
f
,
new_left
,
new_top
,
1
);
/* When height
was set and we want fullwidth
make sure
/* When
both
height
and fullwidth were requested,
make sure
the
height gets applied. */
requested value for
height gets applied. */
if
(
height_for_full_width
&&
(
f
->
want_
fullscreen
&
FULLSCREEN_WIDTH
)
)
if
(
height_for_full_width
&&
fullscreen
_wanted
==
FULLSCREEN_WIDTH
)
height
=
height_for_full_width
;
height
=
height_for_full_width
;
/* When width
was set and we want fullheight
make sure
/* When
both
width
and fullheight were requested,
make sure
the
width gets applied. */
requested value for
width gets applied. */
if
(
width_for_full_height
&&
(
f
->
want_
fullscreen
&
FULLSCREEN_HEIGHT
)
)
if
(
width_for_full_height
&&
fullscreen
_wanted
==
FULLSCREEN_HEIGHT
)
width
=
width_for_full_height
;
width
=
width_for_full_height
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment