|
|
| version 1.9, 2007/02/04 11:51:14 | version 1.11, 2007/02/05 14:35:55 |
|---|---|
| Line 33 | Line 33 |
| #include <stdlib.h> | #include <stdlib.h> |
| #include <string.h> | #include <string.h> |
| #include <unistd.h> | #include <unistd.h> |
| #include <signal.h> | |
| #include <X11/Xlib.h> | #include <X11/Xlib.h> |
| #include <X11/Xatom.h> | #include <X11/Xatom.h> |
| Line 42 | Line 43 |
| #include <gdk/gdkx.h> | #include <gdk/gdkx.h> |
| extern int verbose; | extern int verbose; |
| extern volatile sig_atomic_t np2running; | |
| #ifndef VERBOSE | #ifndef VERBOSE |
| #define VERBOSE(s) if (verbose) printf s | #define VERBOSE(s) if (verbose) printf s |
| Line 105 gdk_window_get_pixmap_format(GdkWindow * | Line 107 gdk_window_get_pixmap_format(GdkWindow * |
| extern int ignore_fullscreen_mode; | extern int ignore_fullscreen_mode; |
| static int use_xvid; | static int use_xvid; |
| static int use_netwm; | static int use_netwm; |
| static int is_fullscreen; | |
| #ifdef HAVE_XF86VIDMODE | #ifdef HAVE_XF86VIDMODE |
| #include <X11/extensions/xf86vmode.h> | #include <X11/extensions/xf86vmode.h> |
| Line 324 gtk_window_fullscreen_mode(GtkWidget *wi | Line 327 gtk_window_fullscreen_mode(GtkWidget *wi |
| if (use_netwm) { | if (use_netwm) { |
| gtk_window_fullscreen(GTK_WINDOW(widget)); | gtk_window_fullscreen(GTK_WINDOW(widget)); |
| } | } |
| is_fullscreen = 1; | |
| } | } |
| void | void |
| Line 332 gtk_window_restore_mode(GtkWidget *widge | Line 336 gtk_window_restore_mode(GtkWidget *widge |
| g_return_if_fail(widget != NULL); | g_return_if_fail(widget != NULL); |
| if (!is_fullscreen) | |
| return; | |
| #ifdef HAVE_XF86VIDMODE | #ifdef HAVE_XF86VIDMODE |
| if (use_xvid) { | if (use_xvid) { |
| GtkWindow *window; | |
| XF86VidModeModeInfo mode; | XF86VidModeModeInfo mode; |
| int rv; | int rv; |
| if ((orig_mode.hdisplay == 0) || (orig_mode.vdisplay == 0)) | if ((orig_mode.hdisplay == 0) || (orig_mode.vdisplay == 0)) |
| return; | return; |
| window = GTK_WINDOW(widget); | |
| XLockDisplay(fs_xdisplay); | XLockDisplay(fs_xdisplay); |
| rv = XF86VidModeGetModeInfo(fs_xdisplay, fs_xscreen, &mode); | rv = XF86VidModeGetModeInfo(fs_xdisplay, fs_xscreen, &mode); |
| Line 360 gtk_window_restore_mode(GtkWidget *widge | Line 364 gtk_window_restore_mode(GtkWidget *widge |
| } | } |
| } | } |
| if (window != NULL) { | if (np2running) { |
| gtk_window_move(window, orig_x, orig_y); | gtk_window_move(GTK_WINDOW(widget), orig_x, orig_y); |
| } | } |
| XUnlockDisplay(fs_xdisplay); | XUnlockDisplay(fs_xdisplay); |