From: Marco Peereboom Date: Wed, 11 Feb 2009 06:02:24 +0000 (+0000) Subject: Add full screen quirk and make mplayer and xine use it. X-Git-Url: https://jasonwoof.com/gitweb/?a=commitdiff_plain;ds=sidebyside;h=14120c68fd2561f01f6154163909e8e8bd4e715f;p=spectrwm.git Add full screen quirk and make mplayer and xine use it. --- diff --git a/scrotwm.c b/scrotwm.c index 17409e9..40e7ef7 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -347,13 +347,19 @@ struct quirk { #define SWM_Q_TRANSSZ (1<<1) /* transiend window size too small */ #define SWM_Q_ANYWHERE (1<<2) /* don't position this window */ #define SWM_Q_XTERM_FONTADJ (1<<3) /* adjust xterm fonts when resizing */ +#define SWM_Q_FULLSCREEN (1<<4) /* remove border */ } quirks[] = { - { "MPlayer", "xv", SWM_Q_FLOAT }, + { "MPlayer", "xv", SWM_Q_FLOAT | SWM_Q_FULLSCREEN }, { "OpenOffice.org 2.4", "VCLSalFrame", SWM_Q_FLOAT }, { "OpenOffice.org 3.0", "VCLSalFrame", SWM_Q_FLOAT }, - { "Firefox-bin", "firefox-bin", SWM_Q_TRANSSZ}, - { "Gimp", "gimp", SWM_Q_FLOAT | SWM_Q_ANYWHERE}, - { "XTerm", "xterm", SWM_Q_XTERM_FONTADJ}, + { "Firefox-bin", "firefox-bin", SWM_Q_TRANSSZ }, + { "Gimp", "gimp", SWM_Q_FLOAT | SWM_Q_ANYWHERE }, + { "XTerm", "xterm", SWM_Q_XTERM_FONTADJ }, + { "xine", "Xine Window", SWM_Q_FLOAT | SWM_Q_ANYWHERE }, + { "Xitk", "Xitk Combo", SWM_Q_FLOAT | SWM_Q_ANYWHERE }, + { "xine", "xine Panel", SWM_Q_FLOAT | SWM_Q_ANYWHERE }, + { "Xitk", "Xine Window", SWM_Q_FLOAT | SWM_Q_ANYWHERE }, + { "xine", "xine Video Fullscreen Window", SWM_Q_FULLSCREEN | SWM_Q_FLOAT }, { NULL, NULL, 0}, }; @@ -1365,7 +1371,11 @@ stack_floater(struct ws_win *win, struct swm_region *r) bzero(&wc, sizeof wc); mask = CWX | CWY | CWBorderWidth | CWWidth | CWHeight; - wc.border_width = 1; + if ((win->quirks & SWM_Q_FULLSCREEN) && (win->g.w == WIDTH(r)) && + (win->g.h == HEIGHT(r))) + wc.border_width = 0; + else + wc.border_width = 1; if (win->transient && (win->quirks & SWM_Q_TRANSSZ)) { win->g.w = (double)WIDTH(r) * dialog_ratio; win->g.h = (double)HEIGHT(r) * dialog_ratio; @@ -2397,13 +2407,13 @@ configurerequest(XEvent *e) if (win->ws->r != NULL) { /* this seems to be full screen */ if (win->g.w >= WIDTH(win->ws->r)) { - win->g.x = -1; + win->g.x = 0; win->g.w = WIDTH(win->ws->r); ev->value_mask |= CWX | CWWidth; } if (win->g.h >= HEIGHT(win->ws->r)) { /* kill border */ - win->g.y = -1; + win->g.y = 0; win->g.h = HEIGHT(win->ws->r); ev->value_mask |= CWY | CWHeight; }