Commit a873747f authored by Lorenzo's avatar Lorenzo

First version

parents
imports.gi.versions.Gio = "2.0";
imports.gi.versions.GLib = "2.0";
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
class Configuration{
constructor(config_file, preferences){
if(typeof(config_file)=='string'){
this.config_file = Gio.File.new_for_path(config_file);
}else{
this.config_file = config_file;
}
let parent_dir = this.config_file.get_parent();
if(!parent_dir.query_exists(null)){
parent_dir.make_directory_with_parents(null);
}
this._preferences = preferences;
}
read(){
if(this.config_file.query_exists(null)){
let fstream = this.config_file.read(null);
let dstream = Gio.DataInputStream.new(fstream);
let text = dstream.read_upto("", -1, null);
fstream.close(null);
this._preferences = JSON.parse(text[0]);
}else{
this._preferences = {};
}
}
save(){
let fstream = this.config_file.replace(null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, null);
let dstream = Gio.DataOutputStream.new(fstream);
dstream.put_string(JSON.stringify(this._preferences), null);
fstream.close(null);
}
set preferences(preferences){
this._preferences = preferences;
}
get preferences(){
return this._preferences;
}
set(key, value){
this._preferences[key] = value;
}
get(key){
return this._preferences[key];
}
}
let configuration = new Configuration(GLib.get_home_dir() + '/.config/clipman/clipman.conf', {});
configuration.read();
print(JSON.stringify(configuration.preferences));
configuration.set('key6', 'value5');
configuration.save();
configuration.read();
print(JSON.stringify(configuration.preferences));
print(configuration.get('key3'));
/* jshint esnext:true */
/* -*- mode: js -*- */
/*
Copyright (c) 2011-2012, Giovanni Campagna <scampa.giovanni@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the GNOME nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
const Gettext = imports.gettext;
const Gio = imports.gi.Gio;
const Config = imports.misc.config;
const ExtensionUtils = imports.misc.extensionUtils;
/**
* initTranslations:
* @domain: (optional): the gettext domain to use
*
* Initialize Gettext to load translations from extensionsdir/locale.
* If @domain is not provided, it will be taken from metadata['gettext-domain']
*/
function initTranslations(domain) {
let extension = ExtensionUtils.getCurrentExtension();
domain = domain || extension.metadata['gettext-domain'];
// check if this extension was built with "make zip-file", and thus
// has the locale files in a subfolder
// otherwise assume that extension has been installed in the
// same prefix as gnome-shell
let localeDir = extension.dir.get_child('locale');
if (localeDir.query_exists(null))
Gettext.bindtextdomain(domain, localeDir.get_path());
else
Gettext.bindtextdomain(domain, Config.LOCALEDIR);
}
/**
* getSettings:
* @schema: (optional): the GSettings schema id
*
* Builds and return a GSettings schema for @schema, using schema files
* in extensionsdir/schemas. If @schema is not provided, it is taken from
* metadata['settings-schema'].
*/
function getSettings(schema) {
let extension = ExtensionUtils.getCurrentExtension();
schema = schema || extension.metadata['settings-schema'];
const GioSSS = Gio.SettingsSchemaSource;
// check if this extension was built with "make zip-file", and thus
// has the schema files in a subfolder
// otherwise assume that extension has been installed in the
// same prefix as gnome-shell (and therefore schemas are available
// in the standard folders)
let schemaDir = extension.dir.get_child('schemas');
let schemaSource;
if (schemaDir.query_exists(null))
schemaSource = GioSSS.new_from_directory(schemaDir.get_path(),
GioSSS.get_default(),
false);
else
schemaSource = GioSSS.get_default();
let schemaObj = schemaSource.lookup(schema, true);
if (!schemaObj)
throw new Error('Schema ' + schema + ' could not be found for extension ' + extension.metadata.uuid + '. Please check your installation.');
return new Gio.Settings({
settings_schema: schemaObj
});
}
/*
* Clipman
* This a extension for manage the Touchpad
* with GNOME Shell
*
* Copyright (C) 2018
* Lorenzo Carbonell <lorenzo.carbonell.cerezo@gmail.com>,
*
* This file is part of Clipman.
*
* Clipman 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 3 of the License, or
* (at your option) any later version.
*
* Clipman 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 gnome-shell-extension-openweather.
* If not, see <http://www.gnu.org/licenses/>.
*
*/
/*
imports.gi.versions.Gio = "2.0";
imports.gi.versions.GLib = "2.0";
imports.gi.versions.GObject = "2.0";
imports.gi.versions.Gtk = "3.0";
imports.gi.versions.Meta = "1";
imports.gi.versions.Pango = "1.0";
imports.gi.versions.Shell = "0.1";
*/
imports.gi.versions.St = "1.0";
imports.gi.versions.Clutter = "1.0";
imports.gi.versions.Gtk = "3.0";
imports.gi.versions.Gio = "2.0";
imports.gi.versions.GLib = "2.0";
/* Import St because is the library that allow you to create UI elements */
const St = imports.gi.St;
/* Import Clutter because is the library that allow you to layout UI elements */
const Clutter = imports.gi.Clutter;
const Gtk = imports.gi.Gtk;
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Cogl = imports.gi.Cogl;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const ExtensionUtils = imports.misc.extensionUtils;
const Extension = ExtensionUtils.getCurrentExtension();
const Convenience = Extension.imports.convenience;
const Configuration = Extension.imports.configuration.Configuration;
const Gettext = imports.gettext.domain(Extension.uuid);
const _ = Gettext.gettext;
class ActionsIcons extends St.BoxLayout{
constructor(on_copy, on_delete){
super({vertical: true,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.copy_icon = new St.Icon({icon_name: 'copy',
icon_size: 48,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.copy_icon.connect('click', on_copy);
this.add(this.copy_icon);
this.delete_icon = new St.Icon({icon_name: 'delete',
icon_size: 48,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.delete_icon.connect('click', on_delete);
this.add(this.delete_icon);
}
}
class TextItem extends St.BoxLayout{
constructor(text, on_copy, on_delete){
super({vertical: false,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
text_label = new St.Label({text: text,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.add(text_label);
this.add(new ActionsIcons(on_copy, on_delete));
this._text = text;
}
}
class ImageItem extends St.BoxLayout{
constructor(pixbuf, on_copy, on_delete){
super({vertical: false,
y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.image_container = new St.Bin({y_align: Clutter.ActorAlign.CENTER,
x_align: Clutter.ActorAlign.CENTER});
this.add(this.image_container);
this.add(new ActionsIcons(on_copy, on_delete));
this._pixbuf = pixbuf;
this
}
set_image(pixbuf){
let thumbnail_pixbuf = pixbuf.scale_simple(256, 256, GdkPixbuf.InterpType. BILINEAR)
let {width, height} = thumbnail_pixbuf;
if (height == 0) {
return;
}
let image = new Clutter.Image();
let success = image.set_data(
thumbnail_pixbuf.get_pixels(),
thumbnail_pixbuf.get_has_alpha()
? Cogl.PixelFormat.RGBA_8888
: Cogl.PixelFormat.RGB_888,
width,
height,
thumbnail_pixbuf.get_rowstride()
);
if (!success) {
throw Error("error creating Clutter.Image()");
}
this.image_container.set_child(image);
}
}
class Clipman extends PanelMenu.Button{
constructor(){
super(St.Align.START);
Gtk.IconTheme.get_default().append_search_path(
Extension.dir.get_child('icons').get_path());
let box = new St.BoxLayout();
let label = new St.Label({text: 'Button',
y_expand: true,
y_align: Clutter.ActorAlign.CENTER });
//box.add(label);
this.icon = new St.Icon({icon_name: 'clipman',
style_class: 'system-status-icon'});
box.add(this.icon);
//box.add(PopupMenu.arrowIcon(St.Side.BOTTOM));
this.actor.add_child(box);
log('--- init menu start');
this.touchpadSwitch = new PopupMenu.PopupSwitchMenuItem(_('Touchpad status'),
{active: true})
this.touchpadSwitch.label.set_text(_('Disable touchpad'));
this.touchpadSwitch.connect('toggled', (widget, value) => {
log('--- active: ' + value);
log('--- active: ' + widget);
if(value){
this.icon.set_icon_name('touchpad-light-enabled');
this.touchpadSwitch.label.set_text(_('Disable touchpad'));
notify('Touchpad Manager',
_('Touchpad enabled'),
'touchpad-light-enabled');
}else{
this.icon.set_icon_name('touchpad-light-disabled');
this.touchpadSwitch.label.set_text(_('Enable touchpad'));
notify('Touchpad Manager',
_('Touchpad disabled'),
'touchpad-light-disabled');
}
});
this.menu.addMenuItem(this.touchpadSwitch)
this.settingsMenuItem = new PopupMenu.PopupMenuItem(_("Settings"));
this.settingsMenuItem.connect('activate', () => {
GLib.spawn_command_line_async(
"gnome-shell-extension-prefs touchpad-manager@atareao.es"
);
});
this.menu.addMenuItem(this.settingsMenuItem);
this.menu.addMenuItem(this._get_help());
}
_create_help_menu_item(text, icon_name, url){
let menu_item = new PopupMenu.PopupImageMenuItem(text, icon_name);
menu_item.connect('activate', () => {
Gio.app_info_launch_default_for_uri(url, null);
});
return menu_item;
}
_get_help(){
let menu_help = new PopupMenu.PopupSubMenuMenuItem(_('Help'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Project Page'), 'github', 'https://github.com/atareao/Touchpad-Indicator'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Get help online...'), 'help-online', 'https://www.atareao.es/aplicacion/touchpad-indicator-para-ubuntu/'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Translate this application...'), 'translate', 'https://translations.launchpad.net/touchpad-indicator'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Report a bug...'), 'bug', 'https://github.com/atareao/Touchpad-Indicator/issues'));
menu_help.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('El atareao'), 'web', 'https://www.atareao.es'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Follow me in Twitter'), 'twitter', 'https://twitter.com/atareao'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Follow me in Facebook'), 'facebook', 'http://www.facebook.com/elatareao'));
menu_help.menu.addMenuItem(this._create_help_menu_item(
_('Follow me in Google+'), 'google', 'https://plus.google.com/118214486317320563625/posts'));
return menu_help;
}
}
var button;
function init() {
log('--- inicio ---')
Convenience.initTranslations();
var settings = Convenience.getSettings();
}
function enable() {
button = new TouchpadManagerButton();
Main.panel.addToStatusArea('Touchpad-Indicator', button, 0, 'right');
}
function disable() {
button.destroy();
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 18.663563 18.663563"
xml:space="preserve"
width="24"
height="24"
inkscape:version="0.91 r13725"
sodipodi:docname="bug.svg"><metadata
id="metadata79"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs77" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1871"
inkscape:window-height="875"
id="namedview75"
showgrid="false"
inkscape:zoom="11.813324"
inkscape:cx="9.2691947"
inkscape:cy="11.6394"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1" /><g
id="g3"
transform="matrix(0.0429686,0,0,0.0429686,0.7776568,0.77766418)"><g
id="g5"><path
style="fill:#333e48"
d="m 318.541,186.354 c -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.357,-7.5 7.5,-7.5 18.034,0 32.706,-14.672 32.706,-32.707 0,-4.142 3.358,-7.5 7.5,-7.5 4.143,0 7.5,3.358 7.5,7.5 0,26.306 -21.4,47.707 -47.706,47.707 z"
id="path7"
inkscape:connector-curvature="0" /><path
style="fill:#333e48"
d="m 370.811,293.238 c -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-18.034 -14.672,-32.706 -32.707,-32.706 -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.357,-7.5 7.5,-7.5 26.306,0 47.707,21.401 47.707,47.706 0,4.142 -3.358,7.5 -7.5,7.5 z"
id="path9"
inkscape:connector-curvature="0" /><path
style="fill:#333e48"
d="m 337.645,380.993 c -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-18.034 -14.672,-32.706 -32.707,-32.706 -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-4.142 3.357,-7.5 7.5,-7.5 26.306,0 47.707,21.401 47.707,47.706 0,4.142 -3.358,7.5 -7.5,7.5 z"
id="path11"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 318.541,186.354 c 12.137,0 23.223,-4.563 31.65,-12.053 -2.201,-4.763 -4.619,-9.405 -7.244,-13.912 -5.994,6.722 -14.713,10.965 -24.406,10.965 -4.143,0 -7.5,3.358 -7.5,7.5 0,4.142 3.357,7.5 7.5,7.5 z"
id="path13"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 297.438,325.787 c -4.143,0 -7.5,3.358 -7.5,7.5 0,4.142 3.357,7.5 7.5,7.5 10.806,0 20.4,5.27 26.358,13.372 3.384,-3.829 6.593,-7.814 9.617,-11.944 -8.753,-10.054 -21.63,-16.428 -35.975,-16.428 z"
id="path15"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 330.604,238.032 c -4.143,0 -7.5,3.358 -7.5,7.5 0,4.142 3.357,7.5 7.5,7.5 15.072,0 27.789,10.25 31.563,24.144 1.593,-7.88 2.629,-15.96 3.065,-24.201 -8.702,-9.191 -21.002,-14.943 -34.628,-14.943 z"
id="path17"
inkscape:connector-curvature="0" /></g><path
style="fill:#333e48"
d="m 232.216,47.724 c -0.464,0 -0.935,-0.043 -1.406,-0.133 -4.069,-0.772 -6.743,-4.697 -5.971,-8.766 4.901,-25.846 29.921,-42.882 55.758,-37.985 4.069,0.771 6.743,4.696 5.972,8.766 -0.772,4.07 -4.696,6.743 -8.767,5.972 -17.723,-3.36 -34.865,8.324 -38.227,26.042 -0.681,3.597 -3.828,6.104 -7.359,6.104 z"
id="path19"
inkscape:connector-curvature="0" /><g
id="g21"><path
style="fill:#333e48"
d="m 79.615,186.354 c -26.306,0 -47.706,-21.401 -47.706,-47.707 0,-4.142 3.357,-7.5 7.5,-7.5 4.142,0 7.5,3.358 7.5,7.5 0,18.035 14.672,32.707 32.706,32.707 4.143,0 7.5,3.358 7.5,7.5 0,4.142 -3.357,7.5 -7.5,7.5 z"
id="path23"
inkscape:connector-curvature="0" /><path
style="fill:#333e48"
d="m 27.346,293.238 c -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-26.305 21.401,-47.706 47.707,-47.706 4.143,0 7.5,3.358 7.5,7.5 0,4.142 -3.357,7.5 -7.5,7.5 -18.035,0 -32.707,14.672 -32.707,32.706 0,4.142 -3.358,7.5 -7.5,7.5 z"
id="path25"
inkscape:connector-curvature="0" /><path
style="fill:#333e48"
d="m 60.512,380.993 c -4.143,0 -7.5,-3.358 -7.5,-7.5 0,-26.305 21.401,-47.706 47.707,-47.706 4.143,0 7.5,3.358 7.5,7.5 0,4.142 -3.357,7.5 -7.5,7.5 -18.035,0 -32.707,14.672 -32.707,32.706 0,4.142 -3.358,7.5 -7.5,7.5 z"
id="path27"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 87.115,178.854 c 0,-4.142 -3.357,-7.5 -7.5,-7.5 -9.693,0 -18.411,-4.243 -24.405,-10.964 -2.626,4.506 -5.043,9.148 -7.245,13.912 8.429,7.49 19.514,12.053 31.65,12.053 4.143,-10e-4 7.5,-3.359 7.5,-7.501 z"
id="path29"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 75.053,245.532 c 0,-4.142 -3.357,-7.5 -7.5,-7.5 -13.626,0 -25.926,5.751 -34.627,14.942 0.437,8.24 1.473,16.321 3.065,24.2 3.774,-13.893 16.49,-24.142 31.561,-24.142 4.143,0 7.501,-3.358 7.501,-7.5 z"
id="path31"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 100.719,325.787 c -14.346,0 -27.223,6.373 -35.976,16.427 3.025,4.13 6.233,8.115 9.617,11.944 5.959,-8.101 15.553,-13.371 26.358,-13.371 4.143,0 7.5,-3.358 7.5,-7.5 10e-4,-4.142 -3.357,-7.5 -7.499,-7.5 z"
id="path33"
inkscape:connector-curvature="0" /></g><path
style="fill:#333e48"
d="m 165.94,47.724 c -3.532,0 -6.678,-2.506 -7.359,-6.104 -3.361,-17.718 -20.507,-29.4 -38.226,-26.042 -4.069,0.772 -7.994,-1.901 -8.767,-5.972 -0.771,-4.069 1.902,-7.994 5.972,-8.766 25.842,-4.901 50.857,12.139 55.758,37.984 0.772,4.069 -1.901,7.994 -5.971,8.766 -0.472,0.09 -0.943,0.134 -1.407,0.134 z"
id="path35"
inkscape:connector-curvature="0" /><circle
style="fill:#ff5959"
cx="199.07899"
cy="244.02499"
r="154.13"
id="circle37" /><g
id="g39"><path
style="fill:#333e48"
d="m 199.078,365.125 c -6.729,13.254 -17.948,23.839 -31.653,29.762 10.217,2.134 20.802,3.27 31.653,3.27 10.847,0 21.421,-1.145 31.633,-3.279 -13.695,-5.925 -24.907,-16.505 -31.633,-29.753 z"
id="path41"
inkscape:connector-curvature="0" /><path
style="opacity:0.3;fill:#222222"
d="m 199.078,365.125 c -6.729,13.254 -17.948,23.839 -31.653,29.762 4.084,0.853 8.229,1.539 12.424,2.064 8.052,-5.909 14.673,-13.653 19.229,-22.628 4.555,8.972 11.173,16.714 19.222,22.622 4.19,-0.527 8.33,-1.214 12.411,-2.067 -13.695,-5.925 -24.907,-16.505 -31.633,-29.753 z"
id="path43"
inkscape:connector-curvature="0" /></g><path
style="opacity:0.3;fill:#222222"
d="m 199.078,89.895 c -85.124,0 -154.13,69.007 -154.13,154.13 0,85.124 69.006,154.131 154.13,154.131 l 0,-308.261 z"
id="path45"
inkscape:connector-curvature="0" /><g
id="g47"><path
style="fill:#333e48"
d="m 311.209,138.286 c -14.786,0.072 -26.75,12.078 -26.75,26.88 0,14.848 12.036,26.884 26.884,26.884 11.611,0 21.503,-7.362 25.263,-17.672 -6.722,-13.247 -15.301,-25.391 -25.397,-36.092 z"
id="path49"
inkscape:connector-curvature="0" /><circle
style="fill:#333e48"
cx="257.57501"
cy="266.74799"
r="26.884001"
id="circle51" /><path
style="fill:#333e48"
d="m 292.734,344.354 c -14.847,0 -26.884,12.036 -26.884,26.884 0,3.785 0.786,7.386 2.198,10.652 15.795,-7.917 30.041,-18.464 42.16,-31.074 -4.698,-4.026 -10.799,-6.462 -17.474,-6.462 z"
id="path53"
inkscape:connector-curvature="0" /></g><g
id="g55"><path
style="fill:#333e48"
d="m 86.947,138.286 c 14.786,0.072 26.75,12.078 26.75,26.88 0,14.848 -12.036,26.884 -26.884,26.884 -11.611,0 -21.503,-7.362 -25.263,-17.672 6.722,-13.247 15.303,-25.391 25.397,-36.092 z"
id="path57"
inkscape:connector-curvature="0" /><circle
style="fill:#333e48"
cx="140.58099"
cy="266.74799"
r="26.884001"
id="circle59" /><path
style="fill:#333e48"
d="m 105.422,344.354 c 14.848,0 26.884,12.036 26.884,26.884 0,3.785 -0.786,7.386 -2.198,10.652 -15.795,-7.917 -30.041,-18.464 -42.16,-31.074 4.699,-4.026 10.8,-6.462 17.474,-6.462 z"
id="path61"
inkscape:connector-curvature="0" /></g><g
id="g63"><path
style="fill:#333e48"
d="m 199.078,5.158 c -52.156,0 -94.436,42.281 -94.436,94.438 0,7.163 0.823,14.13 2.334,20.836 l 0.005,-0.005 c 29.737,19.248 66.712,26.921 92.098,26.921 25.386,0 62.36,-7.673 92.098,-26.921 l 0.004,0.007 c 1.512,-6.707 2.335,-13.675 2.335,-20.838 C 293.515,47.439 251.234,5.158 199.078,5.158 Z"
id="path65"
inkscape:connector-curvature="0" /><g
id="g67"><path
style="fill:#d1d3d3"
d="m 275.675,44.387 c -10.183,1.153 -18.1,9.786 -18.1,20.278 0,11.277 9.142,20.419 20.419,20.419 5.167,0 9.872,-1.935 13.469,-5.099 -2.762,-13.072 -8.233,-25.134 -15.788,-35.598 z"
id="path69"
inkscape:connector-curvature="0" /><path
style="fill:#d1d3d3"
d="m 122.481,44.387 c 10.183,1.153 18.1,9.786 18.1,20.278 0,11.277 -9.143,20.419 -20.419,20.419 -5.167,0 -9.872,-1.935 -13.469,-5.099 2.762,-13.072 8.233,-25.134 15.788,-35.598 z"
id="path71"
inkscape:connector-curvature="0" /></g></g><path
style="opacity:0.3;fill:#222222"
d="m 104.642,99.595 c 0,7.163 0.823,14.13 2.334,20.836 l 0.005,-0.005 c 29.737,19.248 66.712,26.921 92.098,26.921 l 0,-142.189 c -52.157,0 -94.437,42.281 -94.437,94.437 z"
id="path73"
inkscape:connector-curvature="0" /></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Capa_1"
x="0px"
y="0px"
width="100"
height="100"
viewBox="0 0 100 100"
xml:space="preserve"
sodipodi:docname="clipman.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata41"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs39">
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1025"
id="namedview37"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="3.7649685"
inkscape:cx="66.667225"
inkscape:cy="33.37788"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1"><sodipodi:guide
position="478.68927,139.84181"
orientation="0,1"
id="guide869"
inkscape:locked="false" /></sodipodi:namedview>
<g
id="g6"
transform="translate(0,-376)">
</g>
<g
id="g8"
transform="translate(0,-376)">
</g>
<g
id="g10"
transform="translate(0,-376)">
</g>
<g
id="g12"
transform="translate(0,-376)">
</g>
<g
id="g14"
transform="translate(0,-376)">
</g>
<g
id="g16"
transform="translate(0,-376)">
</g>
<g
id="g18"
transform="translate(0,-376)">
</g>
<g
id="g20"
transform="translate(0,-376)">
</g>
<g
id="g22"
transform="translate(0,-376)">
</g>
<g
id="g24"
transform="translate(0,-376)">
</g>
<g
id="g26"
transform="translate(0,-376)">
</g>
<g
id="g28"
transform="translate(0,-376)">
</g>
<g
id="g30"
transform="translate(0,-376)">
</g>
<g
id="g32"
transform="translate(0,-376)">
</g>
<g
id="g34"
transform="translate(0,-376)">
</g>
<path
style="stroke-width:0.21008404;stroke:none;stroke-opacity:1;fill:#dfdbd3;fill-opacity:1"
d="M 49.943359 5 C 47.213317 5 45 7.2133174 45 9.9433594 L 45 10.013672 C 45 11.189303 44.046724 12.142578 42.871094 12.142578 L 40.671875 12.142578 C 38.329018 12.142578 36.427734 14.041909 36.427734 16.384766 L 36.427734 16.470703 C 36.427734 18.81356 38.329018 20.714844 40.671875 20.714844 L 59.328125 20.714844 C 61.670982 20.714844 63.572266 18.81356 63.572266 16.470703 L 63.572266 16.384766 C 63.572266 14.041909 61.670982 12.142578 59.328125 12.142578 L 57.128906 12.142578 C 55.953276 12.142578 55 11.189303 55 10.013672 L 55 9.9433594 C 55 7.2133174 52.786683 5 50.056641 5 L 49.943359 5 z M 50 7.8574219 C 51.182773 7.8574219 52.142578 8.8170165 52.142578 10 C 52.142578 11.182983 51.182983 12.142578 50 12.142578 C 48.817227 12.142578 47.857422 11.182983 47.857422 10 C 47.857422 8.8172265 48.817227 7.8574219 50 7.8574219 z M 17.142578 15 C 15.415477 15 12.857422 17.559172 12.857422 20.714844 L 12.857422 95 L 87.142578 95 L 87.142578 20.714844 C 87.142578 17.559172 84.584243 15 80 15 L 66.289062 15 C 66.377719 15.448739 66.429688 15.910606 66.429688 16.384766 C 66.429688 20.386236 63.243882 23.572266 59.328125 23.572266 L 40.671875 23.572266 C 36.756119 23.572266 33.572266 20.384989 33.572266 16.470703 C 33.572266 15.965031 33.623643 15.474159 33.720703 15 L 17.142578 15 z M 20 30.714844 L 80 30.714844 L 80 87.857422 L 20 87.857422 L 20 30.714844 z M 24.201172 34.916016 L 24.201172 39.117188 L 75.798828 39.117188 L 75.798828 34.916016 L 24.201172 34.916016 z M 24.201172 43.318359 L 24.201172 47.521484 L 75.798828 47.521484 L 75.798828 43.318359 L 24.201172 43.318359 z M 24.201172 51.722656 L 24.201172 55.923828 L 75.798828 55.923828 L 75.798828 51.722656 L 24.201172 51.722656 z M 24.201172 60.126953 L 24.201172 64.328125 L 75.798828 64.328125 L 75.798828 60.126953 L 24.201172 60.126953 z M 24.201172 68.529297 L 24.201172 72.730469 L 75.798828 72.730469 L 75.798828 68.529297 L 24.201172 68.529297 z M 24.201172 76.933594 L 24.201172 81.134766 L 75.798828 81.134766 L 75.798828 76.933594 L 24.201172 76.933594 z "
id="path2" /></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Capa_1"
x="0px"
y="0px"
viewBox="0 0 24 24"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="facebook.svg"
width="24"
height="24"><metadata
id="metadata43"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs41" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1051"
id="namedview39"
showgrid="false"
inkscape:zoom="3.796875"
inkscape:cx="90.776778"
inkscape:cy="-33.229081"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Capa_1" /><g
id="g9"
transform="translate(0,-588)" /><g
id="g11"
transform="translate(0,-588)" /><g
id="g13"
transform="translate(0,-588)" /><g
id="g15"
transform="translate(0,-588)" /><g
id="g17"
transform="translate(0,-588)" /><g
id="g19"
transform="translate(0,-588)" /><g
id="g21"
transform="translate(0,-588)" /><g
id="g23"
transform="translate(0,-588)" /><g
id="g25"
transform="translate(0,-588)" /><g
id="g27"
transform="translate(0,-588)" /><g
id="g29"
transform="translate(0,-588)" /><g
id="g31"
transform="translate(0,-588)" /><g
id="g33"
transform="translate(0,-588)" /><g
id="g35"
transform="translate(0,-588)" /><g
id="g37"
transform="translate(0,-588)" /><path
inkscape:connector-curvature="0"
style="fill:#3a559f"
d="m 2,2 0,20 10.651219,0 0,-7.725583 -2.603735,0 0,-3.153797 2.603735,0 0,-2.64863 c 0,-1.926272 1.561539,-3.487811 3.487811,-3.487811 l 2.722006,0 0,2.835978 -1.947732,0 c -0.612073,0 -1.108288,0.496215 -1.108288,1.1082876 l 0,2.1922194 3.007088,0 -0.415597,3.153797 -2.591491,0 0,7.725539 L 22,22 22,2 2,2 Z"
id="path3" /></svg>
\ No newline at end of file