GNOME Bugzilla – Bug 661426
Implement GNOME Screencast tool
Last modified: 2011-10-26 08:46:32 UTC
The GNOME Screencast tool will be a tool similar to GNOME Screenshot, but focused on recording screencasts of the desktop. optionaly you can: * capture video from a webcam and render it in one of the corners of the screen * enable cursor highlighting for emphasizing the position and movements of the cursor * enable rendering of a graphical representation of: ** pointer events such as mouse clicks ** and keyboard events such as key-strokes The GNOME Screencast toll will not directly implement the recording features, but instead it will simply configure these features that are (or will be) available in the core gnome-shell-recorder component via DBUS calls. We will have both a command line interface and a GUI and we still need to figure out what is the best way to startup the GUI. While GNOME-Screenshot opens when the user press the print-screen key, we need to choose some other key, or key-combo) for screencasts. Or, even better, hook both the screenshot and the screencast tools to the same key, after all, grabing a screenshot and recording a screencast are both actions analogue to "printing" the screen. I suggest that uppon pressing PrintScr key we should show to the user a very simple chooser with a photo-camera icon for GNOME Screenshot and a webcam icon for GNOME Screencast.
Created attachment 198751 [details] [review] Initial implementation This patch depends on the DBUS interface and webcam overlay feature implemented in bug 660203.
gnome-utils is dead. This should be a new module.
Review of attachment 198751 [details] [review]: You need to talk to other GNOME designers and developers about this new feature and ask for their input. Do we want to make this a part of gnome-screenshot? Cheese? If we decide to make it a new module in 3.4, you should at least talk to the Cheese and gnome-screenshot guys (read: Cosimo) to see if you can share some code and implementation. Besides that, this code has an inconsistent code style. Traditional GNOME uses the GNU style: Bar *bar; if (foo) { bar = foo; bar_set_is_foo (bar, TRUE); } else bar = baz; Each module can decide their own code style, of course. But I'd recommend that you at least be consistent. ::: gnome-screencast/gnome-screencast.c @@ +55,3 @@ + + N_COLUMNS +}; Unused. @@ +62,3 @@ + TEST_DESKTOP = 1, + TEST_TMP = 2, +} TestType; Unused. @@ +72,3 @@ + GdkWindow *window; + GdkRectangle *rectangle; +} AsyncExistenceJob; Unused. @@ +95,3 @@ +static void save_options (void); + +static GtkWidget *border_check = NULL; Unused. @@ +99,3 @@ +static GtkWidget *effect_label = NULL; +static GtkWidget *effects_vbox = NULL; +static GtkWidget *delay_hbox = NULL; Unused. @@ +102,3 @@ + +void +screencast_show_error_dialog (GtkWindow *parent, Don't functions without declarations need to be marked "static"? @@ +153,3 @@ + + gtk_show_uri (gtk_window_get_screen (parent), + "ghelp:user-guide#goseditmainmenu-53", This is the old GNOME Screenshot URI. @@ +397,3 @@ + "org.gnome.Shell", + "ScreencastSetWebcamDevice", + g_variant_new ("(s)", webcam_device ? webcam_device : "/dev/video0"), /*TODO: get this value from a combo box*/ TODO: get this value automatically from Cheese. @@ +492,3 @@ + gchar *screencast_dir; + + screencast_dir = g_strconcat ("file://", g_get_user_special_dir (G_USER_DIRECTORY_PICTURES), NULL); PICTURES? @@ +572,3 @@ + +static void +register_screenshooter_icon (GtkIconFactory * factory) screenshooter? ::: gnome-screencast/gnome-screencast.convert @@ +1,1 @@ +[org.gnome.gnome-screencast] This file is useless, given that the GConf settings don't really exist on a new app...
Created attachment 199225 [details] [review] Initial implementation Updating the patch. Now it uses libcheese to auto-detect devices that are listed in a combo box for the user to choose. If there's only one device, that is auto-selected. When there's no device available, the webcam_overlay combo box is auto-deselected and greyed out. Please review.
(In reply to comment #4) > Created an attachment (id=199225) [details] [review] > Initial implementation > > Updating the patch. Now it uses libcheese to auto-detect devices that are > listed in a combo box for the user to choose. If there's only one device, that > is auto-selected. When there's no device available, the webcam_overlay combo > box is auto-deselected and greyed out. > > Please review. Hi Felipe, thanks a lot for your interest in this project. As Jasper said, gnome-utils as a GNOME module doesn't exist anymore starting this cycle (see [1]) so your application should really be a standalone module (GNOME Screenshot is standalone too now, see e.g. [2]). Rules and steps for a new module in the GNOME git repository are outlined here [3]; feel also free to introduce your project on desktop-devel-list or gnome-shell-list to get some feedback from the larger GNOME community about the features you want to implement. This bug is really WONTFIX, just because you should be totally free to develop this application on git.gnome.org or anywhere else you like, without any involvement of gnome-utils maintainers (but feel free to reach out to us if you need any help :)) [1] https://mail.gnome.org/archives/desktop-devel-list/2011-September/msg00121.html [2] http://git.gnome.org/browse/gnome-screenshot [3] https://live.gnome.org/Git/NewRepository