set_subcategory (SUBCAT_VIDEO_VOUT)
set_capability ("vout display", 75)
set_callbacks (Open, Close)
+ add_shortcut ("xcb-x11")
+ add_shortcut ("x11")
add_bool ("x11-shm", true, NULL, SHM_TEXT, SHM_LONGTEXT, true)
vlc_module_end ()
case 32:
if (fmt->bits_per_pixel != 32)
continue;
+#ifdef FIXED_VLC_RGBA_MASK
fmt_pic.i_chroma = VLC_CODEC_RGBA;
break;
+#else
+ msg_Dbg (vd, "X11 visual with alpha-channel not supported");
+ continue;
+#endif
case 24:
if (fmt->bits_per_pixel == 32)
fmt_pic.i_chroma = VLC_CODEC_RGB32;
c = xcb_create_window_checked (p_sys->conn, p_sys->depth,
p_sys->window,
- p_sys->embed->xid, 0, 0,
+ p_sys->embed->handle.xid, 0, 0,
width, height, 0,
XCB_WINDOW_CLASS_INPUT_OUTPUT,
vid, mask, values);
vd->manage = Manage;
/* */
- vout_display_SendEventFullscreen (vd, false);
- vout_display_SendEventDisplaySize (vd, width, height, false);
+ bool is_fullscreen = vd->cfg->is_fullscreen;
+ if (is_fullscreen && vout_window_SetFullScreen (p_sys->embed, true))
+ is_fullscreen = false;
+ vout_display_SendEventFullscreen (vd, is_fullscreen);
+ vout_display_SendEventDisplaySize (vd, width, height, is_fullscreen);
return VLC_SUCCESS;
vout_display_sys_t *p_sys = vd->sys;
ResetPictures (vd);
+
+ /* show the default cursor */
+ xcb_change_window_attributes (p_sys->conn, p_sys->embed->handle.xid, XCB_CW_CURSOR,
+ &(uint32_t) { XCB_CURSOR_NONE });
+ xcb_flush (p_sys->conn);
+
/* colormap, window and context are garbage-collected by X */
xcb_disconnect (p_sys->conn);
vout_display_DeleteWindow (vd, p_sys->embed);
case VOUT_DISPLAY_CHANGE_WINDOW_STATE:
{
unsigned state = va_arg (ap, unsigned);
- bool b_on_top = (state & VOUT_WINDOW_STATE_ABOVE) != 0;
- return vout_window_SetState (p_sys->embed, b_on_top);
+ return vout_window_SetState (p_sys->embed, state);
}
case VOUT_DISPLAY_CHANGE_ZOOM:
/* Hide the mouse. It will be send when
* vout_display_t::info.b_hide_mouse is false */
case VOUT_DISPLAY_HIDE_MOUSE:
- xcb_change_window_attributes (p_sys->conn, p_sys->embed->xid,
+ xcb_change_window_attributes (p_sys->conn, p_sys->embed->handle.xid,
XCB_CW_CURSOR, &(uint32_t){ p_sys->cursor });
return VLC_SUCCESS;