diff options
Diffstat (limited to 'abs/extra/xine-ui/xine-ui-xdg.diff')
-rw-r--r-- | abs/extra/xine-ui/xine-ui-xdg.diff | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/abs/extra/xine-ui/xine-ui-xdg.diff b/abs/extra/xine-ui/xine-ui-xdg.diff deleted file mode 100644 index 959d674..0000000 --- a/abs/extra/xine-ui/xine-ui-xdg.diff +++ /dev/null @@ -1,206 +0,0 @@ ---- xine-ui-0.99.6.orig/src/xitk/common.h -+++ xine-ui-0.99.6/src/xitk/common.h -@@ -331,6 +331,5 @@ typedef struct { - int use_root_window; - - int ssaver_enabled; -- int ssaver_timeout; - - int skip_by_chapter; ---- xine-ui-0.99.6.orig/src/xitk/main.c -+++ xine-ui-0.99.6/src/xitk/main.c -@@ -1383,6 +1383,8 @@ int main(int argc, char *argv[]) { - if (sigprocmask (SIG_BLOCK, &vo_mask, NULL)) - fprintf (stderr, "sigprocmask() failed.\n"); - -+ signal(SIGCHLD, SIG_IGN); -+ - gGui = (gGui_t *) calloc(1, sizeof(gGui_t)); - - gGui->stream = NULL; ---- xine-ui-0.99.6.orig/src/xitk/panel.c -+++ xine-ui-0.99.6/src/xitk/panel.c -@@ -356,7 +356,6 @@ void panel_update_runtime_display(void) - * Update slider thread. - */ - static void *slider_loop(void *dummy) { -- int screensaver_timer = 0; - int status, speed; - int pos, secs; - int i = 0; -@@ -441,20 +440,7 @@ static void *slider_loop(void *dummy) { - else - video_window_set_mrl((char *)gGui->mmk.mrl); - -- if(!xitk_is_window_iconified(gGui->video_display, gGui->video_window)) { -- -- if(gGui->ssaver_timeout) { -- -- if(!(i % 2)) -- screensaver_timer++; -- -- if(screensaver_timer >= gGui->ssaver_timeout) { -- screensaver_timer = 0; -- video_window_reset_ssaver(); -- -- } -- } -- } -+ video_window_suspend_ssaver(!xitk_is_window_iconified(gGui->video_display, gGui->video_window)); - - if(gGui->logo_mode == 0) { - -@@ -494,6 +480,8 @@ static void *slider_loop(void *dummy) { - stream_infos_update_infos(); - - } -+ } else { -+ video_window_suspend_ssaver(0); - } - } - ---- xine-ui-0.99.6.orig/src/xitk/videowin.c -+++ xine-ui-0.99.6/src/xitk/videowin.c -@@ -1087,6 +1087,9 @@ static void video_window_adapt_size (voi - - /* The old window should be destroyed now */ - if(old_video_window != None) { -+ /* Screensaver control is tied to our window id */ -+ video_window_suspend_ssaver(0); -+ - XDestroyWindow(gGui->video_display, old_video_window); - - if(gGui->cursor_grabbed) -@@ -2261,69 +2264,34 @@ static void video_window_handle_event (X - - } - --void video_window_reset_ssaver(void) { -+void video_window_suspend_ssaver(int do_suspend) { -+ static int was_suspended; - -- if(gGui->ssaver_enabled && (xitk_get_last_keypressed_time() >= (long int) gGui->ssaver_timeout)) { -+ do_suspend = do_suspend && gGui->ssaver_enabled; - --#ifdef HAVE_XTESTEXTENSION -- if(gVw.have_xtest == True) { -- -- gVw.fake_key_cur++; -- -- if(gVw.fake_key_cur >= 2) -- gVw.fake_key_cur = 0; -- -- XLockDisplay(gGui->video_display); -- XTestFakeKeyEvent(gGui->video_display, gVw.fake_keys[gVw.fake_key_cur], True, CurrentTime); -- XTestFakeKeyEvent(gGui->video_display, gVw.fake_keys[gVw.fake_key_cur], False, CurrentTime); -- XSync(gGui->video_display, False); -- XUnlockDisplay(gGui->video_display); -+ if(was_suspended != do_suspend) { -+ if(fork() == 0) { -+ char window_id[30]; -+ char *args[] = { "xdg-screensaver", NULL, window_id, NULL }; -+ int fd; -+ -+ for(fd = 3; fd < 256; fd++) -+ close(fd); -+ -+ args[1] = do_suspend ? "suspend" : "resume"; -+ sprintf(window_id, "%lu", (unsigned long)gGui->video_window); -+ execvp(args[0], args); -+ _exit(0); - } -- else --#endif -- { -- /* Reset the gnome screensaver. Look up the command in PATH only once to save time, */ -- /* assuming its location and permission will not change during run time of xine-ui. */ -- { -- static char *const gssaver_args[] = { "gnome-screensaver-command", "--poke", NULL }; -- static char *gssaver_path = NULL; -- -- if(!gssaver_path) { -- char *path = getenv("PATH"); -- -- if(!path) -- path = "/usr/local/bin:/usr/bin"; -- do { -- char *p, *pbuf; -- int plen; -- -- for(p = path; *path && *path != ':'; path++) -- ; -- if(p == path) -- plen = 1, p = "."; -- else -- plen = path - p; -- asprintf(&pbuf, "%.*s/%s", plen, p, gssaver_args[0]); -- if ( access(pbuf, X_OK) ) { -- free(pbuf); -- gssaver_path = ""; -- } else -- gssaver_path = pbuf; -- } while(!gssaver_path[0] && *path++); -- } -- if(gssaver_path[0] && (fork() == 0)) { -- execv(gssaver_path, gssaver_args); -- exit(0); -- } -- } - -- XLockDisplay(gGui->video_display); -- XResetScreenSaver(gGui->video_display); -- XUnlockDisplay(gGui->video_display); -- } -+ was_suspended = do_suspend; - } - } - -+void video_window_reset_ssaver(void) { -+ video_window_suspend_ssaver(1); -+} -+ - void video_window_get_frame_size(int *w, int *h) { - if(w) - *w = gVw.frame_width; ---- xine-ui-0.99.6.orig/src/xitk/videowin.h -+++ xine-ui-0.99.6/src/xitk/videowin.h -@@ -81,6 +81,7 @@ void video_window_get_mag (float *xmag, - void video_window_update_logo(void); - void video_window_change_skins(int); - -+void video_window_suspend_ssaver(int do_suspend); - void video_window_reset_ssaver(void); - - void video_window_get_frame_size(int *w, int *h); ---- xine-ui-0.99.6.orig/src/xitk/event.c -+++ xine-ui-0.99.6/src/xitk/event.c -@@ -135,9 +135,6 @@ static void skip_by_chapter_cb(void *dat - gGui->skip_by_chapter = cfg->num_value; - panel_update_nextprev_tips(); - } --static void ssaver_timeout_cb(void *data, xine_cfg_entry_t *cfg) { -- gGui->ssaver_timeout = cfg->num_value; --} - - static void visual_anim_cb(void *data, xine_cfg_entry_t *cfg) { - -@@ -1614,14 +1611,6 @@ void gui_init (int nfiles, char *filenam - snapshot_loc_cb, - CONFIG_NO_DATA); - -- gGui->ssaver_timeout = -- xine_config_register_num (__xineui_global_xine_instance, "gui.screensaver_timeout", 10, -- _("Screensaver reset interval (s)"), -- _("Time, in seconds, between two faked events to keep a screensaver quiet, 0 to disable."), -- CONFIG_LEVEL_ADV, -- ssaver_timeout_cb, -- CONFIG_NO_DATA); -- - gGui->skip_by_chapter = - xine_config_register_bool (__xineui_global_xine_instance, "gui.skip_by_chapter", 1, - _("Chapter hopping"), - - - - - |