diff --git a/doc/skins/skins2-howto.xml b/doc/skins/skins2-howto.xml
index 81aa0ab95d..99bfa03a7f 100644
--- a/doc/skins/skins2-howto.xml
+++ b/doc/skins/skins2-howto.xml
@@ -848,6 +848,9 @@ difficulty to understand how VLC skins work.
vlc.fullscreen(): Toggle the fullscreen mode.
+
+ vlc.snapshot(): Take a snapshot (since VLC 0.8.5).
+
vlc.onTop(): Toggle the "Always on top" status (since VLC 0.8.0).
diff --git a/modules/gui/skins2/Modules.am b/modules/gui/skins2/Modules.am
index 55d1816e22..b72118cf49 100644
--- a/modules/gui/skins2/Modules.am
+++ b/modules/gui/skins2/Modules.am
@@ -32,6 +32,8 @@ SOURCES_skins2 = \
commands/cmd_quit.hpp \
commands/cmd_resize.cpp \
commands/cmd_resize.hpp \
+ commands/cmd_snapshot.cpp \
+ commands/cmd_snapshot.hpp \
commands/cmd_show_window.hpp \
commands/cmd_vars.cpp \
commands/cmd_vars.hpp \
diff --git a/modules/gui/skins2/commands/cmd_snapshot.cpp b/modules/gui/skins2/commands/cmd_snapshot.cpp
new file mode 100644
index 0000000000..8bf7d61331
--- /dev/null
+++ b/modules/gui/skins2/commands/cmd_snapshot.cpp
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * cmd_snapshot.cpp
+ *****************************************************************************
+ * Copyright (C) 2006 the VideoLAN team
+ * $Id$
+ *
+ * Authors: Olivier Teulière
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#include "cmd_snapshot.hpp"
+#include
+
+
+void CmdSnapshot::execute()
+{
+ vout_thread_t *pVout;
+
+ if( getIntf()->p_sys->p_input == NULL )
+ {
+ return;
+ }
+
+ pVout = (vout_thread_t *)vlc_object_find( getIntf()->p_sys->p_input,
+ VLC_OBJECT_VOUT, FIND_CHILD );
+ if( pVout )
+ {
+ // Take a snapshot
+ vout_Control( pVout, VOUT_SNAPSHOT );
+ vlc_object_release( pVout );
+ }
+}
+
diff --git a/modules/gui/skins2/commands/cmd_snapshot.hpp b/modules/gui/skins2/commands/cmd_snapshot.hpp
new file mode 100644
index 0000000000..e96e7c8e71
--- /dev/null
+++ b/modules/gui/skins2/commands/cmd_snapshot.hpp
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * cmd_snapshot.hpp
+ *****************************************************************************
+ * Copyright (C) 2003 the VideoLAN team
+ * $Id$
+ *
+ * Authors: Olivier Teulière
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifndef CMD_SNAPSHOT_HPP
+#define CMD_SNAPSHOT_HPP
+
+#include "cmd_generic.hpp"
+
+
+/// Command to snapshot VLC
+DEFINE_COMMAND(Snapshot, "snapshot" )
+
+#endif
diff --git a/modules/gui/skins2/parser/interpreter.cpp b/modules/gui/skins2/parser/interpreter.cpp
index 9bce12bf9b..b09e910e67 100644
--- a/modules/gui/skins2/parser/interpreter.cpp
+++ b/modules/gui/skins2/parser/interpreter.cpp
@@ -38,6 +38,7 @@
#include "../commands/cmd_fullscreen.hpp"
#include "../commands/cmd_on_top.hpp"
#include "../commands/cmd_show_window.hpp"
+#include "../commands/cmd_snapshot.hpp"
#include "../src/theme.hpp"
#include "../src/var_manager.hpp"
#include "../src/vlcproc.hpp"
@@ -108,6 +109,7 @@ Interpreter::Interpreter( intf_thread_t *pIntf ): SkinObject( pIntf )
REGISTER_CMD( "vlc.volumeDown()", CmdVolumeDown )
REGISTER_CMD( "vlc.minimize()", CmdMinimize )
REGISTER_CMD( "vlc.onTop()", CmdOnTop )
+ REGISTER_CMD( "vlc.snapshot()", CmdSnapshot )
REGISTER_CMD( "vlc.quit()", CmdQuit )
m_commandMap["equalizer.enable()"] =
CmdGenericPtr( new CmdSetEqualizer( getIntf(), true ) );