1 /*****************************************************************************
2 * x11.c : X11 plugin for vlc
3 *****************************************************************************
4 * Copyright (C) 1998-2001 the VideoLAN team
7 * Authors: Vincent Seguin <seguin@via.ecp.fr>
8 * Samuel Hocevar <sam@zoy.org>
9 * David Kennedy <dkennedy@tinytoad.com>
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
24 *****************************************************************************/
26 /*****************************************************************************
28 *****************************************************************************/
29 #include <stdlib.h> /* malloc(), free() */
30 #include <string.h> /* strerror() */
34 /*****************************************************************************
36 *****************************************************************************/
37 extern int E_(Activate) ( vlc_object_t * );
38 extern void E_(Deactivate) ( vlc_object_t * );
40 /*****************************************************************************
42 *****************************************************************************/
43 #define ALT_FS_TEXT N_("Alternate fullscreen method")
44 #define ALT_FS_LONGTEXT N_( \
45 "There are two ways to make a fullscreen window, unfortunately each one " \
46 "has its drawbacks.\n" \
47 "1) Let the window manager handle your fullscreen window (default), but " \
48 "things like taskbars will likely show on top of the video.\n" \
49 "2) Completely bypass the window manager, but then nothing will be able " \
50 "to show on top of the video.")
52 #define DISPLAY_TEXT N_("X11 display name")
53 #define DISPLAY_LONGTEXT N_( \
54 "Specify the X11 hardware display you want to use. By default VLC will " \
55 "use the value of the DISPLAY environment variable.")
57 #define SHM_TEXT N_("Use shared memory")
58 #define SHM_LONGTEXT N_( \
59 "Use shared memory to communicate between VLC and the X server.")
61 #define SCREEN_TEXT N_("choose the screen to be used for fullscreen mode.")
62 #define SCREEN_LONGTEXT N_( \
63 "Choose the screen you want to use in fullscreen mode. For instance " \
64 "set it to 0 for first screen, 1 for the second.")
67 set_shortname( "X11" );
68 set_category( CAT_VIDEO );
69 set_subcategory( SUBCAT_VIDEO_VOUT );
70 add_string( "x11-display", NULL, NULL, DISPLAY_TEXT, DISPLAY_LONGTEXT, VLC_TRUE );
71 add_bool( "x11-altfullscreen", 0, NULL, ALT_FS_TEXT, ALT_FS_LONGTEXT, VLC_TRUE );
73 add_bool( "x11-shm", 1, NULL, SHM_TEXT, SHM_LONGTEXT, VLC_TRUE );
76 add_integer ( "x11-xineramascreen", 0, NULL, SCREEN_TEXT, SCREEN_LONGTEXT, VLC_TRUE );
78 set_description( _("X11 video output") );
79 set_capability( "video output", 70 );
80 set_callbacks( E_(Activate), E_(Deactivate) );