diff -Nru a/libvo/x11_common.c b/libvo/x11_common.c
|
a
|
b
|
|
| 1440 | 1440 | { |
| 1441 | 1441 | if (vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight) |
| 1442 | 1442 | return; |
| 1443 | | x = vo_old_x; |
| 1444 | | y = vo_old_y; |
| 1445 | | w = vo_old_width; |
| 1446 | | h = vo_old_height; |
| 1447 | | } |
| | 1443 | } |
| 1448 | 1444 | |
| | 1445 | // Since the size IS hinted for EWMH, now, we need to restore the proper size. |
| | 1446 | x = vo_old_x; |
| | 1447 | y = vo_old_y; |
| | 1448 | w = vo_old_width; |
| | 1449 | h = vo_old_height; |
| | 1450 | vo_x11_sizehint(x, y, w, h, 0); |
| 1449 | 1451 | vo_x11_ewmh_fullscreen(_NET_WM_STATE_REMOVE); // removes fullscreen state if wm supports EWMH |
| 1450 | 1452 | vo_fs = VO_FALSE; |
| 1451 | 1453 | } else |
| 1452 | 1454 | { |
| 1453 | 1455 | // win->fs |
| 1454 | | vo_x11_ewmh_fullscreen(_NET_WM_STATE_ADD); // sends fullscreen state to be added if wm supports EWMH |
| 1455 | | |
| 1456 | | vo_fs = VO_TRUE; |
| | 1456 | // There's a small problems with EWMH and keepaspect: Blackbox 0.70.0 tries to obey both the aspect |
| | 1457 | // and the fullscreen request, resulting in a loss of about 1/5th of the bottom of the mplayer |
| | 1458 | // window. This is fixed by sizehinting the window to the screen size. |
| 1457 | 1459 | if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs |
| 1458 | 1460 | { |
| 1459 | 1461 | if (vo_old_width && |
| 1460 | 1462 | (vo_dwidth == vo_screenwidth && vo_dwidth != vo_old_width) && |
| 1461 | | (vo_dheight == vo_screenheight && vo_dheight != vo_old_height)) |
| | 1463 | (vo_dheight == vo_screenheight && vo_dheight != vo_old_height)) { |
| | 1464 | vo_fs = VO_TRUE; |
| 1462 | 1465 | return; |
| 1463 | | vo_old_x = vo_dx; |
| 1464 | | vo_old_y = vo_dy; |
| 1465 | | vo_old_width = vo_dwidth; |
| 1466 | | vo_old_height = vo_dheight; |
| 1467 | | x = 0; |
| 1468 | | y = 0; |
| 1469 | | w = vo_screenwidth; |
| 1470 | | h = vo_screenheight; |
| | 1466 | } |
| 1471 | 1467 | } |
| | 1468 | vo_old_x = vo_dx; |
| | 1469 | vo_old_y = vo_dy; |
| | 1470 | vo_old_width = vo_dwidth; |
| | 1471 | vo_old_height = vo_dheight; |
| | 1472 | x = 0; |
| | 1473 | y = 0; |
| | 1474 | w = vo_screenwidth; |
| | 1475 | h = vo_screenheight; |
| | 1476 | vo_x11_sizehint( x, y, w, h, 0); |
| | 1477 | vo_x11_ewmh_fullscreen(_NET_WM_STATE_ADD); // sends fullscreen state to be added if wm supports EWMH |
| | 1478 | |
| | 1479 | vo_fs = VO_TRUE; |
| 1472 | 1480 | } |
| 1473 | 1481 | { |
| 1474 | 1482 | long dummy; |
| … |
… |
|
| 1489 | 1497 | if ( ! (vo_fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs |
| 1490 | 1498 | { |
| 1491 | 1499 | vo_x11_decoration(mDisplay, vo_window, (vo_fs) ? 0 : 1); |
| 1492 | | vo_x11_sizehint(x, y, w, h, 0); |
| | 1500 | // vo_x11_sizehint(x, y, w, h, 0); |
| 1493 | 1501 | vo_x11_setlayer(mDisplay, vo_window, vo_fs); |
| 1494 | 1502 | |
| 1495 | 1503 | |