]> git.sesse.net Git - vlc/commitdiff
Added window roles for X11
authorNick Pope <nick@nickpope.me.uk>
Tue, 1 Sep 2009 20:46:21 +0000 (21:46 +0100)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 2 Sep 2009 16:53:02 +0000 (19:53 +0300)
Window roles can be used when configuring window managers to help users
place their windows and dialogs according to their preference.  This is
particularly useful for some of the *box window managers.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
21 files changed:
modules/gui/qt4/components/open_panels.cpp
modules/gui/qt4/components/playlist/playlist.cpp
modules/gui/qt4/components/preferences_widgets.cpp
modules/gui/qt4/dialogs/bookmarks.cpp
modules/gui/qt4/dialogs/convert.cpp
modules/gui/qt4/dialogs/errors.cpp
modules/gui/qt4/dialogs/extended.cpp
modules/gui/qt4/dialogs/external.cpp
modules/gui/qt4/dialogs/gototime.cpp
modules/gui/qt4/dialogs/help.cpp
modules/gui/qt4/dialogs/mediainfo.cpp
modules/gui/qt4/dialogs/messages.cpp
modules/gui/qt4/dialogs/open.cpp
modules/gui/qt4/dialogs/openurl.cpp
modules/gui/qt4/dialogs/playlist.cpp
modules/gui/qt4/dialogs/plugins.cpp
modules/gui/qt4/dialogs/preferences.cpp
modules/gui/qt4/dialogs/sout.cpp
modules/gui/qt4/dialogs/toolbar.cpp
modules/gui/qt4/main_interface.cpp
modules/video_output/xcb/window.c

index 59e42b08fc049823b9a25682677ba6e6b8ed41e3..c130c6ccee33fadafa830663b577ff9a6b98f29d 100644 (file)
@@ -1304,6 +1304,7 @@ void CaptureOpenPanel::advancedDialog()
     /* New Adv Prop dialog */
     adv = new QDialog( this );
     adv->setWindowTitle( qtr( "Advanced Options" ) );
+    adv->setWindowRole( "vlc-advanced-options" );
 
     /* A main Layout with a Frame */
     QVBoxLayout *mainLayout = new QVBoxLayout( adv );
index 8ad5d11f8f26c3b4e171e13021616a6b9e9bafa0..4ae5a301f822936c5cfe1a23ca863078d1fa075b 100644 (file)
@@ -115,6 +115,7 @@ PlaylistWidget::PlaylistWidget( intf_thread_t *_p_i ) : p_intf ( _p_i )
 
     setAcceptDrops( true );
     setWindowTitle( qtr( "Playlist" ) );
+    setWindowRole( "vlc-playlist" );
     setWindowIcon( QApplication::windowIcon() );
 }
 
