/* Functions for the X window system.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Emacs.
int x_gtk_show_hidden_files;
+/* If non-zero, don't collapse to tool bar when it is detached. */
+
+int x_gtk_whole_detached_tool_bar;
+
/* The background and shape of the mouse pointer, and shape when not
over text or in the modeline. */
int had_errors = 0;
Window win = f->output_data.x->parent_desc;
- int count;
-
BLOCK_INPUT;
- count = x_catch_errors (FRAME_X_DISPLAY (f));
+ x_catch_errors (FRAME_X_DISPLAY (f));
if (win == FRAME_X_DISPLAY_INFO (f)->root_window)
win = FRAME_OUTER_WINDOW (f);
had_errors = x_had_errors_p (FRAME_X_DISPLAY (f));
}
- x_uncatch_errors (FRAME_X_DISPLAY (f), count);
+ x_uncatch_errors ();
UNBLOCK_INPUT;
FRAME_PTR f;
Lisp_Object file;
{
- struct gcpro gcpro1;
int result = 0;
Lisp_Object found;
- GCPRO1 (found);
-
found = x_find_image_file (file);
if (! NILP (found))
UNBLOCK_INPUT;
}
- UNGCPRO;
return result;
}
Display *dpy = FRAME_X_DISPLAY (f);
Cursor cursor, nontext_cursor, mode_cursor, hand_cursor;
Cursor hourglass_cursor, horizontal_drag_cursor;
- int count;
unsigned long pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
unsigned long mask_color = x->background_pixel;
BLOCK_INPUT;
/* It's not okay to crash if the user selects a screwy cursor. */
- count = x_catch_errors (dpy);
+ x_catch_errors (dpy);
if (!NILP (Vx_pointer_shape))
{
/* Check and report errors with the above calls. */
x_check_errors (dpy, "can't set cursor shape: %s");
- x_uncatch_errors (dpy, count);
+ x_uncatch_errors ();
{
XColor fore_color, back_color;
if (! EQ (icon_x, Qunbound))
x_wm_set_icon_position (f, XINT (icon_x), XINT (icon_y));
+#if 0 /* x_get_arg removes the visibility parameter as a side effect,
+ but x_create_frame still needs it. */
/* Start up iconic or window? */
x_wm_set_window_state
(f, (EQ (x_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL),
Qicon)
? IconicState
: NormalState));
+#endif
x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name)
? f->icon_name
check_x ();
+ parms = Fcopy_alist (parms);
+
/* Use this general default value to start with
until we know if this frame has a specified name. */
Vx_resource_name = Vinvocation_name;
|| !FRAME_LIVE_P (XFRAME (kb->Vdefault_minibuffer_frame))))
kb->Vdefault_minibuffer_frame = frame;
+ /* All remaining specified parameters, which have not been "used"
+ by x_get_arg and friends, now go in the misc. alist of the frame. */
+ for (tem = parms; !NILP (tem); tem = XCDR (tem))
+ if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
+ f->param_alist = Fcons (XCAR (tem), f->param_alist);
+
UNGCPRO;
/* Make sure windows on this frame appear in calls to next-window
{
struct frame *f = check_x_frame (frame);
Display *dpy = FRAME_X_DISPLAY (f);
- int count;
BLOCK_INPUT;
- count = x_catch_errors (dpy);
+ x_catch_errors (dpy);
XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
RevertToParent, CurrentTime);
- x_uncatch_errors (dpy, count);
+ x_uncatch_errors ();
UNBLOCK_INPUT;
return Qnil;
check_x ();
+ parms = Fcopy_alist (parms);
#ifdef MULTI_KBOARD
kb = dpyinfo->kboard;
int result;
struct frame *f = SELECTED_FRAME ();
Lisp_Object file = Qnil;
+ Lisp_Object decoded_file;
Widget dialog, text, help;
Arg al[10];
int ac = 0;
if (NILP (file))
Fsignal (Qquit, Qnil);
- return unbind_to (count, file);
+ decoded_file = DECODE_FILE (file);
+
+ return unbind_to (count, decoded_file);
}
#endif /* USE_MOTIF */
FRAME_PTR f = SELECTED_FRAME ();
char *fn;
Lisp_Object file = Qnil;
+ Lisp_Object decoded_file;
int count = SPECPDL_INDEX ();
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6;
char *cdef_file;
if (NILP (file))
Fsignal (Qquit, Qnil);
- return unbind_to (count, file);
+ decoded_file = DECODE_FILE (file);
+
+ return unbind_to (count, decoded_file);
}
#endif /* USE_GTK */
chooser to show or not show hidden files on a case by case basis. */);
x_gtk_show_hidden_files = 0;
+ DEFVAR_BOOL ("x-gtk-whole-detached-tool-bar", &x_gtk_whole_detached_tool_bar,
+ doc: /* *If non-nil, a detached tool bar is shown in full.
+The default is to just show an arrow and pressing on that arrow shows
+the tool bar buttons. */);
+ x_gtk_whole_detached_tool_bar = 0;
+
Fprovide (intern ("x"), Qnil);
#ifdef USE_X_TOOLKIT