From 81bb7009ea120d3e4821b8ce53bac3932c7e4461 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Wed, 17 Jul 2013 21:22:54 -0400 Subject: [PATCH] components: Remove the built-in recorder keybinding and component The keybinding is now part of gnome-settings-daemon --- data/org.gnome.shell.gschema.xml.in.in | 46 ------------------- js/Makefile.am | 1 - js/ui/components/recorder.js | 61 -------------------------- js/ui/sessionMode.js | 8 ++-- 4 files changed, 3 insertions(+), 113 deletions(-) delete mode 100644 js/ui/components/recorder.js diff --git a/data/org.gnome.shell.gschema.xml.in.in b/data/org.gnome.shell.gschema.xml.in.in index 816a1bc4e..aa289ff51 100644 --- a/data/org.gnome.shell.gschema.xml.in.in +++ b/data/org.gnome.shell.gschema.xml.in.in @@ -74,7 +74,6 @@ value here is from the GsmPresenceStatus enumeration. - @@ -128,13 +127,6 @@ value here is from the GsmPresenceStatus enumeration. Keybinding to focus the active notification. - - r']]]> - <_summary>Keybinding to toggle the screen recorder - <_description> - Keybinding to start/stop the builtin screen recorder. - - - - - 30 - <_summary>Framerate used for recording screencasts. - <_description> - The framerate of the resulting screencast recordered - by GNOME Shell's screencast recorder in frames-per-second. - - - - '' - <_summary>The gstreamer pipeline used to encode the screencast - <_description> - Sets the GStreamer pipeline used to encode recordings. - It follows the syntax used for gst-launch. The pipeline should have - an unconnected sink pad where the recorded video is recorded. It will - normally have a unconnected source pad; output from that pad - will be written into the output file. However the pipeline can also - take care of its own output - this might be used to send the output - to an icecast server via shout2send or similar. When unset or set - to an empty value, the default pipeline will be used. This is currently - 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' - and records to WEBM using the VP8 codec. %T is used as a placeholder - for a guess at the optimal thread count on the system. - - - - 'webm' - <_summary>File extension used for storing the screencast - <_description> - The filename for recorded screencasts will be a unique filename - based on the current date, and use this extension. It should be - changed when recording to a different container format. - - - - diff --git a/js/Makefile.am b/js/Makefile.am index cfaf1048c..11a1d5f4b 100644 --- a/js/Makefile.am +++ b/js/Makefile.am @@ -115,7 +115,6 @@ nobase_dist_js_DATA = \ ui/components/automountManager.js \ ui/components/networkAgent.js \ ui/components/polkitAgent.js \ - ui/components/recorder.js \ ui/components/telepathyClient.js \ ui/components/keyring.js \ $(NULL) diff --git a/js/ui/components/recorder.js b/js/ui/components/recorder.js deleted file mode 100644 index 863bd8042..000000000 --- a/js/ui/components/recorder.js +++ /dev/null @@ -1,61 +0,0 @@ - -const Lang = imports.lang; -const Main = imports.ui.main; - -const Gio = imports.gi.Gio; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; - -const Recorder = new Lang.Class({ - Name: 'Recorder', - - _init: function() { - this._recorderSettings = new Gio.Settings({ schema: 'org.gnome.shell.recorder' }); - this._desktopLockdownSettings = new Gio.Settings({ schema: 'org.gnome.desktop.lockdown' }); - this._bindingSettings = new Gio.Settings({ schema: 'org.gnome.shell.keybindings' }); - this._recorder = null; - }, - - enable: function() { - Main.wm.addKeybinding('toggle-recording', - this._bindingSettings, - Meta.KeyBindingFlags.NONE, - Shell.KeyBindingMode.ALL, - Lang.bind(this, this._toggleRecorder)); - }, - - disable: function() { - Main.wm.removeKeybinding('toggle-recording'); - }, - - _ensureRecorder: function() { - if (this._recorder == null) - this._recorder = new Shell.Recorder({ stage: global.stage }); - return this._recorder; - }, - - _toggleRecorder: function() { - let recorder = this._ensureRecorder(); - if (recorder.is_recording()) { - recorder.close(); - Meta.enable_unredirect_for_screen(global.screen); - } else if (!this._desktopLockdownSettings.get_boolean('disable-save-to-disk')) { - // read the parameters from GSettings always in case they have changed - recorder.set_framerate(this._recorderSettings.get_int('framerate')); - /* Translators: this is a filename used for screencast recording */ - // xgettext:no-c-format - recorder.set_file_template(_("Screencast from %d %t") + '.' + this._recorderSettings.get_string('file-extension')); - let pipeline = this._recorderSettings.get_string('pipeline'); - - if (!pipeline.match(/^\s*$/)) - recorder.set_pipeline(pipeline); - else - recorder.set_pipeline(null); - - Meta.disable_unredirect_for_screen(global.screen); - recorder.record(); - } - } -}); - -const Component = Recorder; diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js index 0f8b09170..eb04c6240 100644 --- a/js/ui/sessionMode.js +++ b/js/ui/sessionMode.js @@ -21,6 +21,7 @@ const _modes = { showCalendarEvents: false, allowSettings: false, allowExtensions: false, + allowScreencast: false, enabledExtensions: [], hasRunDialog: false, hasWorkspaces: false, @@ -83,6 +84,7 @@ const _modes = { showCalendarEvents: true, allowSettings: true, allowExtensions: true, + allowScreencast: true, hasRunDialog: true, hasWorkspaces: true, hasWindows: true, @@ -91,7 +93,7 @@ const _modes = { isPrimary: true, unlockDialog: imports.ui.unlockDialog.UnlockDialog, components: ['networkAgent', 'polkitAgent', 'telepathyClient', - 'keyring', 'recorder', 'autorunManager', 'automountManager'], + 'keyring', 'autorunManager', 'automountManager'], panel: { left: ['activities', 'appMenu'], center: ['dateMenu'], @@ -183,10 +185,6 @@ const SessionMode = new Lang.Class({ return this._modeStack[this._modeStack.length - 1]; }, - get allowScreencast() { - return this.components.indexOf('recorder') != -1; - }, - _sync: function() { let params = this._modes[this.currentMode]; let defaults;