index a96e4379fe30a60093b66e6a2865ed1ed5ee2edc..20b65d43e301627e2d29cfa87676b8c1f58e2d4b 100644 (file)
@@ -1381,6 +1381,7 @@ KeyInputDialog::KeyInputDialog( QTreeWidget *_table,
     table = _table;
     setWindowTitle( b_global ? qtr( "Global" ): ""
                     + qtr( "Hotkey for " ) + keyToChange );
+    setWindowRole( "vlc-key-input" );
 
     vLayout = new QVBoxLayout( this );
     selected = new QLabel( qtr( "Press the new keys for " ) + keyToChange );
index 9fa7615007094e18de85fcff3ae66a749314025f..950f724e9517ab6cd3ea95334b543fb0ed784e2f 100644 (file)
@@ -38,6 +38,7 @@ BookmarksDialog::BookmarksDialog( intf_thread_t *_p_intf ):QVLCFrame( _p_intf )
     setWindowFlags( Qt::Tool );
     setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
     setWindowTitle( qtr( "Edit Bookmarks" ) );
+    setWindowRole( "vlc-bookmarks" );
 
     QGridLayout *layout = new QGridLayout( this );
 
index 332aa85eade2f2917ff6f854dc89965c824b8d3e..cd2c8a8ab59466955bcc29668c1e838ba451fe42 100644 (file)
@@ -42,6 +42,7 @@ ConvertDialog::ConvertDialog( QWidget *parent, intf_thread_t *_p_intf,
               : QVLCDialog( parent, _p_intf )
 {
     setWindowTitle( qtr( "Convert" ) );
+    setWindowRole( "vlc-convert" );
 
     QGridLayout *mainLayout = new QGridLayout( this );
     SoutInputBox *inputBox = new SoutInputBox( this );
index a2bd94f73d44c7e92b93bcf86005c70a3967a7cb..2dd0b8b5c96dc40a8f1f65bceca2fbe5976123e1 100644 (file)
@@ -40,6 +40,7 @@ ErrorsDialog::ErrorsDialog( QWidget *parent, intf_thread_t *_p_intf )
              : QVLCDialog( parent, _p_intf )
 {
     setWindowTitle( qtr( "Errors" ) );
+    setWindowRole( "vlc-errors" );
     resize( 500 , 300 );
 
     QGridLayout *layout = new QGridLayout( this );
index ffc34f0e1abf36ffb2ebf8d97735e3646b3cba18..f4fe68b467457bba95625765ef4e6a30b908d142 100644 (file)
@@ -40,6 +40,7 @@ ExtendedDialog::ExtendedDialog( intf_thread_t *_p_intf ): QVLCFrame( _p_intf )
     setWindowFlags( Qt::Tool );
     setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
     setWindowTitle( qtr( "Adjustments and Effects" ) );
+    setWindowRole( "vlc-extended" );
 
     QGridLayout *layout = new QGridLayout( this );
     layout->setLayoutMargins( 0, 2, 0, 1, 1 );
index 69fa27e4cce6b8054976f4596fe5814503f3a204..f14586a3c546a19eeed30c424a202292ea0d3394 100644 (file)
@@ -106,6 +106,7 @@ void DialogHandler::requestLogin (vlc_object_t *, void *value)
     QLayout *layout = new QVBoxLayout (dialog);
 
     dialog->setWindowTitle (qfu(data->title));
+    dialog->setWindowRole ("vlc-login");
     layout->setMargin (2);
 
     /* User name and password fields */
@@ -185,6 +186,7 @@ QVLCProgressDialog::QVLCProgressDialog (DialogHandler *parent,
 {
     if (data->title != NULL)
         setWindowTitle (qfu(data->title));
+    setWindowRole ("vlc-progress");
     setMinimumDuration (0);
 
     connect (this, SIGNAL(progressed(int)), SLOT(setValue(int)));
index 78ecbc1e84e4e7b55dbed804648ba2abe775c442..5832acd52ffa377fe6011ce99a430c8a974f1832 100644 (file)
@@ -41,6 +41,7 @@ GotoTimeDialog::GotoTimeDialog( QWidget *parent, intf_thread_t *_p_intf)
 {
     setWindowFlags( Qt::Tool );
     setWindowTitle( qtr( "Go to Time" ) );
+    setWindowRole( "vlc-goto-time" );
 
     QGridLayout *mainLayout = new QGridLayout( this );
     mainLayout->setSizeConstraint( QLayout::SetFixedSize );
index edcba5253c8bbfb57ee5e93810f13b15107063c8..c793467316fdcbc9008faddb0251f31101a0d013 100644 (file)
@@ -53,6 +53,7 @@ HelpDialog::HelpDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
 
 {
     setWindowTitle( qtr( "Help" ) );
+    setWindowRole( "vlc-help" );
     setMinimumSize( 350, 300 );
 
     QGridLayout *layout = new QGridLayout( this );
@@ -85,6 +86,7 @@ AboutDialog::AboutDialog( QWidget *parent, intf_thread_t *_p_intf)
             : QVLCDialog( parent, _p_intf )
 {
     setWindowTitle( qtr( "About" ) );
+    setWindowRole( "vlc-about" );
     resize( 600, 500 );
     setMinimumSize( 600, 500 );
 
@@ -201,6 +203,7 @@ UpdateDialog *UpdateDialog::instance = NULL;
 UpdateDialog::UpdateDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
 {
     setWindowTitle( qtr( "VLC media player updates" ) );
+    setWindowRole( "vlc-update" );
 
     QGridLayout *layout = new QGridLayout( this );
 
index eb3f242c38a3dc7f409eacc3b1206222896a92b4..371e878a09fe1eec7d40b5383f17a694423cbc3c 100644 (file)
@@ -48,6 +48,7 @@ MediaInfoDialog::MediaInfoDialog( intf_thread_t *_p_intf,
     isMainInputInfo = ( p_item == NULL );
 
     setWindowTitle( qtr( "Media Information" ) );
+    setWindowRole( "vlc-media-info" );
 
     /* TabWidgets and Tabs creation */
     infoTabW = new QTabWidget;
index 9789cf710227d5782cc694e2b36246e64aec2665..06442e5fd629cf8a6580bf0746363751bb7535d8 100644 (file)
@@ -73,6 +73,7 @@ MessagesDialog::MessagesDialog( intf_thread_t *_p_intf)
                : QVLCFrame( _p_intf )
 {
     setWindowTitle( qtr( "Messages" ) );
+    setWindowRole( "vlc-messages" );
 
     /* General widgets */
     QGridLayout *mainLayout = new QGridLayout( this );
index 487745c5ddfce484afa09ef3b7157269dee05fe7..ceb356f3437f77e38cb81935586153d0d8f720b5 100644 (file)
@@ -78,6 +78,7 @@ OpenDialog::OpenDialog( QWidget *parent,
     /* Basic Creation of the Window */
     ui.setupUi( this );
     setWindowTitle( qtr( "Open Media" ) );
+    setWindowRole( "vlc-open-media" );
     setWindowModality( Qt::WindowModal );
 
     /* Tab definition and creation */
index 49a791b15478af2d230952ea36390064eb001b7b..24f4adc517491b5e3de0cd436b4e9af5c7d6a78c 100644 (file)
@@ -60,6 +60,7 @@ OpenUrlDialog::OpenUrlDialog( QWidget *parent,
         QVLCDialog( parent, _p_intf ), bClipboard( _bClipboard )
 {
     setWindowTitle( qtr( "Open URL" ) );
+    setWindowRole( "vlc-open-url" );
 
     /* Buttons */
     QPushButton *but;
index 2736e5279c3982fecec87e3c559362b66fe1ce96..2b518108c3c1af378cfc9e4d28e0ed565c0c8fd7 100644 (file)
@@ -41,6 +41,7 @@ PlaylistDialog::PlaylistDialog( intf_thread_t *_p_intf )
     QWidget *main = new QWidget( this );
     setCentralWidget( main );
     setWindowTitle( qtr( "Playlist" ) );
+    setWindowRole( "vlc-playlist" );
     setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
 
     QHBoxLayout *l = new QHBoxLayout( centralWidget() );
index 1575ca007700e175b8dc3552c2b9738d94b197c9..9ab3e36e607c2a0a14fa0f4fd890e41f71f4dfc9 100644 (file)
@@ -43,6 +43,7 @@ PluginDialog *PluginDialog::instance = NULL;
 PluginDialog::PluginDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
 {
     setWindowTitle( qtr( "Plugins and extensions" ) );
+    setWindowRole( "vlc-plugins" );
     QGridLayout *layout = new QGridLayout( this );
 
     /* Main Tree for modules */
index 89864d7a1649fe137020fff8a4592b07039ae227..150dea80ff29b71cbab2733c71366343b4f6e2d6 100644 (file)
@@ -44,6 +44,7 @@ PrefsDialog::PrefsDialog( QWidget *parent, intf_thread_t *_p_intf )
 {
     QGridLayout *main_layout = new QGridLayout( this );
     setWindowTitle( qtr( "Preferences" ) );
+    setWindowRole( "vlc-preferences" );
 
     /* Whether we want it or not, we need to destroy on close to get
        consistency when reset */
index ee603e5738263e7fd425a132a71fcc8c5d6dafcf..2b993891321063a585d806bfeca0d43cc7fd3522 100644 (file)
@@ -40,6 +40,7 @@ SoutDialog::SoutDialog( QWidget *parent, intf_thread_t *_p_intf, const QString&
            : QVLCDialog( parent,  _p_intf )
 {
     setWindowTitle( qtr( "Stream Output" ) );
+    setWindowRole( "vlc-stream-output" );
 
     /* UI stuff */
     ui.setupUi( this );
index f3a6ca353cf784ffb53ac52669e1540901a921fa..0f6702547757aca3d301d95fac29ead7dcf09c44 100644 (file)
@@ -45,6 +45,7 @@ ToolbarEditDialog::ToolbarEditDialog( QWidget *_w, intf_thread_t *_p_intf)
                   : QVLCDialog( _w,  _p_intf )
 {
     setWindowTitle( qtr( "Toolbars Editor" ) );
+    setWindowRole( "vlc-toolbars-editor" );
     QGridLayout *mainLayout = new QGridLayout( this );
     setMinimumWidth( 600 );
     setAttribute( Qt::WA_DeleteOnClose );
index 1807f3c5a1eb3dced4282abed71a194793c9f8c7..504d161db57f594083e2539cd18d4335e333e0dd 100644 (file)
@@ -105,6 +105,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
     /* Main settings */
     setFocusPolicy( Qt::StrongFocus );
     setAcceptDrops( true );
+    setWindowRole( "vlc-main" );
     setWindowIcon( QApplication::windowIcon() );
     setWindowOpacity( config_GetFloat( p_intf, "qt-opacity" ) );
 
@@ -605,6 +606,7 @@ int MainInterface::privacyDialog( QList<ConfigControl *> *controls )
     QDialog *privacy = new QDialog( this );
 
     privacy->setWindowTitle( qtr( "Privacy and Network Policies" ) );
+    privacy->setWindowRole( "vlc-privacy" );
 
     QGridLayout *gLayout = new QGridLayout( privacy );
 
index 405cefc5599e8bd9ba72110f6e34c5de1bb94b3b..57e9b3e3601dd2ae853b0b4e7c6373686fff6cfc 100644 (file)
@@ -267,6 +267,8 @@ static int Open (vlc_object_t *obj)
         = intern_string (conn, "_NET_WM_NAME");
     xcb_intern_atom_cookie_t net_wm_icon_name_ck
         = intern_string (conn, "_NET_WM_ICON_NAME");
+    xcb_intern_atom_cookie_t wm_window_role_ck
+        = intern_string (conn, "WM_WINDOW_ROLE");
 
     xcb_atom_t utf8 = get_atom (conn, utf8_string_ck);
 
@@ -283,6 +285,9 @@ static int Open (vlc_object_t *obj)
     xcb_atom_t net_wm_icon_name = get_atom (conn, net_wm_icon_name_ck);
     set_string (conn, window, utf8, net_wm_icon_name, _("VLC"));
 
+    xcb_atom_t wm_window_role = get_atom (conn, wm_window_role_ck);
+    set_ascii_prop (conn, window, wm_window_role, "vlc-video");
+
     /* Make the window visible */
     xcb_map_window (conn, window);