fix merge conflicts

This commit is contained in:
Arne Sellmann 2018-11-12 12:58:38 +00:00
commit 26f5ae29c3
121 changed files with 13932 additions and 745 deletions

View file

@ -10,12 +10,12 @@ test:
nosetests
deb-source: clean
gbp buildpackage -S
gbp buildpackage -S --git-debian-branch=${GITBRANCH}
mkdir -p build
mv ../lutris_0* build
deb: clean
gbp buildpackage
gbp buildpackage --git-debian-branch=${GITBRANCH}
mkdir -p build
mv ../lutris_0* build

1
debian/control vendored
View file

@ -22,6 +22,7 @@ Depends: ${misc:Depends},
python3-yaml,
python3-gi,
gir1.2-gtk-3.0,
gir1.2-gnomedesktop-3.0,
psmisc,
cabextract,
unrar,

View file

@ -322,9 +322,10 @@ Writing into an INI type config file
Modify or create a config file with the ``write_config`` directive. A config file
is a text file composed of key=value (or key: value) lines grouped under
[sections]. Use the ``file`` (an absolute path or a ``file id``), ``section``,
``key`` and ``value`` parameters. Note that the file is entirely rewritten and
comments are left out; Make sure to compare the initial and resulting file
to spot any potential parsing issues.
``key`` and ``value`` parameters or the ``data`` parameter. Set ``merge: false``
to first truncate the file. Note that the file is entirely rewritten and
comments are left out; Make sure to compare the initial and resulting file to
spot any potential parsing issues.
Example:
@ -336,6 +337,16 @@ Example:
key: Renderer
value: OpenGL
::
- write_config:
file: $GAMEDIR/myfile.ini
data:
General:
iNumHWThreads: 2
bUseThreadedAI: 1
Writing into a JSON type file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

170
gogwindow.py Normal file
View file

@ -0,0 +1,170 @@
import os
import gi
import signal
import logging
from concurrent.futures import ThreadPoolExecutor
from lutris.gui.dialogs import DownloadDialog
from lutris.util.http import Request
from lutris.util.log import logger
from lutris.util import datapath
from lutris.services.gog import GogService
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gio
ICON_CACHE = os.path.expanduser("~/.cache/lutris/gog-cache/")
DEST_PATH = os.path.expanduser("~/GOG Files")
logger.setLevel(logging.DEBUG)
class GogWindow(Gtk.Window):
title = "GOG Downloader"
def __init__(self):
super(GogWindow, self).__init__(title=self.title)
headerbar = Gtk.HeaderBar()
headerbar.set_title(self.title)
headerbar.set_show_close_button(True)
user_button = Gtk.MenuButton()
headerbar.pack_end(user_button)
icon = Gio.ThemedIcon(name="avatar-default-symbolic")
image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
user_button.add(image)
popover = Gtk.Popover.new(user_button)
popover_box = Gtk.Box(Gtk.Orientation.HORIZONTAL)
login_button = Gtk.Button("Login")
popover_box.add(login_button)
logout_button = Gtk.Button("Logout")
popover_box.add(logout_button)
popover.add(popover_box)
self.set_titlebar(headerbar)
self.set_size_request(480, 640)
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(vbox)
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
vbox.pack_start(scrolled_window, True, True, 0)
self.game_listbox = Gtk.ListBox(visible=True, selection_mode=Gtk.SelectionMode.NONE)
scrolled_window.add(self.game_listbox)
self.platform_icons = {}
self.executor = ThreadPoolExecutor(max_workers=4)
self.gog_service = GogService()
self.game_list = self.gog_service.get_library()
for game in self.game_list['products']:
self.game_listbox.add(self.get_game_box(game))
def get_game_box(self, game):
hbox = Gtk.HBox()
image = Gtk.Image()
image.set_size_request(100, 60)
self.get_gog_image(image, game)
hbox.pack_start(image, False, False, 0)
vbox = Gtk.VBox()
hbox.pack_start(vbox, True, True, 10)
label = Gtk.Label()
label.set_markup("<b>{}</b>".format(game['title'].replace('&', '&amp;')))
label.set_alignment(0, 0)
vbox.pack_start(label, False, False, 4)
icon_box = Gtk.HBox()
vbox.pack_start(icon_box, False, False, 4)
for platform in game['worksOn']:
if game['worksOn'][platform]:
icon_path = os.path.join(datapath.get(), 'media/platform_icons/{}.png'.format(platform.lower()))
icon_box.pack_start(Gtk.Image.new_from_file(icon_path), False, False, 2)
install_button = Gtk.Button.new_from_icon_name("browser-download", Gtk.IconSize.BUTTON)
install_button.connect('clicked', self.on_download_clicked, game)
install_align = Gtk.Alignment()
install_align.set(0, 0.75, 0, 0)
install_align.add(install_button)
hbox.pack_end(install_align, False, False, 10)
return hbox
def get_gog_image(self, image, game):
icon_path = os.path.join(ICON_CACHE, game['slug'] + '.jpg')
if os.path.exists(icon_path):
self.executor.submit(image.set_from_file, icon_path)
return
icon_url = 'http:' + game['image'] + '_100.jpg'
self.executor.submit(self.download_icon, icon_url, icon_path, image)
def download_icon(self, icon_url, icon_path, image):
r = Request(icon_url)
r.get()
r.write_to_file(icon_path)
image.set_from_file(icon_path)
def on_download_clicked(self, widget, game):
game_details = self.gog_service.get_game_details(game['id'])
installer_liststore = Gtk.ListStore(str, str)
installers = game_details['downloads']['installers']
for _, installer in enumerate(installers):
installer_liststore.append(
(installer['id'], "{} ({}, {})".format(installer['name'], installer['language_full'], installer['os']))
)
installer_combo = Gtk.ComboBox.new_with_model(installer_liststore)
installer_combo.set_id_column(0)
installer_combo.connect("changed", self.on_installer_combo_changed, installers)
renderer_text = Gtk.CellRendererText()
installer_combo.pack_start(renderer_text, True)
installer_combo.add_attribute(renderer_text, "text", 1)
dialog = Gtk.Dialog(parent=self)
dialog.connect('delete-event', lambda *x: x[0].destroy())
dialog.get_content_area().add(installer_combo)
dialog.show_all()
dialog.run()
def on_installer_combo_changed(self, combo, installers):
selected_installer_id = combo.get_active_id()
logger.debug("Downloading installer %s", selected_installer_id)
dialog = combo.get_parent().get_parent()
dialog.destroy()
for installer in installers:
if installer['id'] == selected_installer_id:
break
for game_file in installer.get('files', []):
downlink = game_file.get("downlink")
if not downlink:
logger.error("No download information for %s", installer)
continue
download_info = self.gog_service.get_download_info(downlink)
for field in ('checksum', 'downlink'):
url = download_info[field]
if not os.path.exists(DEST_PATH):
os.makedirs(DEST_PATH)
checksum_path = os.path.join(DEST_PATH, download_info[field + '_filename'])
dlg = DownloadDialog(url, checksum_path)
dlg.run()
if __name__ == '__main__':
signal.signal(signal.SIGINT, signal.SIG_DFL)
if not os.path.exists(ICON_CACHE):
os.makedirs(ICON_CACHE)
win = GogWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

View file

@ -3,6 +3,8 @@
%{!?py3_build: %global py3_build CFLAGS="%{optflags}" %{__python3} setup.py build}
%{!?py3_install: %global py3_install %{__python3} setup.py install --skip-build --root %{buildroot}}
%global appid net.lutris.Lutris
Name: lutris
Version: 0.4.23
Release: 2%{?dist}
@ -21,7 +23,7 @@ BuildRequires: python3-devel
%if 0%{?fedora}
BuildRequires: python3-gobject, python3-wheel, python3-setuptools, python3-gobject
Requires: python3-gobject, python3-PyYAML, cabextract
Requires: python3-gobject, python3-PyYAML, cabextract, gnome-deskop3
Requires: gtk3, psmisc, xorg-x11-server-Xephyr, xorg-x11-server-utils
Recommends: wine-core
%endif
@ -70,7 +72,7 @@ on Linux.
#desktop icon
%if 0%{?suse_version}
%suse_update_desktop_file -r -i %{name} Network FileTransfer
%suse_update_desktop_file -r -i %{appid} Network FileTransfer
%endif
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
@ -94,16 +96,14 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/appdata/%{appid}.appdata.xml
%{_datadir}/applications/%{appid}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{appid}.svg
%{_datadir}/icons/hicolor/48x48/apps/%{appid}.png
%{_datadir}/polkit-1/actions/*
%{python3_sitelib}/%{name}-*.egg-info
%{python3_sitelib}/%{name}/
%dir
%{_datadir}/appdata/
%changelog
* Tue Nov 29 2016 Mathieu Comandon <strycore@gmail.com> - 0.4.3
- Ensure correct Python3 dependencies

12
lutris/exceptions.py Normal file
View file

@ -0,0 +1,12 @@
class LutrisError(Exception):
"""Base exception for Lutris related errors"""
def __init__(self, message):
super().__init__(message)
self.message = message
class GameConfigError(LutrisError):
"""Throw this error when the game configuration prevents the game from
running properly.
"""

View file

@ -1,14 +1,17 @@
# -*- coding: utf-8 -*-
"""Module that actually runs the games."""
import os
import json
import time
import shlex
import subprocess
from functools import wraps
from gi.repository import GLib, Gtk
from gi.repository import GLib, Gtk, GObject
from lutris import pga
from lutris import runtime
from lutris.exceptions import LutrisError, GameConfigError
from lutris.services import xdg
from lutris.runners import import_runner, InvalidRunner, wine
from lutris.util import audio, display, jobs, system, strings
@ -19,7 +22,23 @@ from lutris.gui import dialogs
from lutris.util.timer import Timer
class Game:
def watch_lutris_errors(function):
"""Decorator used to catch LutrisError exceptions and send events"""
@wraps(function)
def wrapper(*args, **kwargs):
"""Catch all LutrisError exceptions and emit an event."""
try:
return function(*args, **kwargs)
except LutrisError as ex:
game = args[0]
logger.error("Unable to run %s", game.name)
game.emit('game-error', ex.message)
return wrapper
class Game(GObject.Object):
"""This class takes cares of loading the configuration for a game
and running it.
"""
@ -27,7 +46,12 @@ class Game:
STATE_STOPPED = 'stopped'
STATE_RUNNING = 'running'
__gsignals__ = {
"game-error": (GObject.SIGNAL_RUN_FIRST, None, (str, )),
}
def __init__(self, game_id=None):
super().__init__()
self.id = game_id
self.runner = None
self.game_thread = None
@ -146,9 +170,12 @@ class Game:
return from_library
def set_platform_from_runner(self):
"""Set the game's platform from the runner"""
if not self.runner:
return
self.platform = self.runner.get_platform()
if not self.platform:
logger.warning("Can't get platform for runner %s", self.runner.human_name)
def save(self, metadata_only=False):
"""
@ -187,6 +214,7 @@ class Game:
dialogs.ErrorDialog("Runtime currently updating",
"Game might not work as expected")
if "wine" in self.runner_name and not wine.get_system_wine_version():
# TODO find a reference to the root window or better yet a way not
# to have Gtk dependent code in this class.
root_window = None
@ -205,10 +233,17 @@ class Game:
return
if hasattr(self.runner, 'prelaunch'):
jobs.AsyncCall(self.runner.prelaunch, self.do_play)
logger.debug("Running %s prelaunch", self.runner)
try:
jobs.AsyncCall(self.runner.prelaunch, self.do_play)
except Exception as ex:
logger.error(ex)
raise
else:
self.do_play(True)
@watch_lutris_errors
def do_play(self, prelaunched, error=None):
self.timer.start_t()
@ -224,7 +259,7 @@ class Game:
system_config = self.runner.system_config
self.original_outputs = sorted(
display.get_outputs(),
key=lambda e: e[0] == system_config.get('display')
key=lambda e: e.name == system_config.get('display')
)
gameplay_info = self.runner.play()
@ -233,6 +268,7 @@ class Game:
self.show_error_message(gameplay_info)
self.state = self.STATE_STOPPED
return
logger.debug("Game info: %s", json.dumps(gameplay_info, indent=2))
env = {}
sdl_gamecontrollerconfig = system_config.get('sdl_gamecontrollerconfig')
@ -248,9 +284,27 @@ class Game:
restrict_to_display = system_config.get('display')
if restrict_to_display != 'off':
display.turn_off_except(restrict_to_display)
time.sleep(3)
self.resolution_changed = True
if restrict_to_display == 'primary':
restrict_to_display = None
for output in self.original_outputs:
if output.primary:
restrict_to_display = output.name
break
if not restrict_to_display:
logger.warning('No primary display set')
else:
found = False
for output in self.original_outputs:
if output.name == restrict_to_display:
found = True
break
if not found:
logger.warning('Selected display %s not found', restrict_to_display)
restrict_to_display = None
if restrict_to_display:
display.turn_off_except(restrict_to_display)
time.sleep(3)
self.resolution_changed = True
resolution = system_config.get('resolution')
if resolution != 'off':
@ -279,14 +333,17 @@ class Game:
xephyr = system_config.get('xephyr') or 'off'
if xephyr != 'off':
if xephyr == '8bpp':
xephyr_depth = '8'
else:
xephyr_depth = '16'
if not system.find_executable('Xephyr'):
raise GameConfigError(
"Unable to find Xephyr, install it or disable the Xephyr option"
)
xephyr_depth = '8' if xephyr == '8bpp' else '16'
xephyr_resolution = system_config.get('xephyr_resolution') or '640x480'
xephyr_command = ['Xephyr', ':2', '-ac', '-screen',
xephyr_resolution + 'x' + xephyr_depth, '-glamor',
'-reset', '-terminate', '-fullscreen']
xephyr_thread = LutrisThread(xephyr_command)
xephyr_thread.start()
time.sleep(3)
@ -460,7 +517,7 @@ class Game:
if self.state != self.STATE_STOPPED:
logger.debug("Game thread still running, stopping it (state: %s)", self.state)
self.stop()
# Check for post game script
postexit_command = self.runner.system_config.get("postexit_command")
if system.path_exists(postexit_command):

View file

@ -29,6 +29,7 @@ gi.require_version('Gtk', '3.0') # NOQA # isort:skip
from gi.repository import Gio, GLib, Gtk
from lutris import pga
from lutris import settings
from lutris.config import check_config
from lutris.gui.dialogs import ErrorDialog, InstallOrPlayDialog
from lutris.migrations import migrate
@ -37,7 +38,7 @@ from lutris.services.steam import AppManifest, get_appmanifests, get_steamapps_p
from lutris.settings import read_setting, VERSION
from lutris.thread import exec_in_thread
from lutris.util import datapath
from lutris.util.log import logger
from lutris.util.log import logger, console_handler, DEBUG_FORMATTER
from lutris.util.resources import parse_installer_url
from .lutriswindow import LutrisWindow
@ -46,10 +47,9 @@ from lutris.gui.lutristray import LutrisTray
class Application(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self, application_id='net.lutris.Lutris',
flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE)
super().__init__(application_id='net.lutris.Lutris',
flags=Gio.ApplicationFlags.HANDLES_COMMAND_LINE)
logger.info("Running Lutris %s", settings.VERSION)
gettext.bindtextdomain("lutris", "/usr/share/locale")
gettext.textdomain("lutris")
@ -59,6 +59,7 @@ class Application(Gtk.Application):
GLib.set_application_name(_('Lutris'))
self.window = None
self.help_overlay = None
self.tray = None
self.css_provider = Gtk.CssProvider.new()
@ -154,6 +155,7 @@ class Application(Gtk.Application):
'URI')
def set_connect_state(self, connected):
return # XXX
# We fiddle with the menu directly which is rather ugly
menu = self.get_menubar().get_item_link(0, 'submenu').get_item_link(0, 'section')
menu.remove(0) # Assert that it is the very first item
@ -170,10 +172,26 @@ class Application(Gtk.Application):
action = Gio.SimpleAction.new('quit')
action.connect('activate', lambda *x: self.quit())
self.add_action(action)
self.add_accelerator('<Primary>q', 'app.quit')
builder = Gtk.Builder.new_from_file(
os.path.join(datapath.get(), 'ui', 'menus-traditional.ui')
os.path.join(datapath.get(), 'ui', 'menus.ui')
)
appmenu = builder.get_object('app-menu')
self.set_app_menu(appmenu)
if Gtk.get_major_version() > 3 or Gtk.get_minor_version() >= 20:
builder = Gtk.Builder.new_from_file(
os.path.join(datapath.get(), 'ui', 'help-overlay.ui')
)
self.help_overlay = builder.get_object('help_overlay')
it = appmenu.iterate_item_links(appmenu.get_n_items() - 1)
assert(it.next())
last_section = it.get_value()
shortcuts_item = Gio.MenuItem.new(_('Keyboard Shortcuts'), 'win.show-help-overlay')
last_section.prepend_item(shortcuts_item)
menubar = builder.get_object('menubar')
self.set_menubar(menubar)
self.set_tray_icon(read_setting('show_tray_icon', default='false') == 'true')
@ -185,9 +203,12 @@ class Application(Gtk.Application):
else:
self.tray = LutrisTray(application=self)
self.tray.set_visible(active)
def do_activate(self):
if not self.window:
self.window = LutrisWindow(application=self)
if hasattr(self.window, 'set_help_overlay'):
self.window.set_help_overlay(self.help_overlay)
screen = self.window.props.screen
Gtk.StyleContext.add_provider_for_screen(
screen,
@ -206,6 +227,7 @@ class Application(Gtk.Application):
# Set up logger
if options.contains('debug'):
console_handler.setFormatter(DEBUG_FORMATTER)
logger.setLevel(logging.DEBUG)
# Text only commands

View file

@ -4,7 +4,8 @@ import os
from gi.repository import Gtk, Gdk
from lutris import settings, sysoptions
from lutris.gui.widgets.common import VBox, Label, FileChooserEntry, EditableGrid
from lutris.gui.widgets.common import (VBox, Label,
FileChooserEntry, EditableGrid)
from lutris.runners import import_runner, InvalidRunner
from lutris.util.log import logger
from lutris.util.system import reverse_expanduser
@ -13,7 +14,7 @@ from lutris.util.system import reverse_expanduser
class ConfigBox(VBox):
"""Dynamically generate a vbox built upon on a python dict."""
def __init__(self, game=None):
super(ConfigBox, self).__init__()
super().__init__()
self.options = []
self.game = game
self.config = None
@ -22,19 +23,25 @@ class ConfigBox(VBox):
self.wrapper = None
def generate_top_info_box(self, text):
help_box = Gtk.HBox()
"""Add a top section with general help text for the current tab"""
help_box = Gtk.Box()
help_box.set_margin_left(15)
help_box.set_margin_right(15)
help_box.set_margin_bottom(5)
icon = Gtk.Image(icon_name='dialog-information')
icon = Gtk.Image.new_from_icon_name('dialog-information',
Gtk.IconSize.MENU)
help_box.pack_start(icon, False, False, 5)
label = Gtk.Label("<i>%s</i>" % text)
label.set_line_wrap(True)
label.set_alignment(0, 0.5)
label.set_use_markup(True)
help_box.pack_start(icon, False, False, 5)
help_box.pack_start(label, False, False, 5)
self.pack_start(help_box, False, False, 0)
self.pack_start(Gtk.HSeparator(), False, False, 10)
self.pack_start(Gtk.HSeparator(), False, False, 12)
help_box.show_all()
def generate_widgets(self, config_section):
@ -71,12 +78,12 @@ class ConfigBox(VBox):
if callable(option.get('condition')):
option['condition'] = option['condition']()
hbox = Gtk.HBox()
hbox = Gtk.Box()
hbox.set_margin_left(20)
self.wrapper = Gtk.HBox()
self.wrapper = Gtk.Box()
self.wrapper.set_spacing(20)
placeholder = Gtk.HBox()
placeholder = Gtk.Box()
placeholder.set_size_request(32, 32)
hbox.pack_end(placeholder, False, False, 5)
@ -415,7 +422,7 @@ class ConfigBox(VBox):
# Multiple file selector
def generate_multiple_file_chooser(self, option_name, label, value=None):
"""Generate a multiple file selector."""
vbox = Gtk.VBox()
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
label = Label(label + ':')
label.set_halign(Gtk.Align.START)
button = Gtk.Button('Add files')
@ -502,7 +509,7 @@ class ConfigBox(VBox):
label = Label(text)
label.set_use_markup(True)
label.set_max_width_chars(60)
hbox = Gtk.HBox()
hbox = Gtk.Box()
hbox.pack_start(label, False, False, 0)
hbox.show_all()
tooltip.set_custom(hbox)

View file

@ -9,7 +9,8 @@ from lutris.gui.config_boxes import GameBox, RunnerBox, SystemBox
from lutris.gui.dialogs import ErrorDialog
from lutris.gui.widgets.common import VBox, SlugEntry, NumberEntry
from lutris.gui.widgets.dialogs import Dialog
from lutris.gui.widgets.utils import get_pixbuf_for_game, get_pixbuf, BANNER_SIZE, ICON_SIZE
from lutris.gui.widgets.utils import (get_pixbuf_for_game, get_pixbuf,
BANNER_SIZE, ICON_SIZE)
from lutris.util.strings import slugify
from lutris.util import datapath, resources
@ -57,7 +58,7 @@ class GameDialogCommon:
self._add_notebook_tab(info_sw, "Game info")
def _get_name_box(self):
box = Gtk.HBox()
box = Gtk.Box()
label = Gtk.Label(label="Name")
box.pack_start(label, False, False, 20)
@ -70,7 +71,7 @@ class GameDialogCommon:
return box
def _get_slug_box(self):
box = Gtk.HBox()
box = Gtk.Box()
label = Gtk.Label(label="Identifier")
box.pack_start(label, False, False, 20)
@ -88,7 +89,7 @@ class GameDialogCommon:
return box
def _get_runner_box(self):
runner_box = Gtk.HBox()
runner_box = Gtk.Box()
runner_label = Gtk.Label("Runner")
runner_label.set_alignment(0.5, 0.5)
self.runner_dropdown = self._get_runner_dropdown()
@ -102,7 +103,7 @@ class GameDialogCommon:
return runner_box
def _get_banner_box(self):
banner_box = Gtk.HBox()
banner_box = Gtk.Box()
banner_label = Gtk.Label("Banner")
banner_label.set_alignment(0.5, 0.5)
self.banner_button = Gtk.Button()
@ -135,7 +136,7 @@ class GameDialogCommon:
return banner_box
def _get_year_box(self):
box = Gtk.HBox()
box = Gtk.Box()
label = Gtk.Label(label="Release year")
box.pack_start(label, False, False, 20)
@ -264,7 +265,7 @@ class GameDialogCommon:
self.action_area.pack_start(checkbox, False, False, 5)
# Buttons
hbox = Gtk.HBox()
hbox = Gtk.Box()
cancel_button = Gtk.Button(label="Cancel")
cancel_button.connect("clicked", self.on_cancel_clicked)
hbox.pack_start(cancel_button, True, True, 10)
@ -403,7 +404,7 @@ class GameDialogCommon:
dest_path = datapath.get_icon_path(self.game.slug)
size = ICON_SIZE
file_format = 'png'
pixbuf = get_pixbuf(image_path, None, size)
pixbuf = get_pixbuf(image_path, size)
pixbuf.savev(dest_path, file_format, [], [])
self._set_image(image_type)
@ -428,7 +429,7 @@ class GameDialogCommon:
class AddGameDialog(Dialog, GameDialogCommon):
"""Add game dialog class."""
def __init__(self, parent, game=None, runner=None, callback=None):
super(AddGameDialog, self).__init__("Add a new game", parent=parent)
super().__init__("Add a new game", parent=parent)
self.game = game
self.saved = False
@ -460,7 +461,7 @@ class AddGameDialog(Dialog, GameDialogCommon):
class EditGameConfigDialog(Dialog, GameDialogCommon):
"""Game config edit dialog."""
def __init__(self, parent, game, callback):
super(EditGameConfigDialog, self).__init__(
super().__init__(
"Configure %s" % game.name,
parent=parent
)
@ -482,7 +483,7 @@ class RunnerConfigDialog(Dialog, GameDialogCommon):
"""Runner config edit dialog."""
def __init__(self, runner, parent=None):
self.runner_name = runner.__class__.__name__
super(RunnerConfigDialog, self).__init__(
super().__init__(
"Configure %s" % runner.human_name,
parent=parent
)
@ -505,7 +506,7 @@ class RunnerConfigDialog(Dialog, GameDialogCommon):
class SystemConfigDialog(Dialog, GameDialogCommon):
def __init__(self, parent=None):
super(SystemConfigDialog, self).__init__("System preferences", parent=parent)
super().__init__("System preferences", parent=parent)
self.game = None
self.runner_name = None

View file

@ -1,19 +1,25 @@
"""Commonly used dialogs"""
# pylint: disable=no-member
import os
from gi.repository import GLib, Gtk, GObject
from lutris import api, pga, runtime, settings
from lutris.gui.logwindow import LogTextView
from lutris.gui.widgets.dialogs import Dialog
from lutris.gui.widgets.download_progress import DownloadProgressBox
from lutris.util import datapath
from lutris.util.system import open_uri
from lutris.util.log import logger
from lutris.util.system import open_uri
import gi
gi.require_version('WebKit2', '4.0')
from gi.repository import GLib, GObject, Gtk, WebKit2
class GtkBuilderDialog(GObject.Object):
def __init__(self, parent=None, **kwargs):
super(GtkBuilderDialog, self).__init__()
super().__init__()
ui_filename = os.path.join(datapath.get(), 'ui',
self.glade_file)
if not os.path.exists(ui_filename):
@ -55,7 +61,7 @@ class AboutDialog(GtkBuilderDialog):
class NoticeDialog(Gtk.MessageDialog):
"""Display a message to the user."""
def __init__(self, message, parent=None):
super(NoticeDialog, self).__init__(buttons=Gtk.ButtonsType.OK, parent=parent)
super().__init__(buttons=Gtk.ButtonsType.OK, parent=parent)
self.set_markup(message)
self.run()
self.destroy()
@ -64,7 +70,7 @@ class NoticeDialog(Gtk.MessageDialog):
class ErrorDialog(Gtk.MessageDialog):
"""Display an error message."""
def __init__(self, message, secondary=None, parent=None):
super(ErrorDialog, self).__init__(buttons=Gtk.ButtonsType.OK, parent=parent)
super().__init__(buttons=Gtk.ButtonsType.OK, parent=parent)
self.set_markup(message)
if secondary:
self.format_secondary_text(secondary)
@ -91,7 +97,7 @@ class QuestionDialog(Gtk.MessageDialog):
class DirectoryDialog(Gtk.FileChooserDialog):
"""Ask the user to select a directory."""
def __init__(self, message, parent=None):
super(DirectoryDialog, self).__init__(
super().__init__(
title=message,
action=Gtk.FileChooserAction.SELECT_FOLDER,
buttons=('_Cancel', Gtk.ResponseType.CLOSE,
@ -109,7 +115,7 @@ class FileDialog(Gtk.FileChooserDialog):
self.filename = None
if not message:
message = "Please choose a file"
super(FileDialog, self).__init__(
super().__init__(
message, None, Gtk.FileChooserAction.OPEN,
('_Cancel', Gtk.ResponseType.CANCEL,
'_OK', Gtk.ResponseType.OK)
@ -168,7 +174,7 @@ class InstallOrPlayDialog(Gtk.Dialog):
self.set_size_request(320, 120)
self.set_border_width(12)
vbox = Gtk.VBox(spacing=6)
vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, 6)
self.get_content_area().add(vbox)
play_button = Gtk.RadioButton.new_with_label_from_widget(None, "Launch game")
@ -297,7 +303,7 @@ class ClientLoginDialog(GtkBuilderDialog):
}
def __init__(self, parent):
super(ClientLoginDialog, self).__init__(parent=parent)
super().__init__(parent=parent)
self.parent = parent
self.username_entry = self.builder.get_object('username_entry')
@ -361,6 +367,66 @@ class NoInstallerDialog(Gtk.MessageDialog):
self.destroy()
class WebConnectDialog(Dialog):
"""Login form for external services"""
def __init__(self, service, parent=None):
self.context = WebKit2.WebContext.new()
WebKit2.CookieManager.set_persistent_storage(self.context.get_cookie_manager(),
service.credentials_path,
WebKit2.CookiePersistentStorage(0))
self.service = service
super(WebConnectDialog, self).__init__(title=service.name, parent=parent)
self.set_border_width(0)
self.set_default_size(390, 425)
self.webview = WebKit2.WebView.new_with_context(self.context)
self.webview.load_uri(service.login_url)
self.webview.connect('load-changed', self.on_navigation)
self.vbox.pack_start(self.webview, True, True, 0)
self.show_all()
def on_navigation(self, widget, load_event):
if load_event == WebKit2.LoadEvent.FINISHED:
uri = widget.get_uri()
if uri.startswith(self.service.redirect_uri):
self.service.request_token(uri)
self.destroy()
class InstallerSourceDialog(Gtk.Dialog):
"""Show install script source"""
def __init__(self, code, name, parent):
Gtk.Dialog.__init__(self, "Install script for {}".format(name), parent=parent)
self.set_size_request(500, 350)
self.set_border_width(0)
self.scrolled_window = Gtk.ScrolledWindow()
self.scrolled_window.set_hexpand(True)
self.scrolled_window.set_vexpand(True)
source_buffer = Gtk.TextBuffer()
source_buffer.set_text(code)
source_box = LogTextView(source_buffer, autoscroll=False)
self.get_content_area().add(self.scrolled_window)
self.scrolled_window.add(source_box)
close_button = Gtk.Button("OK")
close_button.connect('clicked', self.on_close)
self.get_content_area().add(close_button)
self.show_all()
def on_close(self, *args):
self.destroy()
class DontShowAgainDialog(Gtk.MessageDialog):
"""Display a message to the user and offer an option not to display this dialog again."""
def __init__(self, setting, message, secondary_message=None, parent=None, checkbox_message=None):

View file

@ -15,6 +15,7 @@ from lutris.gui.widgets.utils import get_pixbuf_for_game, BANNER_SIZE, BANNER_SM
from lutris.services import xdg
from lutris.util.log import logger
from lutris.util.strings import gtk_safe
(
COL_ID,
@ -43,14 +44,23 @@ COLUMN_NAMES = {
COL_INSTALLED_AT_TEXT: 'installed_at',
COL_PLAYTIME_TEXT: 'playtime'
}
sortings = {
'name': COL_NAME,
'year': COL_YEAR,
'runner': COL_RUNNER_HUMAN_NAME,
'platform': COL_PLATFORM,
'lastplayed': COL_LASTPLAYED,
'installed_at': COL_INSTALLED_AT
}
class GameStore(GObject.Object):
__gsignals__ = {
"icons-changed": (GObject.SIGNAL_RUN_FIRST, None, (str,))
"icons-changed": (GObject.SIGNAL_RUN_FIRST, None, (str,)),
"sorting-changed": (GObject.SIGNAL_RUN_FIRST, None, (str, bool,))
}
def __init__(self, games, icon_type, filter_installed, show_installed_first=False):
def __init__(self, games, icon_type, filter_installed, sort_key, sort_ascending, show_installed_first=False):
super(GameStore, self).__init__()
self.games = games
self.icon_type = icon_type
@ -61,7 +71,7 @@ class GameStore(GObject.Object):
self.filter_platform = None
self.modelfilter = None
self.runner_names = {}
self.store = []
self.store = Gtk.ListStore(int, str, str, Pixbuf, str, str, str, str, int, str, bool, int, str, str, str)
if show_installed_first:
self.store.set_sort_column_id(COL_INSTALLED, Gtk.SortType.DESCENDING)
@ -69,6 +79,9 @@ class GameStore(GObject.Object):
self.store.set_sort_column_id(COL_NAME, Gtk.SortType.ASCENDING)
self.modelfilter = self.store.filter_new()
self.modelfilter.set_visible_func(self.filter_view)
self.modelsort = Gtk.TreeModelSort.sort_new_with_model(self.modelfilter)
self.sort_view(sort_key, sort_ascending)
self.modelsort.connect('sort-column-changed', self.on_sort_column_changed)
if games:
self.fill_store(games)
@ -81,29 +94,16 @@ class GameStore(GObject.Object):
def get_ids(self):
return [row[COL_ID] for row in self.store]
def populate_runner_names(self):
names = {}
for runner in runners.__all__:
runner_inst = runners.import_runner(runner)
names[runner] = runner_inst.human_name
return names
def fill_store(self, games):
"""Fill the model asynchronously and in steps.
Each iteration on `loader` adds a batch of games to the model as a low
priority operation so they get displayed before adding the next batch.
This is an optimization to avoid having to wait for all games to be
loaded in the model before the list is drawn on the window.
"""
loader = self._fill_store_generator(games)
GLib.idle_add(loader.__next__)
def _fill_store_generator(self, games, batch=100):
"""Generator to fill the model in batches."""
loop = 0
for game in games:
self.add_game(game)
# Yield to GTK main loop once in a while
loop += 1
if (loop % batch) == 0:
# Returning True to GLib.idle_add makes it run the callback
# again. (Yeah, the GTK doc isn't clear about this feature :)
yield True
yield False
def filter_view(self, model, _iter, filter_data=None):
"""Filter the game list."""
@ -125,13 +125,34 @@ class GameStore(GObject.Object):
return False
return True
def sort_view(self, show_installed_first=False):
self.show_installed_first = show_installed_first
self.store.set_sort_column_id(COL_NAME, Gtk.SortType.ASCENDING)
self.modelfilter.get_model().set_sort_column_id(COL_NAME, Gtk.SortType.ASCENDING)
if show_installed_first:
self.store.set_sort_column_id(COL_INSTALLED, Gtk.SortType.DESCENDING)
self.modelfilter.get_model().set_sort_column_id(COL_INSTALLED, Gtk.SortType.DESCENDING)
def sort_view(self, key='name', ascending=True):
self.modelsort.set_sort_column_id(
COL_NAME,
Gtk.SortType.ASCENDING if ascending else Gtk.SortType.DESCENDING
)
self.modelsort.set_sort_column_id(
sortings[key],
Gtk.SortType.ASCENDING if ascending else Gtk.SortType.DESCENDING
)
# def sort_view(self, show_installed_first=False):
# self.show_installed_first = show_installed_first
# self.store.set_sort_column_id(COL_NAME, Gtk.SortType.ASCENDING)
# self.modelfilter.get_model().set_sort_column_id(COL_NAME, Gtk.SortType.ASCENDING)
# if show_installed_first:
# self.store.set_sort_column_id(COL_INSTALLED, Gtk.SortType.DESCENDING)
# self.modelfilter.get_model().set_sort_column_id(COL_INSTALLED, Gtk.SortType.DESCENDING)
def on_sort_column_changed(self, model):
if self.prevent_sort_update:
return
(col, direction) = model.get_sort_column_id()
key = next((c for c, k in sortings.items() if k == col), None)
ascending = direction == Gtk.SortType.ASCENDING
self.prevent_sort_update = True
self.sort_view(key, ascending)
self.prevent_sort_update = False
self.emit('sorting-changed', key, ascending)
def add_game_by_id(self, game_id):
"""Add a game into the store."""
@ -144,30 +165,29 @@ class GameStore(GObject.Object):
))
self.add_game(game)
def add_game(self, game):
name = game['name'].replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
runner = None
platform = ''
runner_name = game['runner']
runner_human_name = ''
if runner_name:
def get_runner_info(self, game):
if not game['runner']:
return
runner_human_name = self.runner_names.get(game['runner'], '')
platform = game['platform']
if not platform and game['installed']:
game_inst = Game(game['id'])
if not game_inst.is_installed:
return
if runner_name in self.runner_names:
runner_human_name = self.runner_names[runner_name]
else:
try:
runner = runners.import_runner(runner_name)
except runners.InvalidRunner:
game['installed'] = False
else:
runner_human_name = runner.human_name
self.runner_names[runner_name] = runner_human_name
platform = game_inst.platform
if not platform:
game_inst.set_platform_from_runner()
platform = game_inst.platform
logger.debug("Setting platform for %s: %s", game['name'], platform)
return runner_human_name, platform
def add_game(self, game):
platform = ''
runner_human_name = ''
runner_info = self.get_runner_info(game)
if runner_info:
runner_human_name, platform = runner_info
else:
game['installed'] = False
lastplayed_text = ''
if game['lastplayed']:
@ -184,22 +204,22 @@ class GameStore(GObject.Object):
playtime_text = game['playtime']
self.store.append((
game['id'],
game['slug'],
name,
gtk_safe(game['slug']),
gtk_safe(game['name']),
pixbuf,
str(game['year'] or ''),
runner_name,
runner_human_name,
platform,
gtk_safe(str(game['year'] or '')),
gtk_safe(game['runner']),
gtk_safe(runner_human_name),
gtk_safe(platform),
game['lastplayed'],
lastplayed_text,
gtk_safe(lastplayed_text),
game['installed'],
game['installed_at'],
installed_at_text,
gtk_safe(installed_at_text),
game['playtime'],
playtime_text
))
self.sort_view(self.show_installed_first)
# self.sort_view(self.show_installed_first)
def set_icon_type(self, icon_type):
if icon_type != self.icon_type:
@ -340,20 +360,22 @@ class GameListView(Gtk.TreeView, GameView):
def __init__(self, store):
self.game_store = store
self.model = self.game_store.modelfilter.sort_new_with_model()
super(GameListView, self).__init__(self.model)
self.model = self.game_store.modelsort
super().__init__(self.model)
self.set_rules_hint(True)
# Icon column
image_cell = Gtk.CellRendererPixbuf()
column = Gtk.TreeViewColumn("", image_cell, pixbuf=COL_ICON)
column.set_reorderable(True)
column.set_sort_indicator(False)
self.append_column(column)
# Text columns
default_text_cell = self.set_text_cell()
name_cell = self.set_text_cell()
name_cell.set_padding(5, 0)
self.set_column(name_cell, "Name", COL_NAME, 200)
self.set_column(default_text_cell, "Year", COL_YEAR, 60)
self.set_column(default_text_cell, "Runner", COL_RUNNER_HUMAN_NAME, 120)
@ -377,10 +399,11 @@ class GameListView(Gtk.TreeView, GameView):
text_cell.set_property("ellipsize", Pango.EllipsizeMode.END)
return text_cell
def set_column(self, cell, header, column_id, default_width):
def set_column(self, cell, header, column_id, default_width, sort_id=None):
column = Gtk.TreeViewColumn(header, cell, markup=column_id)
column.set_sort_indicator(True)
column.set_sort_column_id(column_id)
column.set_sort_column_id(column_id if sort_id is None else sort_id)
self.set_column_sort(column_id if sort_id is None else sort_id)
column.set_resizable(True)
column.set_reorderable(True)
width = settings.read_setting('%s_column_width' % COLUMN_NAMES[column_id], 'list view')
@ -389,14 +412,22 @@ class GameListView(Gtk.TreeView, GameView):
column.connect("notify::width", self.on_column_width_changed)
return column
def set_sort_with_column(self, col, sort_col):
"""Set to sort a column by using another column.
"""
def set_column_sort(self, col):
"""Sort a column and fallback to sorting by name and runner."""
def sort_func(model, row1, row2, user_data):
v1 = model.get_value(row1, sort_col)
v2 = model.get_value(row2, sort_col)
return -1 if v1 < v2 else 0 if v1 == v2 else 1
v1 = model.get_value(row1, col)
v2 = model.get_value(row2, col)
diff = -1 if v1 < v2 else 0 if v1 == v2 else 1
if diff is 0:
v1 = model.get_value(row1, COL_NAME)
v2 = model.get_value(row2, COL_NAME)
diff = -1 if v1 < v2 else 0 if v1 == v2 else 1
if diff is 0:
v1 = model.get_value(row1, COL_RUNNER_HUMAN_NAME)
v2 = model.get_value(row2, COL_RUNNER_HUMAN_NAME)
diff = -1 if v1 < v2 else 0 if v1 == v2 else 1
return diff
self.model.set_sort_func(col, sort_func)
@ -436,8 +467,8 @@ class GameGridView(Gtk.IconView, GameView):
def __init__(self, store):
self.game_store = store
self.model = self.game_store.modelfilter
super(GameGridView, self).__init__(model=self.model)
self.model = self.game_store.modelsort
super().__init__(model=self.model)
self.set_column_spacing(1)
self.set_pixbuf_column(COL_ICON)
@ -485,7 +516,7 @@ class GameGridView(Gtk.IconView, GameView):
class ContextualMenu(Gtk.Menu):
def __init__(self, main_entries):
super(ContextualMenu, self).__init__()
super().__init__()
self.main_entries = main_entries
def add_menuitems(self, entries):
@ -563,5 +594,5 @@ class ContextualMenu(Gtk.Menu):
visible = not hiding_condition.get(action)
menuitem.set_visible(visible)
super(ContextualMenu, self).popup(None, None, None, None,
super().popup(None, None, None, None,
event.button, event.time)

View file

@ -173,7 +173,7 @@ class _GtkTemplate:
class Foo(Gtk.Box):
def __init__(self):
super(Foo, self).__init__()
super().__init__()
self.init_template()
The 'ui' parameter can either be a file path or a GResource resource

View file

@ -12,7 +12,7 @@ from lutris.installer import interpreter
from lutris.installer.errors import ScriptingError
from lutris.game import Game
from lutris.gui.config_dialogs import AddGameDialog
from lutris.gui.dialogs import NoInstallerDialog, DirectoryDialog
from lutris.gui.dialogs import NoInstallerDialog, DirectoryDialog, InstallerSourceDialog
from lutris.gui.widgets.download_progress import DownloadProgressBox
from lutris.gui.widgets.common import FileChooserEntry
from lutris.gui.logwindow import LogTextView
@ -30,6 +30,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
def __init__(self, game_slug=None, installer_file=None, revision=None, parent=None, application=None):
Gtk.ApplicationWindow.__init__(self, application=application)
self.set_default_icon_name('lutris')
self.set_show_menubar(False)
self.interpreter = None
self.selected_directory = None # Latest directory chosen by user
self.parent = parent
@ -46,7 +47,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
self.set_position(Gtk.WindowPosition.CENTER)
self.set_show_menubar(False)
self.vbox = Gtk.VBox()
self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.add(self.vbox)
# Default signals
@ -65,9 +66,11 @@ class InstallerWindow(Gtk.ApplicationWindow):
self.vbox.pack_start(self.status_label, False, False, 15)
# Main widget box
self.widget_box = Gtk.VBox()
self.widget_box.set_margin_right(25)
self.widget_box.set_margin_left(25)
self.widget_box = Gtk.Box(
orientation=Gtk.Orientation.VERTICAL,
margin_right=25,
margin_left=25,
)
self.vbox.pack_start(self.widget_box, True, True, 15)
self.location_entry = None
@ -77,7 +80,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
# Buttons
action_buttons_alignment = Gtk.Alignment.new(0.95, 0, 0.15, 0)
self.action_buttons = Gtk.HBox()
self.action_buttons = Gtk.Box()
action_buttons_alignment.add(self.action_buttons)
self.vbox.pack_start(action_buttons_alignment, False, True, 20)
@ -88,6 +91,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
self.action_buttons.add(self.cancel_button)
self.eject_button = self.add_button("_Eject", self.on_eject_clicked)
self.source_button = self.add_button("_View source", self.on_source_clicked)
self.install_button = self.add_button("_Install", self.on_install_clicked)
self.continue_button = self.add_button("_Continue")
self.play_button = self.add_button("_Launch game", self.launch_game)
@ -136,6 +140,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
self.close_button.hide()
self.play_button.hide()
self.install_button.hide()
self.source_button.hide()
self.eject_button.hide()
self.choose_installer()
@ -186,7 +191,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
def choose_installer(self):
"""Stage where we choose an install script."""
self.title_label.set_markup('<b>Select which version to install</b>')
self.installer_choice_box = Gtk.VBox()
self.installer_choice_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.installer_choice = 0
radio_group = None
@ -234,6 +239,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
except AttributeError:
logger.debug("set_propagate_natural_height not available")
notes_scrolled_area.set_min_content_height(100)
notes_scrolled_area.set_overlay_scrolling(False)
notes_scrolled_area.add(self.notes_label)
self.installer_choice_box.pack_start(notes_scrolled_area, True, True, 10)
@ -292,6 +298,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
if self.continue_handler:
self.continue_button.disconnect(self.continue_handler)
self.continue_button.hide()
self.source_button.show()
self.install_button.grab_focus()
self.install_button.show()
@ -322,6 +329,7 @@ class InstallerWindow(Gtk.ApplicationWindow):
def on_install_clicked(self, button):
"""Let the interpreter take charge of the next stages."""
button.hide()
self.source_button.hide()
self.interpreter.check_runner_install()
def ask_user_for_file(self, message):
@ -581,6 +589,13 @@ class InstallerWindow(Gtk.ApplicationWindow):
self.interpreter.revert()
self.destroy()
# -------------
# View Source
# -------------
def on_source_clicked(self, _button):
InstallerSourceDialog(self.interpreter.script_pretty, self.interpreter.game_name, self)
# -------------
# Utility stuff
# -------------

View file

@ -3,8 +3,8 @@ from lutris.gui.widgets.dialogs import Dialog
class LogTextView(Gtk.TextView):
def __init__(self, buffer):
super(LogTextView, self).__init__()
def __init__(self, buffer, autoscroll=True):
super().__init__()
self.set_buffer(buffer)
self.set_editable(False)
@ -13,7 +13,8 @@ class LogTextView(Gtk.TextView):
self.scroll_max = 0
self.set_wrap_mode(Gtk.WrapMode.CHAR)
self.get_style_context().add_class('lutris-logview')
self.connect("size-allocate", self.autoscroll)
if autoscroll:
self.connect("size-allocate", self.autoscroll)
def autoscroll(self, *args):
adj = self.get_vadjustment()
@ -26,8 +27,8 @@ class LogTextView(Gtk.TextView):
class LogWindow(Dialog):
def __init__(self, title, buffer, parent):
super(LogWindow, self).__init__(title, parent, 0,
('_OK', Gtk.ResponseType.OK))
super().__init__(title, parent, 0,
('_OK', Gtk.ResponseType.OK))
self.set_size_request(640, 480)
self.grid = Gtk.Grid()
self.buffer = buffer

View file

@ -1,9 +1,8 @@
"""Module for the tray icon"""
from gi.repository import Gtk
from lutris import runners
from lutris import pga
from lutris.gui.widgets.utils import get_runner_icon, get_pixbuf_for_game
from lutris.gui.widgets.utils import get_pixbuf_for_game
class LutrisTray(Gtk.StatusIcon):

View file

@ -6,7 +6,7 @@ import time
from collections import namedtuple
from itertools import chain
from gi.repository import Gtk, GLib, Gio
from gi.repository import Gtk, Gdk, GLib, Gio
from lutris import api, pga, settings
from lutris.game import Game
@ -28,7 +28,7 @@ from lutris.thread import LutrisThread
from lutris.services import get_services_synced_at_startup, steam, xdg
from lutris.gui import dialogs
from lutris.gui.sidebar import SidebarTreeView
from lutris.gui.sidebar import SidebarListBox # NOQA FIXME Removing this unused import causes a crash
from lutris.gui.logwindow import LogWindow
from lutris.gui.sync import SyncServiceDialog
from lutris.gui.gi_composites import GtkTemplate
@ -41,6 +41,7 @@ from lutris.gui.config_dialogs import (
from lutris.gui.gameviews import (
GameListView, GameGridView, ContextualMenu, GameStore
)
from lutris.gui.widgets.utils import IMAGE_SIZES
@GtkTemplate(ui=os.path.join(datapath.get(), 'ui', 'lutris-window.ui'))
@ -53,17 +54,30 @@ class LutrisWindow(Gtk.ApplicationWindow):
splash_box = GtkTemplate.Child()
connect_link = GtkTemplate.Child()
games_scrollwindow = GtkTemplate.Child()
sidebar_paned = GtkTemplate.Child()
sidebar_viewport = GtkTemplate.Child()
statusbar = GtkTemplate.Child()
sidebar_revealer = GtkTemplate.Child()
sidebar_listbox = GtkTemplate.Child()
connection_label = GtkTemplate.Child()
status_box = GtkTemplate.Child()
search_revealer = GtkTemplate.Child()
search_entry = GtkTemplate.Child()
search_toggle = GtkTemplate.Child()
zoom_adjustment = GtkTemplate.Child()
no_results_overlay = GtkTemplate.Child()
infobar_revealer = GtkTemplate.Child()
infobar_label = GtkTemplate.Child()
connect_button = GtkTemplate.Child()
disconnect_button = GtkTemplate.Child()
register_button = GtkTemplate.Child()
sync_button = GtkTemplate.Child()
sync_label = GtkTemplate.Child()
sync_spinner = GtkTemplate.Child()
viewtype_icon = GtkTemplate.Child()
def __init__(self, application, **kwargs):
self.application = application
self.runtime_updater = RuntimeUpdater()
self.running_game = None
self.threads_stoppers = []
self.search_event = None # Event ID for search entry debouncing
# Emulate double click to workaround GTK bug #484640
# https://bugzilla.gnome.org/show_bug.cgi?id=484640
@ -87,6 +101,10 @@ class LutrisWindow(Gtk.ApplicationWindow):
settings.read_setting('show_installed_first') == 'true'
self.sidebar_visible = \
settings.read_setting('sidebar_visible') in ['true', None]
self.view_sorting = \
settings.read_setting('view_sorting') or 'name'
self.view_sorting_ascending = \
settings.read_setting('view_sorting_ascending') != 'false'
self.use_dark_theme = settings.read_setting('dark_theme', default='false').lower() == 'true'
self.show_tray_icon = settings.read_setting('show_tray_icon', default='false').lower() == 'true'
@ -100,9 +118,12 @@ class LutrisWindow(Gtk.ApplicationWindow):
[],
self.icon_type,
self.filter_installed,
self.view_sorting,
self.view_sorting_ascending,
self.show_installed_first
)
self.view = self.get_view(view_type)
self.game_store.connect('sorting-changed', self.on_game_store_sorting_changed)
super().__init__(default_width=width,
default_height=height,
icon_name='lutris',
@ -112,6 +133,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.maximize()
self.init_template()
self._init_actions()
self._bind_zoom_adjustment()
# Set theme to dark if set in the settings
self.set_dark_theme(self.use_dark_theme)
@ -119,6 +141,11 @@ class LutrisWindow(Gtk.ApplicationWindow):
# Load view
self.games_scrollwindow.add(self.view)
self.connect_signals()
other_view = 'list' if view_type is 'grid' else 'grid'
self.viewtype_icon.set_from_icon_name(
'view-' + other_view + '-symbolic',
Gtk.IconSize.BUTTON
)
self.view.show()
# Contextual menu
@ -145,15 +172,10 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.view.contextual_menu = self.menu
# Sidebar
self.sidebar_treeview = SidebarTreeView()
self.sidebar_treeview.connect('cursor-changed', self.on_sidebar_changed)
self.sidebar_viewport.add(self.sidebar_treeview)
self.sidebar_treeview.show()
self.game_store.fill_store(self.game_list)
self.switch_splash_screen()
self.show_sidebar()
self.sidebar_revealer.set_reveal_child(self.sidebar_visible)
self.update_runtime()
# Connect account and/or sync
@ -172,7 +194,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.gui_needs_update = True
self.config_menu_first_access = True
def _init_actions(self):
Action = namedtuple('Action', ('callback', 'type', 'enabled', 'default', 'accel'))
Action.__new__.__defaults__ = (None, None, True, None, None)
@ -198,7 +220,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
'remove-game': Action(self.on_remove_game, enabled=False),
'preferences': Action(self.on_preferences_activate),
'manage-runners': Action(lambda *x: RunnersDialog()),
'manage-runners': Action(self.on_manage_runners),
'about': Action(self.on_about_clicked),
'show-installed-only': Action(self.on_show_installed_state_change, type='b',
@ -210,6 +232,10 @@ class LutrisWindow(Gtk.ApplicationWindow):
default=self.current_view_type),
'icon-type': Action(self.on_icontype_state_change, type='s',
default=self.icon_type),
'view-sorting': Action(self.on_view_sorting_state_change, type='s',
default=self.view_sorting),
'view-sorting-ascending': Action(self.on_view_sorting_direction_change, type='b',
default=self.view_sorting_ascending),
'use-dark-theme': Action(self.on_dark_theme_state_change, type='b',
default=self.use_dark_theme),
'show-tray-icon': Action(self.on_tray_icon_toggle, type='b',
@ -309,6 +335,12 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.view.connect("game-selected", self.game_selection_changed)
self.view.connect("remove-game", self.on_remove_game)
def _bind_zoom_adjustment(self):
SCALE = list(IMAGE_SIZES.keys())
self.zoom_adjustment.props.value = SCALE.index(self.icon_type)
self.zoom_adjustment.connect('value-changed',
lambda adj: self._set_icon_type(SCALE[int(adj.props.value)]))
@staticmethod
def check_update():
"""Verify availability of client update."""
@ -331,6 +363,25 @@ class LutrisWindow(Gtk.ApplicationWindow):
return view_type
return settings.GAME_VIEW
def do_key_press_event(self, event):
if event.keyval == Gdk.KEY_Escape:
self.search_toggle.set_active(False)
return Gdk.EVENT_STOP
# Probably not ideal for non-english, but we want to limit
# which keys actually start searching
if (not Gdk.KEY_0 <= event.keyval <= Gdk.KEY_z or
event.state & Gdk.ModifierType.CONTROL_MASK or
event.state & Gdk.ModifierType.SHIFT_MASK or
event.state & Gdk.ModifierType.META_MASK or
event.state & Gdk.ModifierType.MOD1_MASK or
self.search_entry.has_focus()):
return Gtk.ApplicationWindow.do_key_press_event(self, event)
self.search_toggle.set_active(True)
self.search_entry.grab_focus()
return self.search_entry.do_key_press_event(self.search_entry, event)
def load_icon_type_from_settings(self, view_type):
"""Return the icon style depending on the type of view."""
if view_type == 'list':
@ -339,7 +390,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
else:
self.icon_type = settings.read_setting('icon_type_gridview')
default = settings.ICON_TYPE_GRIDVIEW
if self.icon_type not in ("banner_small", "banner", "icon", "icon_small"):
if self.icon_type not in IMAGE_SIZES.keys():
self.icon_type = default
return self.icon_type
@ -349,12 +400,12 @@ class LutrisWindow(Gtk.ApplicationWindow):
return
if self.game_list or force is True:
self.splash_box.hide()
self.sidebar_paned.show()
self.main_box.show()
self.games_scrollwindow.show()
else:
logger.debug('Showing splash screen')
self.splash_box.show()
self.sidebar_paned.hide()
self.main_box.hide()
self.games_scrollwindow.hide()
def switch_view(self, view_type):
@ -375,6 +426,14 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.set_show_installed_state(self.filter_installed)
self.view.show_all()
other_view = 'list' if view_type is 'grid' else 'grid'
self.viewtype_icon.set_from_icon_name(
'view-' + other_view + '-symbolic',
Gtk.IconSize.BUTTON
)
SCALE = list(IMAGE_SIZES.keys())
self.zoom_adjustment.props.value = SCALE.index(self.icon_type)
settings.write_setting('view_type', view_type)
def sync_library(self):
@ -390,7 +449,9 @@ class LutrisWindow(Gtk.ApplicationWindow):
# bypass that limitation, divide the query in chunks
size = 999
added_games = chain.from_iterable([
pga.get_games_where(id__in=list(added_ids)[page * size:page * size + size])
pga.get_games_where(
id__in=list(added_ids)[page * size:page * size + size]
)
for page in range(math.ceil(len(added_ids) / size))
])
self.game_list += added_games
@ -399,8 +460,13 @@ class LutrisWindow(Gtk.ApplicationWindow):
GLib.idle_add(self.update_existing_games, added_ids, updated_ids, True)
else:
logger.error("No results returned when syncing the library")
self.sync_label.set_label('Synchronize library')
self.sync_spinner.props.active = False
self.sync_button.set_sensitive(True)
self.set_status("Syncing library")
self.sync_label.set_label('Synchronizing…')
self.sync_spinner.props.active = True
self.sync_button.set_sensitive(False)
AsyncCall(sync_from_remote, update_gui)
def open_sync_dialog(self):
@ -422,7 +488,6 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.add_game_to_view(game_id)
icons_sync = AsyncCall(self.sync_icons, callback=None)
self.threads_stoppers.append(icons_sync.stop_request.set)
self.set_status("")
def update_runtime(self):
"""Check that the runtime is up to date"""
@ -451,12 +516,6 @@ class LutrisWindow(Gtk.ApplicationWindow):
if text == "Game has quit" and self.gui_needs_update:
self.view.update_row(pga.get_game_by_field(self.running_game.id, 'id'))
for child_widget in self.status_box.get_children():
child_widget.destroy()
label = Gtk.Label(text)
label.show()
self.status_box.add(label)
def refresh_status(self):
"""Refresh status bar."""
if self.running_game:
@ -468,9 +527,11 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.set_status("Game has quit")
self.gui_needs_update = False
self.actions['stop-game'].props.enabled = False
self.infobar_revealer.set_reveal_child(False)
elif self.running_game.state == self.running_game.STATE_RUNNING:
self.set_status("Playing %s" % name)
self.actions['stop-game'].props.enabled = True
self.infobar_label.props.label = '{} running'.format(name)
self.infobar_revealer.set_reveal_child(True)
self.gui_needs_update = True
return True
@ -512,12 +573,13 @@ class LutrisWindow(Gtk.ApplicationWindow):
def toggle_connection(self, is_connected, username=None):
"""Sets or unset connected state for the current user"""
self.props.application.set_connect_state(is_connected)
self.connect_button.props.visible = not is_connected
self.register_button.props.visible = not is_connected
self.disconnect_button.props.visible = is_connected
self.sync_button.props.visible = is_connected
if is_connected:
connection_status = username
logger.info('Connected to lutris.net as %s', connection_status)
else:
connection_status = "Not connected"
self.connection_label.set_text(connection_status)
self.connection_label.set_text(username)
logger.info('Connected to lutris.net as %s', username)
@GtkTemplate.Callback
def on_resize(self, widget, *_args):
@ -555,6 +617,17 @@ class LutrisWindow(Gtk.ApplicationWindow):
"""Callback when preferences is activated."""
SystemConfigDialog(parent=self)
@GtkTemplate.Callback
def on_manage_runners(self, *args):
return RunnersDialog(transient_for=self)
def invalidate_game_filter(self):
"""Refilter the game view based on current filters"""
self.game_store.modelfilter.refilter()
self.game_store.modelsort.clear_cache()
self.game_store.sort_view(self.view_sorting, self.view_sorting_ascending)
self.no_results_overlay.props.visible = len(self.game_store.modelfilter) == 0
def on_show_installed_first_state_change(self, action, value):
"""Callback to handle installed games first toggle"""
action.set_state(value)
@ -585,7 +658,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
'filter_installed', setting_value
)
self.game_store.filter_installed = filter_installed
self.game_store.modelfilter.refilter()
self.invalidate_game_filter()
@GtkTemplate.Callback
def on_pga_menuitem_activate(self, *_args):
@ -594,9 +667,31 @@ class LutrisWindow(Gtk.ApplicationWindow):
@GtkTemplate.Callback
def on_search_entry_changed(self, widget):
"""Callback to handle search entry updates"""
self.game_store.filter_text = widget.get_text()
self.game_store.modelfilter.refilter()
"""Callback for the search input keypresses.
Uses debouncing to avoid Gtk warnings like:
gtk_tree_model_filter_real_unref_node: assertion 'elt->ref_count > 0' failed
It doesn't seem to be very effective though and the Gtk warnings are still here.
"""
if self.search_event:
GLib.source_remove(self.search_event)
self.search_event = GLib.timeout_add(300, self._do_search_filter, widget.get_text())
def _do_search_filter(self, search_terms):
self.game_store.filter_text = search_terms
self.invalidate_game_filter()
self.search_event = None
return False
@GtkTemplate.Callback
def _on_search_toggle(self, button):
active = button.props.active
self.search_revealer.set_reveal_child(active)
if not active:
self.search_entry.props.text = ''
else:
self.search_entry.grab_focus()
@GtkTemplate.Callback
def on_about_clicked(self, *_args):
@ -620,6 +715,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
if not game_id:
return None
self.running_game = Game(game_id)
self.running_game.connect('game-error', self.on_game_error)
if self.running_game.is_installed:
self.running_game.play()
else:
@ -630,6 +726,10 @@ class LutrisWindow(Gtk.ApplicationWindow):
parent=self,
application=self.application)
def on_game_error(self, game, error):
logger.error("%s crashed", game)
dialogs.ErrorDialog(error, parent=self)
@GtkTemplate.Callback
def on_game_stop(self, *_args):
"""Callback to stop a running game."""
@ -682,7 +782,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
game = Game(game_id)
view.set_installed(game)
self.sidebar_treeview.update()
self.sidebar_listbox.update()
GLib.idle_add(resources.fetch_icons,
[game.slug], self.on_image_downloaded)
@ -701,7 +801,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
"""Callback that presents the Add game dialog"""
def on_game_added(game):
self.view.set_installed(game)
self.sidebar_treeview.update()
self.sidebar_listbox.update()
game = Game(self.view.selected_game)
AddGameDialog(self,
@ -744,6 +844,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.view.add_game_by_id(game_id)
self.switch_splash_screen(force=True)
self.sidebar_treeview.update()
self.sidebar_listbox.update() # XXX
return False
if is_async:
@ -769,7 +870,7 @@ class LutrisWindow(Gtk.ApplicationWindow):
GLib.idle_add(do_remove_game)
else:
self.view.update_image(game_id, is_installed=False)
self.sidebar_treeview.update()
self.sidebar_listbox.update()
def on_browse_files(self, _widget):
"""Callback to open a game folder in the file browser"""
@ -799,11 +900,18 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.view.remove_game(game_id)
self.view.add_game_by_id(game_id)
self.view.set_selected_game(game_id)
self.sidebar_treeview.update()
self.sidebar_listbox.update()
if game.is_installed:
dialog = EditGameConfigDialog(self, game, on_dialog_saved)
def on_toggle_viewtype(self, *args):
if self.current_view_type is 'grid':
self.switch_view('list')
else:
self.switch_view('grid')
def on_execute_script_clicked(self, _widget):
"""Execute the game's associated script"""
game = Game(self.view.selected_game)
@ -836,6 +944,28 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.game_store.set_icon_type(self.icon_type)
self.switch_view(self.get_view_type())
def on_icontype_state_change(self, action, value):
action.set_state(value)
self._set_icon_type(value.get_string())
def on_view_sorting_state_change(self, action, value):
ascending = self.view_sorting_ascending
self.game_store.sort_view(value.get_string(), ascending)
def on_view_sorting_direction_change(self, action, value):
self.game_store.sort_view(self.view_sorting, value.get_boolean())
def on_game_store_sorting_changed(self, game_store, key, ascending):
self.view_sorting = key
self.view_sorting_ascending = ascending
self.actions['view-sorting'].set_state(GLib.Variant.new_string(key))
self.actions['view-sorting-ascending'].set_state(GLib.Variant.new_boolean(ascending))
settings.write_setting('view_sorting', self.view_sorting)
settings.write_setting(
'view_sorting_ascending',
'true' if self.view_sorting_ascending else 'false'
)
def create_menu_shortcut(self, *_args):
"""Add the selected game to the system's Games menu."""
game = Game(self.view.selected_game)
@ -862,7 +992,20 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.sidebar_visible = value.get_boolean()
setting = 'true' if self.sidebar_visible else 'false'
settings.write_setting('sidebar_visible', setting)
self.show_sidebar()
if self.sidebar_visible:
settings.write_setting('sidebar_visible', 'true')
else:
settings.write_setting('sidebar_visible', 'false')
self.sidebar_revealer.set_reveal_child(self.sidebar_visible)
def on_sidebar_changed(self, widget):
row = widget.get_selected_row()
if row is None:
self.set_selected_filter(None, None)
elif row.type == 'runner':
self.set_selected_filter(row.id, None)
else:
self.set_selected_filter(None, row.id)
def on_tray_icon_toggle(self, action, value):
"""Callback for handling tray icon toggle"""
@ -870,23 +1013,18 @@ class LutrisWindow(Gtk.ApplicationWindow):
settings.write_setting('show_tray_icon', value)
self.application.set_tray_icon(value)
def show_sidebar(self):
"""Displays the sidebar"""
width = 180 if self.sidebar_visible else 0
self.sidebar_paned.set_position(width)
def on_sidebar_changed(self, widget):
"""Callback to handle selected runner/platforms updates in sidebar"""
filer_type, slug = widget.get_selected_filter()
selected_runner = None
selected_platform = None
if not slug:
pass
elif filer_type == 'platforms':
selected_platform = slug
elif filer_type == 'runners':
selected_runner = slug
self.set_selected_filter(selected_runner, selected_platform)
# def on_sidebar_changed(self, widget):
# """Callback to handle selected runner/platforms updates in sidebar"""
# filer_type, slug = widget.get_selected_filter()
# selected_runner = None
# selected_platform = None
# if not slug:
# pass
# elif filer_type == 'platforms':
# selected_platform = slug
# elif filer_type == 'runners':
# selected_runner = slug
# self.set_selected_filter(selected_runner, selected_platform)
def set_selected_filter(self, runner, platform):
"""Filter the view to a given runner and platform"""
@ -894,4 +1032,4 @@ class LutrisWindow(Gtk.ApplicationWindow):
self.selected_platform = platform
self.game_store.filter_runner = self.selected_runner
self.game_store.filter_platform = self.selected_platform
self.game_store.modelfilter.refilter()
self.invalidate_game_filter()

View file

@ -20,7 +20,7 @@ class RunnerInstallDialog(Dialog):
COL_PROGRESS = 4
def __init__(self, title, parent, runner):
super(RunnerInstallDialog, self).__init__(
super().__init__(
title, parent, 0, ('_OK', Gtk.ResponseType.OK)
)
width, height = (460, 380)

View file

@ -1,24 +1,22 @@
# -*- coding:Utf-8 -*-
from gi.repository import Gtk, GObject, Gdk
from gi.repository import Gtk, GObject
from lutris import runners
from lutris import settings
from lutris.util.system import open_uri
from lutris.gui.widgets.utils import get_runner_icon
from lutris.gui.dialogs import ErrorDialog
from lutris.gui.config_dialogs import RunnerConfigDialog
from lutris.gui.runnerinstalldialog import RunnerInstallDialog
from lutris.gui.widgets.utils import get_icon
class RunnersDialog(Gtk.Window):
class RunnersDialog(Gtk.Dialog):
"""Dialog to manage the runners."""
__gsignals__ = {
"runner-installed": (GObject.SIGNAL_RUN_FIRST, None, ()),
}
def __init__(self):
GObject.GObject.__init__(self)
def __init__(self, **kwargs):
super().__init__(use_header_bar=1, **kwargs)
self.runner_labels = {}
@ -27,51 +25,47 @@ class RunnersDialog(Gtk.Window):
height = int(settings.read_setting('runners_manager_height') or 500)
self.dialog_size = (width, height)
self.set_default_size(width, height)
self.set_border_width(10)
self.set_position(Gtk.WindowPosition.CENTER)
self.vbox = Gtk.VBox()
self.add(self.vbox)
self._vbox = self.get_content_area()
self._header = self.get_header_bar()
# Signals
self.connect('destroy', self.on_destroy)
self.connect('configure-event', self.on_resize)
# Scrolled window
scrolled_window = Gtk.ScrolledWindow()
scrolled_window.set_policy(Gtk.PolicyType.NEVER,
Gtk.PolicyType.AUTOMATIC)
scrolled_window.set_shadow_type(Gtk.ShadowType.ETCHED_OUT)
self.vbox.pack_start(scrolled_window, True, True, 0)
self.show_all()
self._vbox.pack_start(scrolled_window, True, True, 0)
# Runner list
self.runner_list = sorted(runners.__all__)
self.runner_listbox = Gtk.ListBox(visible=True, selection_mode=Gtk.SelectionMode.NONE)
self.runner_listbox.set_header_func(self._listbox_header_func)
self.populate_runners()
scrolled_window.add(self.runner_listbox)
# Bottom bar
buttons_box = Gtk.Box()
buttons_box.show()
open_runner_button = Gtk.Button("Open Runners Folder")
open_runner_button.show()
open_runner_button.connect('clicked', self.on_runner_open_clicked)
buttons_box.pack_start(open_runner_button, False, False, 0)
# Header buttons
buttons_box = Gtk.Box(spacing=6)
self.refresh_button = Gtk.Button("Refresh")
self.refresh_button = Gtk.Button.new_from_icon_name('view-refresh-symbolic', Gtk.IconSize.BUTTON)
self.refresh_button.props.tooltip_text = 'Refresh runners'
self.refresh_button.show()
self.refresh_button.connect('clicked', self.on_refresh_clicked)
buttons_box.pack_start(self.refresh_button, False, False, 10)
buttons_box.add(self.refresh_button)
close_button = Gtk.Button("Close")
close_button.show()
close_button.connect('clicked', self.on_close_clicked)
buttons_box.pack_start(close_button, False, False, 0)
open_runner_button = Gtk.Button.new_from_icon_name('folder-symbolic', Gtk.IconSize.BUTTON)
open_runner_button.props.tooltip_text = 'Open Runners Folder'
open_runner_button.connect('clicked', self.on_runner_open_clicked)
buttons_box.add(open_runner_button)
buttons_box.show_all()
self._header.add(buttons_box)
# Signals
self.connect('destroy', self.on_destroy)
self.connect('configure-event', self.on_resize)
self.show_all()
self.vbox.pack_start(buttons_box, False, False, 5)
# Run this after show_all, else all hidden buttons gets shown
self.populate_runners()
@staticmethod
def _listbox_header_func(row, before):
@ -84,10 +78,10 @@ class RunnersDialog(Gtk.Window):
platform = ', '.join(sorted(list(set(runner.platforms))))
description = runner.description
hbox = Gtk.HBox()
hbox = Gtk.Box()
hbox.show()
# Icon
icon = get_runner_icon(runner_name)
icon = get_icon(runner_name)
icon.show()
icon.set_alignment(0.5, 0.1)
hbox.pack_start(icon, False, False, 10)

View file

@ -1,12 +1,14 @@
from gi.repository import Gtk, GdkPixbuf, GObject
import os
from gi.repository import Gtk, Pango, GObject, GdkPixbuf
from lutris import runners
from lutris import platforms
from lutris import pga
from lutris.util import datapath
from lutris.util.log import logger
from lutris.gui.runnerinstalldialog import RunnerInstallDialog
from lutris.gui.config_dialogs import RunnerConfigDialog
from lutris.gui.runnersdialog import RunnersDialog
from lutris.gui.widgets.utils import get_runner_icon
TYPE = 0
SLUG = 1
@ -15,6 +17,29 @@ LABEL = 3
GAMECOUNT = 4
class SidebarRow(Gtk.ListBoxRow):
def __init__(self, id_, type_, name, icon):
super().__init__()
self.type = type_
self.id = id_
self.btn_box = None
self.box = Gtk.Box(spacing=6, margin_start=9, margin_end=9)
# Construct the left column icon space.
if icon:
self.box.add(icon)
else:
# Place a spacer if there is no loaded icon.
icon = Gtk.Box(spacing=6, margin_start=9, margin_end=9)
self.box.add(icon)
label = Gtk.Label(label=name, halign=Gtk.Align.START, hexpand=True,
margin_top=6, margin_bottom=6,
ellipsize=Pango.EllipsizeMode.END)
self.box.add(label)
class SidebarTreeView(Gtk.TreeView):
def __init__(self):
super(SidebarTreeView, self).__init__()
@ -64,7 +89,7 @@ class SidebarTreeView(Gtk.TreeView):
self.get_selection().set_mode(Gtk.SelectionMode.BROWSE)
self.connect('button-press-event', self.popup_contextual_menu)
# self.connect('button-press-event', self.popup_contextual_menu)
GObject.add_emission_hook(RunnersDialog, "runner-installed", self.update)
self.runners = sorted(runners.__all__)
@ -81,10 +106,10 @@ class SidebarTreeView(Gtk.TreeView):
for slug in self.runners:
self.add_runner(slug)
def add_runner(self, slug):
name = runners.import_runner(slug).human_name
icon = get_runner_icon(slug, format='pixbuf', size=(16, 16))
self.model.append(self.runner_node, ['runners', slug, icon, name, None])
# def add_runner(self, slug):
# name = runners.import_runner(slug).human_name
# icon = get_runner_icon(slug, format='pixbuf', size=(16, 16))
# self.model.append(self.runner_node, ['runners', slug, icon, name, None])
def load_platforms(self):
"""Update platforms in the model."""
@ -142,57 +167,148 @@ class SidebarTreeView(Gtk.TreeView):
model_iter = self.model.iter_next(model_iter)
def popup_contextual_menu(self, view, event):
if event.button != 3:
return
view.current_path = view.get_path_at_pos(event.x, event.y)
if view.current_path:
view.set_cursor(view.current_path[0])
type, slug = self.get_selected_filter()
if type != 'runners' or not slug or slug not in self.runners:
return
menu = ContextualMenu()
menu.popup(event, slug, self.get_toplevel())
# def popup_contextual_menu(self, view, event):
# if event.button != 3:
# return
# view.current_path = view.get_path_at_pos(event.x, event.y)
# if view.current_path:
# view.set_cursor(view.current_path[0])
# type, slug = self.get_selected_filter()
# if type != 'runners' or not slug or slug not in self.runners:
# return
# menu = ContextualMenu()
# menu.popup(event, slug, self.get_toplevel())
# self.add(self.box)
class ContextualMenu(Gtk.Menu):
def __init__(self):
super(ContextualMenu, self).__init__()
def _create_button_box(self):
self.btn_box = Gtk.Box(spacing=3, no_show_all=True, valign=Gtk.Align.CENTER,
homogeneous=True)
def add_menuitems(self, entries):
for entry in entries:
name = entry[0]
label = entry[1]
action = Gtk.Action(name=name, label=label)
action.connect('activate', entry[2])
menuitem = action.create_menu_item()
menuitem.action_id = name
self.append(menuitem)
def popup(self, event, runner_slug, parent_window):
self.runner = runners.import_runner(runner_slug)()
self.parent_window = parent_window
# Clear existing menu
for item in self.get_children():
self.remove(item)
# Add items
entries = [('configure', 'Configure', self.on_configure_runner)]
# Creation is delayed because only installed runners can be imported
# and all visible boxes should be installed.
self.runner = runners.import_runner(self.id)()
entries = []
if self.runner.multiple_versions:
entries.append(('versions', 'Manage versions',
entries.append(('system-software-install-symbolic', 'Manage Versions',
self.on_manage_versions))
if self.runner.runnable_alone:
entries.append(('run', 'Run', self.runner.run))
self.add_menuitems(entries)
self.show_all()
entries.append(('media-playback-start-symbolic', 'Run', self.runner.run))
entries.append(('emblem-system-symbolic', 'Configure', self.on_configure_runner))
for entry in entries:
btn = Gtk.Button(tooltip_text=entry[1],
relief=Gtk.ReliefStyle.NONE,
visible=True)
image = Gtk.Image.new_from_icon_name(entry[0], Gtk.IconSize.MENU)
image.show()
btn.add(image)
btn.connect('clicked', entry[2])
self.btn_box.add(btn)
super(ContextualMenu, self).popup(None, None, None, None,
event.button, event.time)
self.box.add(self.btn_box)
def on_configure_runner(self, *args):
RunnerConfigDialog(self.runner, parent=self.parent_window)
RunnerConfigDialog(self.runner, parent=self.get_toplevel())
def on_manage_versions(self, *args):
dlg_title = "Manage %s versions" % self.runner.name
RunnerInstallDialog(dlg_title, self.parent_window, self.runner.name)
RunnerInstallDialog(dlg_title, self.get_toplevel(), self.runner.name)
def do_state_flags_changed(self, previous_flags):
if self.id is not None and self.type == 'runner':
flags = self.get_state_flags()
if flags & Gtk.StateFlags.PRELIGHT or flags & Gtk.StateFlags.SELECTED:
if self.btn_box is None:
self._create_button_box()
self.btn_box.show()
elif self.btn_box is not None and self.btn_box.get_visible():
self.btn_box.hide()
Gtk.ListBoxRow.do_state_flags_changed(self, previous_flags)
class SidebarHeader(Gtk.Box):
def __init__(self, name):
super().__init__(orientation=Gtk.Orientation.VERTICAL)
self.get_style_context().add_class('sidebar-header')
label = Gtk.Label(halign=Gtk.Align.START, hexpand=True, use_markup=True,
label='<b>{}</b>'.format(name))
label.get_style_context().add_class('dim-label')
box = Gtk.Box(margin_start=9, margin_top=6, margin_bottom=6, margin_right=9)
box.add(label)
self.add(box)
if name == 'Runners':
manage_runners_button = Gtk.Button.new_from_icon_name('emblem-system-symbolic', Gtk.IconSize.MENU)
manage_runners_button.props.action_name = 'win.manage-runners'
manage_runners_button.props.relief = Gtk.ReliefStyle.NONE
manage_runners_button.get_style_context().add_class('sidebar-button')
box.add(manage_runners_button)
self.add(Gtk.Separator())
self.show_all()
class SidebarListBox(Gtk.ListBox):
__gtype_name__ = 'LutrisSidebar'
def __init__(self):
super().__init__()
self.get_style_context().add_class('sidebar')
self.installed_runners = []
self.active_platforms = pga.get_used_platforms()
self.runners = sorted(runners.__all__)
self.platforms = sorted(platforms.__all__)
GObject.add_emission_hook(RunnersDialog, "runner-installed", self.update)
# TODO: This should be in a more logical location
icon_theme = Gtk.IconTheme.get_default()
local_theme_path = os.path.join(datapath.get(), 'icons')
if local_theme_path not in icon_theme.get_search_path():
icon_theme.prepend_search_path(local_theme_path)
all_row = SidebarRow(None, 'runner', 'All', None)
self.add(all_row)
self.select_row(all_row)
for runner in self.runners:
icon = Gtk.Image.new_from_icon_name(runner.lower().replace(' ', '') + '-symbolic',
Gtk.IconSize.MENU)
name = runners.import_runner(runner).human_name
self.add(SidebarRow(runner, 'runner', name, icon))
self.add(SidebarRow(None, 'platform', 'All', None))
for platform in self.platforms:
icon = Gtk.Image.new_from_icon_name(platform.lower().replace(' ', '') + '-platform-symbolic',
Gtk.IconSize.MENU)
self.add(SidebarRow(platform, 'platform', platform, icon))
self.set_filter_func(self._filter_func)
self.set_header_func(self._header_func)
self.update()
self.show_all()
def _filter_func(self, row):
if row is None:
return True
elif row.type == 'runner':
if row.id is None:
return True # 'All'
return row.id in self.installed_runners
else:
if len(self.active_platforms) <= 1:
return False # Hide useless filter
elif row.id is None: # 'All'
return True
return row.id in self.active_platforms
def _header_func(self, row, before):
if row.get_header():
return
if not before:
row.set_header(SidebarHeader('Runners'))
elif before.type == 'runner' and row.type == 'platform':
row.set_header(SidebarHeader('Platforms'))
def update(self, *args):
self.installed_runners = [runner.name for runner in runners.get_installed()]
self.active_platforms = pga.get_used_platforms()
self.invalidate_filter()

View file

@ -1,45 +1,75 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gio
from lutris.gui.widgets.utils import get_runner_icon
from gi.repository import Gtk, GLib, Gio
from lutris.gui.widgets.utils import get_icon
from lutris.gui.dialogs import NoticeDialog
from lutris.services import get_services
from lutris.settings import read_setting, write_setting
from lutris.util.jobs import AsyncCall
class ServiceSyncRow(Gtk.HBox):
class ServiceSyncRow(Gtk.Box):
def __init__(self, service):
super(ServiceSyncRow, self).__init__()
def __init__(self, service, dialog):
super().__init__()
self.set_spacing(20)
self.identifier = service.__name__.split('.')[-1]
name = service.NAME
icon = get_runner_icon(self.identifier)
icon = get_icon(self.identifier)
self.pack_start(icon, False, False, 0)
label = Gtk.Label(xalign=0)
label = Gtk.Label()
label.set_xalign(0)
label.set_markup("<b>{}</b>".format(name))
self.pack_start(label, True, True, 0)
actions = Gtk.VBox()
actions = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.pack_start(actions, False, False, 0)
sync_switch = Gtk.Switch()
sync_switch.set_tooltip_text("Sync when Lutris starts")
sync_switch.props.valign = Gtk.Align.CENTER
sync_switch.connect('notify::active', self.on_switch_changed)
if read_setting('sync_at_startup', self.identifier) == 'True':
sync_switch.set_state(True)
actions.pack_start(sync_switch, False, False, 0)
if hasattr(service, "connect"):
self.connect_button = Gtk.Button()
self.connect_button.connect('clicked', self.on_connect_clicked, service)
self._connect_button_toggle(service.is_connected())
actions.pack_start(self.connect_button, False, False, 0)
sync_button = Gtk.Button("Sync")
sync_button.set_tooltip_text("Sync now")
sync_button.connect('clicked', self.on_sync_button_clicked, service.sync_with_lutris)
actions.pack_start(sync_button, False, False, 0)
if hasattr(service, "sync_with_lutris"):
self.sync_switch = Gtk.Switch()
self.sync_switch.set_tooltip_text("Sync when Lutris starts")
self.sync_switch.props.valign = Gtk.Align.CENTER
self.sync_switch.connect('notify::active', self.on_switch_changed)
if read_setting('sync_at_startup', self.identifier) == 'True':
self.sync_switch.set_state(True)
actions.pack_start(self.sync_switch, False, False, 0)
self.sync_button = Gtk.Button("Sync")
self.sync_button.set_tooltip_text("Sync now")
self.sync_button.connect('clicked', self.on_sync_button_clicked, service.sync_with_lutris)
actions.pack_start(self.sync_button, False, False, 0)
if hasattr(service, "connect") and not service.is_connected():
self.sync_switch.set_sensitive(False)
self.sync_button.set_sensitive(False)
def on_connect_clicked(self, button, service):
if service.is_connected():
service.disconnect()
self._connect_button_toggle(False)
self.sync_switch.set_sensitive(False)
self.sync_button.set_sensitive(False)
# Disable sync on disconnect
if self.sync_switch and self.sync_switch.get_active():
self.sync_switch.set_state(False)
else:
service.connect()
self._connect_button_toggle(True)
self.sync_switch.set_sensitive(True)
self.sync_button.set_sensitive(True)
def _connect_button_toggle(self, is_connected):
self.connect_button.set_label("Disconnect" if is_connected else "Connect")
def on_sync_button_clicked(self, button, sync_method):
AsyncCall(sync_method, callback=self.on_service_synced)
@ -59,7 +89,7 @@ class ServiceSyncRow(Gtk.HBox):
class SyncServiceDialog(Gtk.Dialog):
def __init__(self, parent=None):
Gtk.Dialog.__init__(self, title="Configure local game import", parent=parent)
super().__init__(title="Import local games", parent=parent, use_header_bar=1)
self.connect("delete-event", lambda *x: self.destroy())
self.set_border_width(10)
self.set_size_request(512, 0)
@ -76,6 +106,6 @@ class SyncServiceDialog(Gtk.Dialog):
box_outer.pack_start(separator, False, False, 0)
for service in get_services():
sync_row = ServiceSyncRow(service)
sync_row = ServiceSyncRow(service, self)
box_outer.pack_start(sync_row, False, True, 0)
box_outer.show_all()

View file

@ -36,7 +36,7 @@ class FileChooserEntry(Gtk.Box):
def __init__(self, title='Select file', action=Gtk.FileChooserAction.OPEN,
default_path=None):
"""Widget with text entry and button to select file or folder."""
super(FileChooserEntry, self).__init__()
super().__init__()
self.entry = Gtk.Entry()
if default_path:
@ -128,16 +128,19 @@ class Label(Gtk.Label):
"""Standardised label for config vboxes."""
def __init__(self, message=None):
"""Custom init of label."""
super(Label, self).__init__(label=message)
super().__init__(label=message)
self.set_alignment(0.1, 0.0)
self.set_padding(5, 0)
self.set_line_wrap(True)
class VBox(Gtk.VBox):
def __init__(self):
GObject.GObject.__init__(self)
self.set_margin_top(20)
class VBox(Gtk.Box):
def __init__(self, **kwargs):
super().__init__(
orientation=Gtk.Orientation.VERTICAL,
margin_top=20,
**kwargs
)
class EditableGrid(Gtk.Grid):
@ -147,7 +150,7 @@ class EditableGrid(Gtk.Grid):
def __init__(self, data, columns):
self.columns = columns
super(EditableGrid, self).__init__()
super().__init__()
self.set_column_homogeneous(True)
self.set_row_homogeneous(True)
self.set_row_spacing(10)

View file

@ -3,6 +3,6 @@ from gi.repository import Gtk
class Dialog(Gtk.Dialog):
def __init__(self, title=None, parent=None, flags=0, buttons=None):
super(Dialog, self).__init__(title, parent, flags, buttons)
super().__init__(title, parent, flags, buttons)
self.set_border_width(10)
self.set_destroy_with_parent(True)

View file

@ -2,7 +2,7 @@ from gi.repository import GLib, GObject, Gtk, Pango
from lutris.util.downloader import Downloader
class DownloadProgressBox(Gtk.VBox):
class DownloadProgressBox(Gtk.Box):
"""Progress bar used to monitor a file download."""
__gsignals__ = {
'complete': (GObject.SignalFlags.RUN_LAST, None,
@ -14,7 +14,7 @@ class DownloadProgressBox(Gtk.VBox):
}
def __init__(self, params, cancelable=True, downloader=None):
super(DownloadProgressBox, self).__init__()
super().__init__(orientation=Gtk.Orientation.VERTICAL)
self.downloader = downloader
self.url = params.get('url')

View file

@ -17,31 +17,39 @@ DEFAULT_BANNER = os.path.join(datapath.get(), 'media/default_banner.png')
DEFAULT_ICON = os.path.join(datapath.get(), 'media/default_icon.png')
IMAGE_SIZES = {
'banner': BANNER_SIZE,
'banner_small': BANNER_SMALL_SIZE,
'icon_small': ICON_SMALL_SIZE,
'icon': ICON_SIZE,
'icon_small': ICON_SMALL_SIZE
'banner_small': BANNER_SMALL_SIZE,
'banner': BANNER_SIZE
}
def get_pixbuf(image, default_image, size):
"""Return a pixbuf from file `image` at `size` or fallback to `default_image`"""
def get_pixbuf(image, size, fallback=None):
"""Return a pixbuf from file `image` at `size` or fallback to `fallback`"""
x, y = size
if not os.path.exists(image):
image = default_image
image = fallback
try:
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(image, x, y)
except GLib.GError:
if default_image:
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(default_image, x, y)
if fallback:
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(fallback, x, y)
else:
raise
return pixbuf
def get_runner_icon(runner_name, format='image', size=None):
icon_path = os.path.join(datapath.get(), 'media/runner_icons',
runner_name + '.png')
def get_icon(icon_name, format='image', size=None, icon_type='runner'):
"""Return an icon based on the given name, format, size and type.
Keyword arguments:
icon_name -- The name of the icon to retrieve
format -- The format of the icon, which should be either 'image' or 'pixbuf' (default 'image')
size -- The size for the desired image (default None)
icon_type -- Retrieve either a 'runner' or 'platform' icon (default 'runner')
"""
filename = icon_name.lower().replace(' ', '') + '.png'
icon_path = os.path.join(datapath.get(), 'media/' + icon_type + '_icons', filename)
if not os.path.exists(icon_path):
logger.error("Unable to find icon '%s'", icon_path)
return None
@ -49,7 +57,7 @@ def get_runner_icon(runner_name, format='image', size=None):
icon = Gtk.Image()
icon.set_from_file(icon_path)
elif format == 'pixbuf' and size:
icon = get_pixbuf(icon_path, None, size)
icon = get_pixbuf(icon_path, size)
else:
raise ValueError("Invalid arguments")
return icon
@ -67,10 +75,10 @@ def get_overlay(size):
def get_pixbuf_for_game(game_slug, icon_type, is_installed=True):
if icon_type in ("banner", "banner_small"):
if icon_type.startswith("banner"):
default_icon_path = DEFAULT_BANNER
icon_path = datapath.get_banner_path(game_slug)
elif icon_type in ("icon", "icon_small"):
elif icon_type.startswith("icon"):
default_icon_path = DEFAULT_ICON
icon_path = datapath.get_icon_path(game_slug)
else:
@ -79,7 +87,7 @@ def get_pixbuf_for_game(game_slug, icon_type, is_installed=True):
size = IMAGE_SIZES[icon_type]
pixbuf = get_pixbuf(icon_path, default_icon_path, size)
pixbuf = get_pixbuf(icon_path, size, fallback=default_icon_path)
if not is_installed:
transparent_pixbuf = get_overlay(size).copy()
pixbuf.composite(transparent_pixbuf, 0, 0, size[0], size[1],

View file

@ -373,10 +373,9 @@ class CommandsMixin:
runner_name, task_name = self._get_task_runner_and_name(data.pop('name'))
wine_version = None
if runner_name == 'wine':
wine_version = self._get_runner_version()
if runner_name.startswith('wine'):
wine_version = self._get_runner_version()
if wine_version:
data['wine_path'] = get_wine_version_exe(wine_version)
@ -392,8 +391,11 @@ class CommandsMixin:
value = self._substitute(data[key])
data[key] = value
if runner_name in ['wine', 'winesteam'] and 'prefix' not in data:
data['prefix'] = self.target_path
if 'prefix' not in data:
if runner_name == 'wine':
data['prefix'] = wine.wine.prefix_path
elif runner_name == 'winesteam':
data['prefix'] = self._get_steam_runner().prefix_path
task = import_task(runner_name, task_name)
thread = task(**data)
@ -463,7 +465,10 @@ class CommandsMixin:
def write_config(self, params):
"""Write a key-value pair into an INI type config file."""
self._check_required_params(['file', 'section', 'key', 'value'],
if params.get('data', None):
self._check_required_params(['file', 'data'], params, 'write_config')
else:
self._check_required_params(['file', 'section', 'key', 'value'],
params, 'write_config')
# Get file
config_file_path = self._get_file(params['file'])
@ -473,17 +478,28 @@ class CommandsMixin:
if not os.path.exists(basedir):
os.makedirs(basedir)
merge = params.get('merge', True)
parser = EvilConfigParser(allow_no_value=True,
dict_type=MultiOrderedDict,
strict=False)
parser.optionxform = str # Preserve text case
parser.read(config_file_path)
if merge:
parser.read(config_file_path)
value = self._substitute(params['value'])
data = {}
if params.get('data', None):
data = params['data']
else:
data[params['section']] = {}
data[params['section']][params['key']] = params['value']
if not parser.has_section(params['section']):
parser.add_section(params['section'])
parser.set(params['section'], params['key'], value)
for section, keys in data.items():
if not parser.has_section(section):
parser.add_section(section)
for key, value in keys.items():
value = self._substitute(value)
parser.set(section, key, value)
with open(config_file_path, 'wb') as config_file:
parser.write(config_file)

View file

@ -6,6 +6,8 @@ import yaml
from gi.repository import GLib
from json import dumps
from lutris import pga
from lutris import settings
from lutris.game import Game
@ -23,6 +25,8 @@ from lutris.config import LutrisConfig, make_game_config_id
from lutris.installer.errors import ScriptingError
from lutris.installer.commands import CommandsMixin
from lutris.services.gog import is_connected as is_gog_connected, connect as connect_gog, GogService
from lutris.runners import (
wine, winesteam, steam, import_runner,
InvalidRunner, NonInstallableRunnerError, RunnerInstallationError
@ -96,10 +100,13 @@ class ScriptInterpreter(CommandsMixin):
self.abort_current_task = None
self.user_inputs = []
self.steam_data = {}
self.gog_data = {}
self.script = installer.get('script')
if not self.script:
raise ScriptingError("This installer doesn't have a 'script' section")
self.script_pretty = dumps(self.script, indent=4)
self.runners_to_install = []
self.prev_states = [] # Previous states for the Steam installer
@ -159,7 +166,7 @@ class ScriptInterpreter(CommandsMixin):
if self.runner in ('steam', 'winesteam'):
# Steam games installs in their steamapps directory
return False
if self.files:
if self.files or self.script['game']['gog']:
return True
command_names = [list(c.keys())[0] for c in self.script.get('installer', [])]
if 'insert-disc' in command_names:
@ -267,6 +274,27 @@ class ScriptInterpreter(CommandsMixin):
# "Get the files" stage
# ---------------------
def prepare_game_files(self):
# Add gog installer to files
if self.script["game"].get("gog", False):
data = self.get_gog_downloadlink()
gogUrl = data[0]
self.gog_data["os"] = data[1]
file = {
"installer": {
"url": gogUrl,
"filename": gogUrl.split("?")[0].split("/")[-1]
}
}
self.files.append(file)
if self.gog_data["os"] == "linux":
file = {
"unzip": "http://lutris.net/files/tools/unzip.tar.gz"
}
self.files.append(file)
self.iter_game_files()
def iter_game_files(self):
if self.files:
# Create cache dir if needed
@ -306,14 +334,21 @@ class ScriptInterpreter(CommandsMixin):
- filename : force destination filename when url is present or path
of local file.
"""
if not isinstance(game_file, dict):
raise ScriptingError("Invalid file, check the installer script",
game_file)
# Setup file_id, file_uri and local filename
file_id = list(game_file.keys())[0]
if isinstance(game_file[file_id], dict):
filename = game_file[file_id]['filename']
file_uri = game_file[file_id]['url']
referer = game_file[file_id].get('referer')
file_meta = game_file[file_id]
if isinstance(file_meta, dict):
for field in ('url', 'filename'):
if field not in file_meta:
raise ScriptingError('missing field `%s` for file `%s`' % (field, file_id))
file_uri = file_meta['url']
filename = file_meta['filename']
referer = file_meta.get('referer')
else:
file_uri = game_file[file_id]
file_uri = file_meta
filename = os.path.basename(file_uri)
referer = None
@ -356,47 +391,6 @@ class ScriptInterpreter(CommandsMixin):
self.game_files[file_id] = dest_file
self.parent.start_download(file_uri, dest_file, referer=referer)
def _download_steam_data(self, file_uri, file_id):
"""Download the game files from Steam to use them outside of Steam.
file_uri: Colon separated game info containing:
- $STEAM or $WINESTEAM depending on the version of Steam
Since Steam for Linux can download games for any
platform, using $WINESTEAM has little value except in
some cases where the game needs to be started by Steam
in order to get a CD key (ie. Doom 3 or UT2004)
- The Steam appid
- The relative path of files to retrieve
file_id: The lutris installer internal id for the game files
"""
try:
parts = file_uri.split(":", 2)
steam_rel_path = parts[2].strip()
except IndexError:
raise ScriptingError("Malformed steam path: %s" % file_uri)
if steam_rel_path == "/":
steam_rel_path = "."
self.steam_data = {
'appid': parts[1],
'steam_rel_path': steam_rel_path,
'file_id': file_id
}
logger.debug("Getting Steam data for appid %s", self.steam_data['appid'])
self.parent.clean_widgets()
self.parent.add_spinner()
if parts[0] == '$WINESTEAM':
self.parent.set_status('Getting Wine Steam game data')
self.steam_data['platform'] = "windows"
self.install_steam_game(winesteam.winesteam,
is_game_files=True)
else:
# Getting data from Linux Steam
self.parent.set_status('Getting Steam game data')
self.steam_data['platform'] = "linux"
self.install_steam_game(steam.steam, is_game_files=True)
def check_runner_install(self):
"""Check if the runner is installed before starting the installation
Install the required runner(s) if necessary. This should handle runner
@ -438,7 +432,7 @@ class ScriptInterpreter(CommandsMixin):
def install_runners(self):
if not self.runners_to_install:
self.iter_game_files()
self.prepare_game_files()
else:
runner = self.runners_to_install.pop(0)
self.install_runner(runner)
@ -470,7 +464,7 @@ class ScriptInterpreter(CommandsMixin):
"Can't continue installation without file", file_id
)
self.game_files[file_id] = file_path
self.iter_game_files()
self.prepare_game_files()
# ---------------
# "Commands" stage
@ -499,6 +493,36 @@ class ScriptInterpreter(CommandsMixin):
if self.runner == 'winesteam' else 'linux'
commands.insert(0, 'install_steam_game')
self.script['installer'] = commands
# Add gog installation to commands, if it's a GOG and linux game
if self.gog_data and self.gog_data["os"] == "linux":
commands = self.script.get('installer', [])
gogcommands = []
gogcommands.append({
"extract": {
"dst": "$CACHE",
"file": "$unzip"
}
})
gogcommands.append({
"execute": {
"args": '$installer -d "$GAMEDIR" "data/noarch/*"',
"description": "Extracting game data, it will take a while...",
"file": "$CACHE/unzip"
}
})
gogcommands.append({
"rename": {
"dst": "$GAMEDIR/Game",
"src": "$GAMEDIR/data/noarch"
}
})
gogcommands.extend(commands)
self.script['installer'] = gogcommands
if not self.script.get('exe', False):
self.script['exe'] = "Game/start.sh"
self._iter_commands()
def _iter_commands(self, result=None, exception=None):
@ -725,6 +749,11 @@ class ScriptInterpreter(CommandsMixin):
def _get_last_user_input(self):
return self.user_inputs[-1]['value'] if self.user_inputs else ''
def eject_wine_disc(self):
prefix = self.target_path
wine_path = wine.get_wine_version_exe(self._get_runner_version())
wine.eject_disc(wine_path, prefix)
# -----------
# Steam stuff
# -----------
@ -825,7 +854,87 @@ class ScriptInterpreter(CommandsMixin):
data_path, self.steam_data['steam_rel_path']
)
)
self.iter_game_files()
self.prepare_game_files()
def _download_steam_data(self, file_uri, file_id):
"""Download the game files from Steam to use them outside of Steam.
file_uri: Colon separated game info containing:
- $STEAM or $WINESTEAM depending on the version of Steam
Since Steam for Linux can download games for any
platform, using $WINESTEAM has little value except in
some cases where the game needs to be started by Steam
in order to get a CD key (ie. Doom 3 or UT2004)
- The Steam appid
- The relative path of files to retrieve
file_id: The lutris installer internal id for the game files
"""
try:
parts = file_uri.split(":", 2)
steam_rel_path = parts[2].strip()
except IndexError:
raise ScriptingError("Malformed steam path: %s" % file_uri)
if steam_rel_path == "/":
steam_rel_path = "."
self.steam_data = {
'appid': parts[1],
'steam_rel_path': steam_rel_path,
'file_id': file_id
}
logger.debug(
"Getting Steam data for appid %s" % self.steam_data['appid']
)
self.parent.clean_widgets()
self.parent.add_spinner()
if parts[0] == '$WINESTEAM':
self.parent.set_status('Getting Wine Steam game data')
self.steam_data['platform'] = "windows"
self.install_steam_game(winesteam.winesteam,
is_game_files=True)
else:
# Getting data from Linux Steam
self.parent.set_status('Getting Steam game data')
self.steam_data['platform'] = "linux"
self.install_steam_game(steam.steam, is_game_files=True)
# -----------
# GOG stuff
# -----------
def get_gog_downloadlink(self):
"""Get url of a gog installer."""
self.gog_data = self.script['game']['gog']
if not is_gog_connected():
connect_gog()
gog_service = GogService()
game_details = gog_service.get_game_details(self.gog_data['appid'])
installer = self._get_gog_installer(game_details)
if installer[0]:
installer = installer[1]
for game_file in installer.get('files', []):
downlink = game_file.get("downlink")
if not downlink:
logger.error("No download information for %s", installer)
continue
download_info = gog_service.get_download_info(downlink)
return (download_info['downlink'], installer["os"])
else:
logger.error("Installer with id %s not found!", self.gog_data['installerid'])
raise ScriptingError("Given installer id not existing!")
def _get_gog_installer(self, game_details):
installers = game_details['downloads']['installers']
for _, installer in enumerate(installers):
logger.debug("Found gog installer with id: %s", installer['id'])
print(installer)
if installer['id'] == self.gog_data['installerid']:
return (True, installer)
return (False, "")
def eject_wine_disc(self):
prefix = self.target_path

View file

@ -89,7 +89,7 @@ class vice(Runner):
for index, choice in enumerate(self.machine_choices):
if choice[1] == machine:
return self.platforms[index]
return ''
return self.platforms[0] # Default to C64
def get_executable(self, machine=None):
if not machine:

View file

@ -1,7 +1,11 @@
from importlib import import_module
from lutris.settings import read_setting
__all__ = ['steam', 'winesteam', 'xdg', 'scummvm']
__all__ = ['steam', 'winesteam', 'xdg', 'scummvm', 'gog']
class AuthenticationError(Exception):
pass
def import_service(name):

221
lutris/services/gog.py Normal file
View file

@ -0,0 +1,221 @@
"""Module for handling the GOG service"""
import os
import time
import json
from urllib.parse import urlencode, urlparse, parse_qsl
from lutris import settings
from lutris.services import AuthenticationError
from lutris.util.http import Request
from lutris.util.log import logger
from lutris.util.cookies import WebkitCookieJar
from lutris.gui.dialogs import WebConnectDialog
NAME = "GOG"
class GogService:
"""Service class for GOG"""
name = "GOG"
embed_url = 'https://embed.gog.com'
api_url = 'https://api.gog.com'
client_id = "46899977096215655"
client_secret = "9d85c43b1482497dbbce61f6e4aa173a433796eeae2ca8c5f6129f2dc4de46d9"
redirect_uri = "https://embed.gog.com/on_login_success?origin=client"
login_success_url = "https://www.gog.com/on_login_success"
credentials_path = os.path.join(settings.CACHE_DIR, '.gog.auth')
token_path = os.path.join(settings.CACHE_DIR, '.gog.token')
@property
def login_url(self):
"""Return authentication URL"""
params = {
'client_id': self.client_id,
'layout': 'client2',
'redirect_uri': self.redirect_uri,
'response_type': 'code'
}
return "https://auth.gog.com/auth?" + urlencode(params)
def disconnect(self):
"""Disconnect from GOG by removing all credentials"""
for auth_file in [self.credentials_path, self.token_path]:
try:
os.remove(auth_file)
except OSError:
logger.warning("Unable to remove %s", auth_file)
def request_token(self, url="", refresh_token=""):
"""Get authentication token from GOG"""
if refresh_token:
grant_type = 'refresh_token'
extra_params = {
'refresh_token': refresh_token
}
else:
grant_type = 'authorization_code'
parsed_url = urlparse(url)
response_params = dict(parse_qsl(parsed_url.query))
if 'code' not in response_params:
logger.error("code not received from GOG")
logger.error(response_params)
return
extra_params = {
'code': response_params['code'],
'redirect_uri': self.redirect_uri
}
params = {
'client_id': self.client_id,
'client_secret': self.client_secret,
'grant_type': grant_type,
}
params.update(extra_params)
url = "https://auth.gog.com/token?" + urlencode(params)
request = Request(url)
request.get()
token = request.json
with open(self.token_path, "w") as token_file:
token_file.write(json.dumps(token))
def load_cookies(self):
"""Load cookies from disk"""
logger.debug("Loading cookies from %s", self.credentials_path)
if not os.path.exists(self.credentials_path):
logger.debug("No cookies found, please authenticate first")
return
cookiejar = WebkitCookieJar(self.credentials_path)
cookiejar.load()
return cookiejar
def load_token(self):
"""Load token from disk"""
if not os.path.exists(self.token_path):
raise AuthenticationError("No GOG token available")
with open(self.token_path) as token_file:
token_content = json.loads(token_file.read())
return token_content
def get_token_age(self):
"""Return age of token"""
token_stat = os.stat(self.token_path)
token_modified = token_stat.st_mtime
return time.time() - token_modified
def make_request(self, url):
"""Send a cookie authenticated HTTP request to GOG"""
cookies = self.load_cookies()
request = Request(url, cookies=cookies)
request.get()
return request.json
def make_api_request(self, url):
"""Send a token authenticated request to GOG"""
try:
token = self.load_token()
except AuthenticationError:
return
if self.get_token_age() > 2600:
self.request_token(refresh_token=token['refresh_token'])
token = self.load_token()
headers = {
'Authorization': 'Bearer ' + token['access_token']
}
request = Request(url, headers=headers)
request.get()
return request.json
def get_user_data(self):
"""Return GOG profile information"""
url = 'https://embed.gog.com/userData.json'
return self.make_api_request(url)
def get_library(self, page=None, search=None):
"""Return a page of GOG games"""
params = {
'mediaType': '1'
}
if page:
params['page'] = page
if search:
params['search'] = search
url = self.embed_url + '/account/getFilteredProducts?' + urlencode(params)
return self.make_request(url)
def get_games_list(self):
"""I don't know."""
url = self.api_url + '/products'
return self.make_api_request(url)
def get_game_details(self, product_id):
"""Return game information for a given game"""
logger.info("Getting game details for %s", product_id)
url = '{}/products/{}?expand=downloads'.format(
self.api_url,
product_id
)
return self.make_api_request(url)
def get_download_info(self, downlink):
"""Return file download information"""
logger.info("Getting download info for %s", downlink)
response = self.make_api_request(downlink)
for field in ('checksum', 'downlink'):
field_url = response[field]
parsed = urlparse(field_url)
response[field + '_filename'] = os.path.basename(parsed.path)
return response
def is_connected():
"""Return True if user is connected to GOG"""
service = GogService()
user_data = service.get_user_data()
return user_data and 'username' in user_data
def connect(parent=None):
"""Connect to GOG"""
service = GogService()
dialog = WebConnectDialog(service, parent)
dialog.run()
def disconnect():
service = GogService()
service.disconnect()
def sync_with_lutris():
service = GogService()
game_list = service.get_library()
file_name = os.path.expanduser("~/game-list")
with open(file_name, 'w') as f:
f.write(json.dumps(game_list, indent=2))
def get_games():
"""?"""
service = GogService()
game_list = service.get_library()
print(json.dumps(game_list, indent=2))
return
game_details = service.get_game_details("1430740694")
done = False
for installer in game_details['downloads']['installers']:
from pprint import pprint
pprint(installer)
for file in installer['files']:
if not done:
print(service.get_download_info(file['downlink']))
done = True
# url = "https://www.gog.com/downlink/{}/{}".format(
# game_details['slug'],
# file['id']
# )
# print(service.get_download_info(url))

View file

@ -181,11 +181,14 @@ def get_path_from_appmanifest(steamapps_path, appid):
def mark_as_installed(steamid, runner_name, game_info):
"""Sets a Steam game as installed"""
for key in ['name', 'slug']:
assert game_info[key]
if key not in game_info:
raise ValueError("Missing %s field in %s" % (key, game_info))
logger.info("Setting %s as installed", game_info['name'])
config_id = (game_info.get('config_path') or make_game_config_id(game_info['slug']))
game_id = pga.add_or_update(
id=game_info.get('id'),
steamid=int(steamid),
name=game_info['name'],
runner=runner_name,
@ -216,22 +219,33 @@ def mark_as_uninstalled(game_info):
return game_id
def sync_appmanifest_state(appmanifest_path, name=None, slug=None):
def sync_appmanifest_state(appmanifest_path, update=None):
"""Given a Steam appmanifest reflect it's state in a Lutris game
Params:
appmanifest_path (str): Path to the Steam AppManifest file
update (dict, optional): Existing lutris game to update
"""
try:
appmanifest = AppManifest(appmanifest_path)
except Exception:
logger.error("Unable to parse file %s", appmanifest_path)
return
if appmanifest.is_installed():
game_info = {
'name': name or appmanifest.name,
'slug': slug or appmanifest.slug,
}
if update:
game_info = update
else:
game_info = {
'name': appmanifest.name,
'slug': appmanifest.slug,
}
runner_name = appmanifest.get_runner_name()
mark_as_installed(appmanifest.steamid, runner_name, game_info)
def sync_with_lutris(platform='linux'):
logger.debug("Syncing Steam for %s games to Lutris", platform.capitalize())
steamapps_paths = get_steamapps_paths()
steam_games_in_lutris = pga.get_games_where(steamid__isnull=False, steamid__not='')
proton_ids = ["858280", "930400", "961940", "228980"]
@ -257,10 +271,11 @@ def sync_with_lutris(platform='linux'):
pga_entry = None
for game in steam_games_in_lutris:
if str(game['steamid']) == steamid and not game['installed']:
logger.debug("Matched previously installed game %s", game['name'])
pga_entry = game
break
if pga_entry:
sync_appmanifest_state(appmanifest_path, name=pga_entry['name'], slug=pga_entry['slug'])
sync_appmanifest_state(appmanifest_path, update=pga_entry)
unavailable_ids = steamids_in_lutris.difference(seen_ids)
for steamid in unavailable_ids:
for game in steam_games_in_lutris:

View file

@ -26,7 +26,7 @@ IGNORED_GAMES = (
"lutris", "mame", "dosbox", "playonlinux", "org.gnome.Games", "retroarch",
"steam", "steam-runtime", "steam-valve", "steam-native", "PlayOnLinux",
"fs-uae-arcade", "PCSX2", "ppsspp", "qchdman", "qmc2-sdlmame", "qmc2-arcade",
"sc-controller", "epsxe"
"sc-controller", "epsxe", "lsi-settings"
)
IGNORED_EXECUTABLES = (

View file

@ -7,6 +7,7 @@ from lutris import __version__
PROJECT = "Lutris"
VERSION = __version__
>>>>>>> upstream/next
COPYRIGHT = "(c) 2010-2018 Lutris Gaming Platform"
AUTHORS = ["Mathieu Comandon <strycore@gmail.com>",
"Pascal Reinhard (Xodetaetl) <dev@xod.me"]

View file

@ -8,7 +8,6 @@ from lutris.util import display, system
DISPLAYS = None
def get_displays():
global DISPLAYS
if not DISPLAYS:
@ -83,6 +82,14 @@ system_options = [ # pylint: disable=invalid-name
'help': ("Some games don't correctly restores gamma on exit, making "
"your display too bright. Select this option to correct it.")
},
{
'option': 'gamemode',
'type': 'bool',
'default': bool(system.GAMEMODE_PATH),
'condition': bool(system.GAMEMODE_PATH),
'label': 'Enable Feral gamemode',
'help': 'Request a set of optimisations be temporarily applied to the host OS'
},
{
'option': 'optimus',
'type': 'choice',
@ -107,7 +114,7 @@ system_options = [ # pylint: disable=invalid-name
'option': 'dri_prime',
'type': 'bool',
'default': False,
'condition': get_dri_prime,
'condition': display.USE_DRI_PRIME,
'label': 'Use PRIME (hybrid graphics on laptops)',
'help': ("If you have open source graphic drivers (Mesa), selecting this "
"option will run the game with the 'DRI_PRIME=1' environment variable, "
@ -118,7 +125,7 @@ system_options = [ # pylint: disable=invalid-name
'option': 'sdl_video_fullscreen',
'type': 'choice',
'label': 'Fullscreen SDL games to display',
'choices': get_output_list,
'choices': display.get_output_list,
'default': 'off',
'help': ("Hint SDL games to use a specific monitor when going "
"fullscreen by setting the SDL_VIDEO_FULLSCREEN "
@ -128,7 +135,7 @@ system_options = [ # pylint: disable=invalid-name
'option': 'display',
'type': 'choice',
'label': 'Turn off monitors except',
'choices': get_output_choices,
'choices': display.get_output_choices,
'default': 'off',
'help': ("Only keep the selected screen active while the game is "
"running. \n"
@ -139,7 +146,7 @@ system_options = [ # pylint: disable=invalid-name
'option': 'resolution',
'type': 'choice',
'label': 'Switch resolution to',
'choices': get_resolution_choices,
'choices': display.get_resolution_choices,
'default': 'off',
'help': "Switch to this screen resolution while the game is running."
},

View file

@ -4,6 +4,7 @@
import os
import sys
import time
import yaml
import shlex
import threading
import subprocess
@ -107,8 +108,9 @@ class LutrisThread(threading.Thread):
"""Applies the environment variables to the system's environment."""
# Store provided environment variables so they can be used by future
# processes.
logger.debug("Setting environment variables %s",
yaml.safe_dump(self.env, default_flow_style=False))
for key, value in self.env.items():
logger.debug('Storing environment variable %s to %s', key, value)
self.original_env[key] = os.environ.get(key)
os.environ[key] = value
@ -154,7 +156,7 @@ class LutrisThread(threading.Thread):
except ValueError:
# fd might be closed
line = None
if line:
if line and 'winemenubuilder.exe' not in line:
self.stdout += line
if self.log_buffer:
self.log_buffer.insert(self.log_buffer.get_end_iter(), line, -1)

72
lutris/util/cookies.py Normal file
View file

@ -0,0 +1,72 @@
import time
from http.cookiejar import MozillaCookieJar, Cookie, _warn_unhandled_exception
class WebkitCookieJar(MozillaCookieJar):
"""Subclass of MozillaCookieJar for compatibility with cookies
coming from Webkit2.
This disables the magic_re header which is not present and adds
compatibility with HttpOnly cookies (See http://bugs.python.org/issue2190)
"""
def _really_load(self, f, filename, ignore_discard, ignore_expires):
now = time.time()
try:
while 1:
line = f.readline()
if line == "":
break
# last field may be absent, so keep any trailing tab
if line.endswith("\n"):
line = line[:-1]
sline = line.strip()
# support HttpOnly cookies (as stored by curl or old Firefox).
if sline.startswith("#HttpOnly_"):
line = sline[10:]
elif (sline.startswith("#") or sline == ""):
continue
domain, domain_specified, path, secure, expires, name, value = \
line.split("\t")
secure = (secure == "TRUE")
domain_specified = (domain_specified == "TRUE")
if name == "":
# cookies.txt regards 'Set-Cookie: foo' as a cookie
# with no name, whereas http.cookiejar regards it as a
# cookie with no value.
name = value
value = None
initial_dot = domain.startswith(".")
assert domain_specified == initial_dot
discard = False
if expires == "":
expires = None
discard = True
# assume path_specified is false
c = Cookie(0, name, value,
None, False,
domain, domain_specified, initial_dot,
path, False,
secure,
expires,
discard,
None,
None,
{})
if not ignore_discard and c.discard:
continue
if not ignore_expires and c.is_expired(now):
continue
self.set_cookie(c)
except OSError:
raise
except Exception:
_warn_unhandled_exception()
raise OSError("invalid Netscape format cookies file %r: %r" %
(filename, line))

View file

@ -1,8 +1,15 @@
"""Module to deal with various aspects of displays"""
import os
import re
import time
import subprocess
import time
from collections import namedtuple
import gi
gi.require_version('GnomeDesktop', '3.0')
from gi.repository import Gdk, GnomeDesktop, GLib
from lutris.util import system
from lutris.util.log import logger
@ -29,13 +36,16 @@ def cached(func):
@cached
def get_vidmodes():
"""Return video modes from XrandR"""
logger.debug("Retrieving video modes from XrandR")
xrandr_output = subprocess.Popen(["xrandr"],
stdout=subprocess.PIPE).communicate()[0]
return list([line for line in xrandr_output.decode().split("\n")])
Output = namedtuple('Output', ('name', 'mode', 'position', 'rotation', 'primary', 'rate'))
def get_outputs():
"""Return list of tuples containing output name and geometry."""
"""Return list of namedtuples containing output 'name', 'geometry', 'rotation' and wether it is the 'primary' display."""
outputs = []
vid_modes = get_vidmodes()
display = None
@ -51,12 +61,14 @@ def get_outputs():
if parts[1] == 'connected':
if len(parts) == 2:
continue
if parts[2] != 'primary':
geom = parts[2]
rotate = parts[3]
else:
if parts[2] == 'primary':
geom = parts[3]
rotate = parts[4]
primary = True
else:
geom = parts[2]
rotate = parts[3]
primary = False
if geom.startswith('('): # Screen turned off, no geometry
continue
if rotate.startswith('('): # Screen not rotated, no need to include
@ -72,15 +84,20 @@ def get_outputs():
outputs.append((display, mode, position, rotate, refresh_rate))
return outputs
def get_output_names():
return [output[0] for output in get_outputs()]
"""Return output names from XrandR"""
return [output.name for output in get_outputs()]
def turn_off_except(display):
"""Use XrandR to turn off displays except the one referenced by `display`"""
if not display:
logger.error("No active display given, no turning off every display")
return
for output in get_outputs():
if output[0] != display:
subprocess.Popen(["xrandr", "--output", output[0], "--off"])
if output.name != display:
logger.info("Turning off %s", output[0])
subprocess.Popen(['xrandr', '--output', output.name, '--off'])
def get_resolutions():
@ -127,6 +144,7 @@ def change_resolution(resolution):
if resolution not in get_resolutions():
logger.warning("Resolution %s doesn't exist.", resolution)
else:
logger.info("Changing resolution to %s", resolution)
subprocess.Popen(["xrandr", "-s", resolution])
else:
for display in resolution:
@ -140,7 +158,6 @@ def change_resolution(resolution):
rotation = display[3]
else:
rotation = "normal"
subprocess.Popen([
"xrandr",
"--output", display_name,
@ -169,6 +186,7 @@ def get_xrandr_version():
stdout=subprocess.PIPE).communicate()[0].decode()
position = xrandr_output.find(pattern) + len(pattern)
version_str = xrandr_output[position:].strip().split(".")
logger.debug("Found XrandR version %s", version_str)
try:
return {"major": int(version_str[0]), "minor": int(version_str[1])}
except ValueError:
@ -176,6 +194,106 @@ def get_xrandr_version():
return {"major": 0, "minor": 0}
def get_graphics_adapaters():
"""Return the list of graphics cards available on a system
Returns:
list: list of tuples containing PCI ID and description of the VGA adapter
"""
if not system.find_executable('lspci'):
logger.warning('lspci is not available. List of graphics cards not available')
return []
return [
(pci_id, vga_desc.split(': ')[1]) for pci_id, vga_desc in [
line.split(maxsplit=1)
for line in system.execute('lspci').split('\n')
if 'VGA' in line
]
]
class LegacyDisplayManager:
@staticmethod
def get_resolutions():
return get_resolutions()
@staticmethod
def get_display_names():
return get_output_names()
class DisplayManager(object):
def __init__(self):
self.screen = Gdk.Screen.get_default()
self.rr_screen = GnomeDesktop.RRScreen.new(self.screen)
self.rr_config = GnomeDesktop.RRConfig.new_current(self.rr_screen)
self.rr_config.load_current()
@property
def outputs(self):
return self.rr_screen.list_outputs()
def get_display_names(self):
return [output_info.get_display_name() for output_info in self.rr_config.get_outputs()]
def get_output_modes(self, output):
logger.debug("Retrieving modes for %s", output)
resolutions = []
for mode in output.list_modes():
resolution = "%sx%s" % (mode.get_width(), mode.get_height())
if resolution not in resolutions:
resolutions.append(resolution)
return resolutions
def get_resolutions(self):
resolutions = []
for mode in self.rr_screen.list_modes():
resolutions.append("%sx%s" % (mode.get_width(), mode.get_height()))
return sorted(set(resolutions), key=lambda x: int(x.split('x')[0]), reverse=True)
try:
DISPLAY_MANAGER = DisplayManager()
except GLib.Error:
DISPLAY_MANAGER = LegacyDisplayManager()
USE_DRI_PRIME = len(get_graphics_adapaters()) > 1
def get_resolution_choices():
"""Return list of available resolutions as label, value tuples
suitable for inclusion in drop-downs.
"""
resolutions = DISPLAY_MANAGER.get_resolutions()
resolution_choices = list(zip(resolutions, resolutions))
resolution_choices.insert(0, ("Keep current", 'off'))
return resolution_choices
def get_output_choices():
"""Return list of outputs for drop-downs"""
displays = DISPLAY_MANAGER.get_display_names()
output_choices = list(zip(displays, displays))
output_choices.insert(0, ("Off", 'off'))
output_choices.insert(1, ("Primary", 'primary'))
return output_choices
def get_output_list():
"""Return a list of output with their index.
This is used to indicate to SDL 1.2 which monitor to use.
"""
choices = [
('Off', 'off'),
]
displays = DISPLAY_MANAGER.get_display_names()
for index, output in enumerate(displays):
# Display name can't be used because they might not be in the right order
# Using DISPLAYS to get the number of connected monitors
choices.append((output, str(index)))
return choices
def get_providers():
"""Return the list of available graphic cards"""
providers = []

View file

@ -9,7 +9,6 @@ from lutris.settings import RUNTIME_DIR
from lutris.util.log import logger
from lutris.util.extract import extract_archive
from lutris.util.downloader import Downloader
from lutris.util.system import path_exists
from lutris.util import system
CACHE_MAX_AGE = 86400 # Re-download DXVK versions every day
@ -131,7 +130,7 @@ class DXVKManager:
# Copying DXVK's version
dxvk_dll_path = os.path.join(self.dxvk_path, dxvk_arch, "%s.dll" % dll)
if system.path_exists(dxvk_dll_path):
if path_exists(wine_dll_path):
if system.path_exists(wine_dll_path):
os.remove(wine_dll_path)
os.symlink(dxvk_dll_path, wine_dll_path)

View file

@ -12,7 +12,7 @@ from lutris.util.log import logger
class Request:
def __init__(self, url, timeout=30, stop_request=None,
thread_queue=None, headers=None):
thread_queue=None, headers=None, cookies=None):
if not url:
raise ValueError('An URL is required!')
@ -33,11 +33,17 @@ class Request:
self.headers = {
'User-Agent': self.user_agent
}
self.response_headers = None
if headers is None:
headers = {}
if not isinstance(headers, dict):
raise TypeError('HTTP headers needs to be a dict ({})'.format(headers))
self.headers.update(headers)
if cookies:
cookie_processor = urllib.request.HTTPCookieProcessor(cookies)
self.opener = urllib.request.build_opener(cookie_processor)
else:
self.opener = None
@property
def user_agent(self):
@ -49,7 +55,10 @@ class Request:
logger.debug("GET %s", self.url)
req = urllib.request.Request(url=self.url, data=data, headers=self.headers)
try:
request = urllib.request.urlopen(req, timeout=self.timeout)
if self.opener:
request = self.opener.open(req, timeout=self.timeout)
else:
request = urllib.request.urlopen(req, timeout=self.timeout)
except (urllib.error.HTTPError, CertificateError) as error:
logger.error("Unavailable url (%s): %s", self.url, error)
except (socket.timeout, urllib.error.URLError) as error:
@ -65,6 +74,8 @@ class Request:
logger.warning("Failed to read response's content length")
total_size = 0
self.response_headers = request.getheaders()
self.status_code = request.getcode()
chunks = []
while 1:
if self.stop_request and self.stop_request.is_set():
@ -87,6 +98,7 @@ class Request:
break
request.close()
self.content = b''.join(chunks)
self.info = request.info()
return self
def post(self, data):
@ -101,7 +113,12 @@ class Request:
@property
def json(self):
if self.content:
return json.loads(self.text)
try:
return json.loads(self.text)
except json.decoder.JSONDecodeError:
raise ValueError("Invalid response ({}:{}): {}".format(
self.url, self.status_code, self.text[:80]
))
return None
@property

View file

@ -7,10 +7,13 @@ from lutris.util.log import logger
class AsyncCall(threading.Thread):
debug_traceback = False
def __init__(self, func, callback=None, *args, **kwargs):
"""Execute `function` in a new thread then schedule `callback` for
execution in the main loop.
"""
self.source_id = None
self.stop_request = threading.Event()
super(AsyncCall, self).__init__(target=self.target, args=args,
@ -27,12 +30,14 @@ class AsyncCall(threading.Thread):
try:
result = self.function(*args, **kwargs)
except Exception as err:
except Exception as ex: # pylint: disable=broad-except
logger.error("Error while completing task %s: %s",
self.function, err)
error = err
ex_type, ex_value, tb = sys.exc_info()
print(ex_type, ex_value)
traceback.print_tb(tb)
self.function, ex)
error = ex
if self.debug_traceback:
ex_type, ex_value, trace = sys.exc_info()
print(ex_type, ex_value)
traceback.print_tb(trace)
GLib.idle_add(lambda: self.callback(result, error))
self.source_id = GLib.idle_add(self.callback, result, error)
return self.source_id

27
lutris/util/keyring.py Normal file
View file

@ -0,0 +1,27 @@
import gi
gi.require_version('GnomeKeyring', '1.0')
from gi.repository import GnomeKeyring
KEYRING_NAME = "??"
def store_credentials(name, username, password):
# See
# https://bitbucket.org/kang/python-keyring-lib/src/8aadf61db38c70a5fe76fbe013df25fa62c03a8d/keyring/backends/Gnome.py?at=default # noqa
attrs = GnomeKeyring.Attribute.list_new()
GnomeKeyring.Attribute.list_append_string(attrs, 'username', username)
GnomeKeyring.Attribute.list_append_string(attrs, 'password', password)
GnomeKeyring.Attribute.list_append_string(attrs, 'application', 'Lutris')
result = GnomeKeyring.item_create_sync(
KEYRING_NAME, GnomeKeyring.ItemType.NETWORK_PASSWORD,
"%s credentials for %s" % (name, username),
attrs, password, True
)[0]
if result == GnomeKeyring.Result.CANCELLED:
# XXX
return False
elif result != GnomeKeyring.Result.OK:
# XXX
return False

View file

@ -11,23 +11,32 @@ CACHE_DIR = os.path.realpath(
if not os.path.isdir(CACHE_DIR):
os.makedirs(CACHE_DIR)
# Formatters
FILE_FORMATTER = logging.Formatter(
'[%(levelname)s:%(asctime)s:%(module)s]: %(message)s'
)
SIMPLE_FORMATTER = logging.Formatter(
'%(asctime)s: %(message)s'
)
DEBUG_FORMATTER = logging.Formatter(
'%(levelname)-8s %(asctime)s [%(module)s.%(funcName)s:%(lineno)s]:%(message)s'
)
# Log file setup
LOG_FILENAME = os.path.join(CACHE_DIR, "lutris.log")
loghandler = logging.handlers.RotatingFileHandler(LOG_FILENAME,
maxBytes=20971520,
backupCount=5)
# Format
log_format = '[%(levelname)s:%(asctime)s:%(module)s]: %(message)s'
logformatter = logging.Formatter(log_format)
loghandler.setFormatter(logformatter)
loghandler.setFormatter(FILE_FORMATTER)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(loghandler)
# Set the logging level to show debug messages.
console = logging.StreamHandler()
fmt = '%(levelname)-8s %(asctime)s [%(module)s]:%(message)s'
formatter = logging.Formatter(fmt)
console.setFormatter(formatter)
logger.addHandler(console)
console_handler = logging.StreamHandler()
console_handler.setFormatter(SIMPLE_FORMATTER)
logger.addHandler(console_handler)
logger.setLevel(logging.INFO)

View file

@ -1,13 +1,15 @@
"""Module for handling game media (banners and icons)"""
"""Utility module to handle media resources"""
import shutil
import os
import concurrent.futures
from urllib.parse import urlparse, parse_qsl
from gi.repository import GLib
from lutris import settings
from lutris import api
from lutris.util.log import logger
from lutris import api, settings
from lutris.util.http import Request
from lutris.util.log import logger
from gi.repository import GLib
from lutris.util import system
BANNER = "banner"
@ -43,6 +45,8 @@ def fetch_icons(game_slugs, callback=None):
return
logger.debug("Requesting missing icons from API for %d games", len(missing_media_slugs))
results = api.get_games(game_slugs=missing_media_slugs)
if not results:
logger.warning("Unable to get games, check your network connectivity")
new_icon = False
banner_downloads = []
@ -107,7 +111,8 @@ def parse_installer_url(url):
action = None
try:
parsed_url = urlparse(url, scheme="lutris")
except:
except Exception: # pylint: disable=broad-except
logger.warning("Unable to parse url %s", url)
return False
if parsed_url.scheme != "lutris":
return False

View file

@ -92,3 +92,10 @@ def unpack_dependencies(string):
for dependency in dependencies
if dependency
]
def gtk_safe(string):
"""Return a string ready to used in Gtk widgets"""
if not string:
string = ''
return string.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')

View file

@ -324,11 +324,15 @@ def get_pids_using_file(path):
logger.error("Can't return PIDs using non existing file: %s", path)
return set()
fuser_path = None
path_candidates = ['/bin', '/sbin', '/usr/bin', '/usr/sbin']
for candidate in path_candidates:
fuser_path = os.path.join(candidate, 'fuser')
if os.path.exists(fuser_path):
break
fuser_output = ""
fuser_path = find_executable("fuser")
if not fuser_path:
# Some distributions don't include sbin folders in $PATH
path_candidates = ['/sbin', '/usr/sbin']
for candidate in path_candidates:
fuser_path = os.path.join(candidate, 'fuser')
if os.path.exists(fuser_path):
break
if not fuser_path:
logger.warning("fuser not available, please install psmisc")
return set([])

View file

@ -8,7 +8,7 @@ Comment[es]=Plataforma de juegos de código abierto
Comment[id]=Platform permainan terbuka
Categories=Game;
Exec=lutris %U
Icon=lutris
Icon=net.lutris.Lutris
Terminal=false
Type=Application
MimeType=x-scheme-handler/lutris;

View file

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -5381,6 +5381,10 @@ winetricks_handle_option()
return 0
}
# Test whether temporary directory is valid - before initialising script
[ -d "$W_TMP_EARLY" ] || w_die "temporary directory: '$W_TMP_EARLY' ; does not exist"
[ -w "$W_TMP_EARLY" ] || w_die "temporary directory: '$W_TMP_EARLY' ; is not user writeable"
# Must initialize variables before calling w_metadata
if ! test "$WINETRICKS_LIB"
then
@ -5575,7 +5579,8 @@ load_adobeair()
# 2018/01/30: 28.0.0.127 (strings 'Adobe AIR.dll' | grep 28\\. ) sha256sum 9076489e273652089a4a53a1d38c6631e8b7477e39426a843e0273f25bfb109f
# 2018/03/16: 29.0.0.112 (strings 'Adobe AIR.dll' | grep -E "^29\..+\..+" ) sha256sum 5186b54682644a30f2be61c9b510de9a9a76e301bc1b42f0f1bc50bd809a3625
# 2018/06/08: 30.0.0.107 (strings 'Adobe AIR.dll' | grep -E "^30\..+\..+" ) sha256sum bcc36174f6f70baba27e5ed1c0df67e55c306ac7bc86b1d280eff4db8c314985
w_download https://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe bcc36174f6f70baba27e5ed1c0df67e55c306ac7bc86b1d280eff4db8c314985
# 2018/09/12: 31.0.0.96 (strings 'Adobe AIR.dll' | grep -E "^31\..+\..+" ) sha256sum dc82421f135627802b21619bdb7e4b9b0ec16d351120485c575aa6c16cd2737e
w_download https://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe dc82421f135627802b21619bdb7e4b9b0ec16d351120485c575aa6c16cd2737e
w_try_cd "$W_CACHE/$W_PACKAGE"
# See https://bugs.winehq.org/show_bug.cgi?id=43506
@ -5858,6 +5863,33 @@ load_d3dcompiler_43()
#----------------------------------------------------------------
w_metadata d3dcompiler_47 dlls \
title="MS d3dcompiler_47.dll" \
publisher="Microsoft" \
year="FIXME" \
media="download" \
file1="FirefoxSetup62.0.3-win32.exe" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3dcompiler_47.dll"
load_d3dcompiler_47()
{
# FIXME: would be awesome to find a small download that has both 32/64bit dlls, but this works for now:
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win32/ach/Firefox%20Setup%2062.0.3.exe "d6edb4ff0a713f417ebd19baedfe07527c6e45e84a6c73ed8c66a33377cc0aca" "FirefoxSetup62.0.3-win32.exe"
w_try_7z "$W_TMP/win32" "$W_CACHE/d3dcompiler_47/FirefoxSetup62.0.3-win32.exe" "core/d3dcompiler_47.dll"
w_try cp "$W_TMP/win32/core/d3dcompiler_47.dll" "$W_SYSTEM32_DLLS/d3dcompiler_47.dll"
if [ "$W_ARCH" = "win64" ]; then
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win64/ach/Firefox%20Setup%2062.0.3.exe "721977f36c008af2b637aedd3f1b529f3cfed6feb10f68ebe17469acb1934986" "FirefoxSetup62.0.3-win64.exe"
w_try_7z "$W_TMP/win64" "$W_CACHE/d3dcompiler_47/FirefoxSetup62.0.3-win64.exe" "core/d3dcompiler_47.dll"
w_try cp "$W_TMP/win64/core/d3dcompiler_47.dll" "$W_SYSTEM64_DLLS/d3dcompiler_47.dll"
fi
w_override_dlls native d3dcompiler_47
}
#----------------------------------------------------------------
w_metadata d3drm dlls \
title="MS d3drm.dll" \
publisher="Microsoft" \
@ -6535,12 +6567,20 @@ load_directx9()
# How many of these do we really need?
# We should probably remove most of these...?
w_call devenum
w_call quartz
w_try_cabextract -d "$W_TMP" -L -F dxnt.cab "$W_CACHE"/directx9/$DIRECTX_NAME
w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F "msdmo.dll" "$W_TMP/dxnt.cab"
w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F "qcap.dll" "$W_TMP/dxnt.cab"
w_try_regsvr qcap.dll
w_override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29
w_override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
w_override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43 d3dxof
w_override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle
w_override_dlls native dciman32 ddrawex dmband dmcompos dmime dmloader dmscript dmstyle
w_override_dlls native dmsynth dmusic dmusic32 dplay dplayx dpnaddr dpnet dpnhpast dpnlobby
w_override_dlls native dswave dxdiagn msdmo qcap quartz streamci
w_override_dlls native dswave dxdiagn msdmo qcap streamci
w_override_dlls native dxdiag.exe
w_override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
@ -6848,6 +6888,101 @@ load_dxvk71()
helper_dxvk "$file1" "d3d10_enabled" "3.10" "1.0.76"
}
w_metadata dxvk72 dlls \
title="Vulkan-based D3D10/D3D11 implementation for Linux / Wine (0.72)" \
publisher="Philip Rebohle" \
year="2018" \
media="download" \
file1="dxvk-0.72.tar.gz" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \
installed_file2="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \
installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \
installed_file4="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \
installed_file5="$W_SYSTEM32_DLLS_WIN/dxgi.dll"
load_dxvk72()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v0.72/dxvk-0.72.tar.gz" bc84f48f99cf5add3c8919a43d7a9c0bf208c994dc58326a636b56b8db650c52
helper_dxvk "$file1" "d3d10_enabled" "3.10" "1.0.76"
}
w_metadata dxvk80 dlls \
title="Vulkan-based D3D10/D3D11 implementation for Linux / Wine (0.80)" \
publisher="Philip Rebohle" \
year="2018" \
media="download" \
file1="dxvk-0.80.tar.gz" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \
installed_file2="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \
installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \
installed_file4="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \
installed_file5="$W_SYSTEM32_DLLS_WIN/dxgi.dll"
load_dxvk80()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v0.80/dxvk-0.80.tar.gz" f9e736cdbf1e83e45ca748652a94a3a189fc5accde1eac549b2ba5af8f7acacb
helper_dxvk "$file1" "d3d10_enabled" "3.10" "1.0.76"
}
w_metadata dxvk81 dlls \
title="Vulkan-based D3D10/D3D11 implementation for Linux / Wine (0.81)" \
publisher="Philip Rebohle" \
year="2018" \
media="download" \
file1="dxvk-0.81.tar.gz" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \
installed_file2="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \
installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \
installed_file4="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \
installed_file5="$W_SYSTEM32_DLLS_WIN/dxgi.dll"
load_dxvk81()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v0.81/dxvk-0.81.tar.gz" 9bf6eda9ae4ee74b509e07dfe9cc003dfa4bba192b519dacdd542a57f6a43869
helper_dxvk "$file1" "d3d10_enabled" "3.10" "1.0.76"
}
w_metadata dxvk90 dlls \
title="Vulkan-based D3D10/D3D11 implementation for Linux / Wine (0.90)" \
publisher="Philip Rebohle" \
year="2018" \
media="download" \
file1="dxvk-0.90.tar.gz" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \
installed_file2="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \
installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \
installed_file4="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \
installed_file5="$W_SYSTEM32_DLLS_WIN/dxgi.dll"
load_dxvk90()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v0.90/dxvk-0.90.tar.gz" 15bce7b282065054ff9233b33738bf1d2c74b16829361cbd6843bc2f5dfe4509
helper_dxvk "$file1" "d3d10_enabled" "3.19" "1.1.88"
}
w_metadata dxvk91 dlls \
title="Vulkan-based D3D10/D3D11 implementation for Linux / Wine (0.91)" \
publisher="Philip Rebohle" \
year="2018" \
media="download" \
file1="dxvk-0.91.tar.gz" \
installed_file1="$W_SYSTEM32_DLLS_WIN/d3d10.dll" \
installed_file2="$W_SYSTEM32_DLLS_WIN/d3d10_1.dll" \
installed_file3="$W_SYSTEM32_DLLS_WIN/d3d10core.dll" \
installed_file4="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \
installed_file5="$W_SYSTEM32_DLLS_WIN/dxgi.dll"
load_dxvk91()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v0.91/dxvk-0.91.tar.gz" 5296106ac3a8c631d7f26fa46dbff4be1332cda14fa493fd89ccf97e050c4855
helper_dxvk "$file1" "d3d10_enabled" "3.19" "1.1.88"
}
#----------------------------------------------------------------
@ -6869,7 +7004,7 @@ load_dxvk()
w_download_to "${W_TMP_EARLY}" "https://raw.githubusercontent.com/doitsujin/dxvk/master/RELEASE"
dxvk_version="$(cat "${W_TMP_EARLY}/RELEASE")"
w_linkcheck=1_ignore w_download "https://github.com/doitsujin/dxvk/releases/download/v${dxvk_version}/dxvk-${dxvk_version}.tar.gz"
helper_dxvk "dxvk-${dxvk_version}.tar.gz" "d3d10_enabled" "3.10" "1.0.76"
helper_dxvk "dxvk-${dxvk_version}.tar.gz" "d3d10_enabled" "3.19" "1.1.88"
unset dxvk_version
}
@ -7967,7 +8102,7 @@ load_dotnet462()
w_try_cd "$W_CACHE/$W_PACKAGE"
WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" /sfxlang:1027 ${W_OPT_UNATTENDED:+$unattended_args}
WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" ${W_OPT_UNATTENDED:+$unattended_args}
status=$?
echo "exit status: $status"
@ -8026,7 +8161,7 @@ load_dotnet472()
w_try_cd "$W_CACHE/$W_PACKAGE"
WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" /sfxlang:1027 ${W_OPT_UNATTENDED:+$unattended_args}
WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" ${W_OPT_UNATTENDED:+$unattended_args}
status=$?
echo "exit status: $status"
@ -9638,6 +9773,8 @@ w_metadata secur32 dlls \
load_secur32()
{
w_warn "Installing native secur32 may lead to stack overflow crashes, see https://bugs.winehq.org/show_bug.cgi?id=45344"
helper_win7sp1 x86_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17514_none_a851f4adbb0d5141/secur32.dll
w_try cp "$W_TMP/x86_microsoft-windows-lsa_31bf3856ad364e35_6.1.7601.17514_none_a851f4adbb0d5141/secur32.dll" "$W_SYSTEM32_DLLS/secur32.dll"
@ -10713,17 +10850,12 @@ load_xact()
w_try_cabextract -d "$W_SYSTEM32_DLLS" -L -F 'xapofx*.dll' "$x"
done
if test "$W_ARCH" = "win64" ; then
w_try_cabextract -d "$W_TMP" -L -F '*_xact_*x64*' "$W_CACHE/directx9/$DIRECTX_NAME"
w_try_cabextract -d "$W_TMP" -L -F '*_x3daudio_*x64*' "$W_CACHE/directx9/$DIRECTX_NAME"
w_try_cabextract -d "$W_TMP" -L -F '*_xaudio_*x64*' "$W_CACHE/directx9/$DIRECTX_NAME"
for x in "$W_TMP"/*x64.cab ; do
w_try_cabextract -d "$W_SYSTEM64_DLLS" -L -F 'xactengine*.dll' "$x"
w_try_cabextract -d "$W_SYSTEM64_DLLS" -L -F 'xaudio*.dll' "$x"
w_try_cabextract -d "$W_SYSTEM64_DLLS" -L -F 'x3daudio*.dll' "$x"
w_try_cabextract -d "$W_SYSTEM64_DLLS" -L -F 'xapofx*.dll' "$x"
done
fi
# Don't install 64-bit xact DLLs. They are broken in Wine, see:
# https://bugs.winehq.org/show_bug.cgi?id=41618#c5
w_override_dlls native,builtin xaudio2_0 xaudio2_1 xaudio2_2 xaudio2_3 xaudio2_4 xaudio2_5 xaudio2_6 xaudio2_7
w_override_dlls native,builtin x3daudio1_0 x3daudio1_1 x3daudio1_2 x3daudio1_3 x3daudio1_4 x3daudio1_5 x3daudio1_6 x3daudio1_7
w_override_dlls native,builtin xapofx1_1 xapofx1_2 xapofx1_3 xapofx1_4 xapofx1_5
# Register xactengine?_?.dll
for x in "$W_SYSTEM32_DLLS"/xactengine* ; do
@ -11603,7 +11735,7 @@ w_metadata lucida fonts \
load_lucida()
{
w_download "ftp://ftp.fu-berlin.de/pc/security/ms-patches/winnt/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe" 41f272a33521f6e15f2cce9ff1e049f2badd5ff0dc327fc81b60825766d5b6c7
w_download "https://ftpmirror.your.org/pub/misc/ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe" 41f272a33521f6e15f2cce9ff1e049f2badd5ff0dc327fc81b60825766d5b6c7
w_try_cabextract -d "$W_TMP" -F "lucon.ttf" "$W_CACHE"/lucida/eurofixi.exe
w_try_cp_font_files "$W_TMP" "$W_FONTSDIR_UNIX"
w_register_font lucon.ttf "Lucida Console"

View file

@ -0,0 +1,405 @@
Runner icon information
=======================
NB. Many of these icons will be trademarked by their respective owners. Permission should be sought before re-using such icons, no matter the terms of whichever copyright license is used.
ags-symbolic.svg
----------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
atari800-symbolic.svg
---------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
browser.svg
-----------
Sourced from the GNOME icon theme 2.20.0, by the GNOME icon artists.
License is GPLv2:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
browser-symbolic.svg
--------------------
Sourced from the GNOME symbolic icon theme:
https://github.com/GNOME/gnome-icon-theme-symbolic
by the GNOME project:
http://www.gnome.org
License is Creative Commons Attribution-Share Alike 3.0
United States:
http://creativecommons.org/licenses/by-sa/3.0/
citra-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
desmume-symbolic.svg
--------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
dgen.svg & dgen-symbolic.svg
----------------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
dolphin.svg & dolphin-symbolic.svg
----------------------------------
Sourced from the Dolphin emulator project itself.
License is shared with the main project; GPLv2 (or later):
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
dosbox-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
frotz-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
fsuae-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
gens-symbolic.svg
-----------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
hatari.svg & hatari-symbolic.svg
--------------------------------
Sourced from the Hatari project.
License is shared with the main project; GPLv2 (or later):
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
jzintv-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
libretro.svg & libretro-symbolic.svg
------------------------------------
Sourced from RetroArch: https://github.com/libretro/RetroArch/blob/master/media/retroarch.svg
License is shared with the main project; GPLv3:
https://www.gnu.org/licenses/gpl-3.0.en.html
linux.svg
---------
Sourced from https://github.com/garrett/Tux
Public domain http://creativecommons.org/publicdomain/zero/1.0/
...but, if anyone asks:
Tux was originally made by Larry Ewing in the Gimp and re-illustrated in vector by Garrett LeSage, using Inkscape.
linux-symbolic.svg
------------------
Based on https://commons.wikimedia.org/wiki/File:Classic_flat_look_v1.1.svg by Larry Ewing and Sergey Smith (http://foxyriot.deviantart.com/)
The copyright holder of this file allows anyone to use it for any purpose, provided that you acknowledge lewing@isc.tamu.edu and The GIMP if someone asks.
mame.svg & mame-symbolic.svg & mess-symbolic.svg
------------------------------------------------
Modified from the RetroPie carbon theme, based on the original MAME logo:
https://github.com/RetroPie/es-theme-carbon-centered/blob/master/mame/art/system.svg
Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 2.0 (CC-BY-NC-SA):
https://creativecommons.org/licenses/by-nc-sa/2.0/
mednafen.svg
------------
Sourced from the Mednafen forums: http://forum.fobby.net/index.php?t=msg&&th=214#msg_1743
No explicit license given for the logo, but the project is GPLv2:
http://www.gnu.org/licenses/gpl-2.0.html
mednafen-symbolic.svg
---------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
mupen64plus.svg
---------------
Sourced from the console UI of the Mupen64Plus project:
https://github.com/mupen64plus/mupen64plus-ui-console/blob/master/data/icons/scalable/apps/mupen64plus.svg
License is shared with the main project; GPLv2:
http://www.gnu.org/licenses/gpl-2.0.html
mupen64plus-symbolic.svg
------------------------
Adapted for Lutris by Romlok (https://github.com/romlok/), from the console UI of the Mupen64Plus project:
https://github.com/mupen64plus/mupen64plus-ui-console/blob/master/data/icons/scalable/apps/mupen64plus.svg
License is shared with the main project; GPLv2:
http://www.gnu.org/licenses/gpl-2.0.html
nulldc-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
o2em-symbolic.svg
-----------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
openmsx-symbolic.svg
--------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
osmose-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
pcsx2-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
ppsspp.svg & ppsspp-symbolic.svg
--------------------------------
Sourced from the PPSSPP project itself:
https://github.com/hrydgard/ppsspp/blob/master/icons/icon-512.svg
License is shared with the main project; GPLv2 or later:
http://www.gnu.org/licenses/gpl-2.0.html
reicast-symbolic.svg
--------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
residualvm-symbolic.svg
-----------------------
Adapted from the ResidualVM bitmap icon:
https://github.com/residualvm/residualvm/tree/master/icons
License is shared with the main project; GPLv2 or later:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
scummvm.svg & scummvm-symbolic.svg
----------------------------------
Sourced from the ScummVM project:
https://github.com/scummvm/scummvm/blob/master/icons/scummvm.svg
License is shared with the main project; GPLv2 or later:
http://www.gnu.org/licenses/gpl-2.0.html
snes9x-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
steam.svg
---------
Modified version of that found at Wikimedia Commons:
https://commons.wikimedia.org/wiki/File:Steam_icon_logo.svg
The Wikimedia page claims that the image "does not meet the threshold of originality needed for copyright protection, and is therefore in the public domain". I find this claim questionable, but the use of an obvious proprietary trademark is probably a bigger issue.
steam-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
stella-symbolic.svg
-------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
vice-symbolic.svg
-----------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
virtualjaguar-symbolic.svg
--------------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
web.svg & web-symbolic.svg
--------------------------
The HTML5 badge is from the W3C:
https://www.w3.org/html/logo/index.html
It is licensed under Creative Commons Attribution 3.0:
http://creativecommons.org/licenses/by/3.0/
wine.svg
--------
Sourced from the Wine project: https://dl.winehq.org/wine/logos/
License is shared with the main project: LGPLv2.1 or later:
https://www.winehq.org/license
wine-symbolic.svg
-----------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
winesteam.svg & winesteam-symbolic.svg
--------------------------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/
xdg.svg & xdg-symbolic.svg
--------------------------
No-text version of Freedesktop.org's logo, originally (seemingly) converted from an official PNG by user:Sven of Wikimedia Commons:
https://commons.wikimedia.org/wiki/File:Freedesktop-logo.svg
License is GPLv2 or later:
https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
zdoom-symbolic.svg
------------------
Created for Lutris by Romlok: https://github.com/romlok/
License is Creative Commons Zero 1.0:
https://creativecommons.org/publicdomain/zero/1.0/

View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="ags-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="116.86074"
inkscape:cy="130.3814"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="169"
inkscape:window-y="153"
inkscape:window-maximized="0"
inkscape:snap-smooth-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4521"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Mug"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:24;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 16 24 C 11.568 24 8 27.568 8 32 L 8 232 C 8 236.432 11.568 240 16 240 L 168 240 C 172.432 240 176 236.432 176 232 L 176 32 C 176 27.568 172.432 24 168 24 L 120 24 L 120 88 L 136 104 L 136 152 L 88 152 L 88 104 L 104 88 L 104 24 L 16 24 z "
transform="translate(0,229.26666)"
id="rect4512" />
<path
style="display:inline;color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:32;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 184,449.26666 c 42.98268,-3.24599 64,-40 64,-80 0,-40 -23.1697,-83.19325 -64,-84 h -40 v 164 z m 0,-132 c 20,0 32,28 32,52 0,24 -12,48 -32,48 -20,0 -28,-24 -28,-48 0,-24 8,-52 28,-52 z"
id="path4506"
inkscape:connector-curvature="0"
sodipodi:nodetypes="czcccczzzzz" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Label"
style="display:none">
<path
style="opacity:0.2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104,24 v 64 l -16,16 v 48 h 48 V 104 L 120,88 V 24 Z"
id="path4519"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="atari800-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="127.51671"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="315"
inkscape:window-y="152"
inkscape:window-maximized="0"
inkscape:measure-start="260,8"
inkscape:measure-end="260,48">
<inkscape:grid
type="xygrid"
id="grid4503"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:none">
<rect
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:34.21858978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4501"
width="40"
height="216"
x="108"
y="249.26666" />
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 152,249.26666 h 24 v 44 c 0,116 76,132 76,132 v 40 c -16,0 -100,-24 -100,-132 z"
id="path4505"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path4509"
d="M 104,249.26666 H 80 v 44 c 0,116 -76,132 -76,132 v 40 c 16,0 100,-24 100,-132 z"
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Blocks"
style="display:inline">
<path
style="display:inline;opacity:1;fill-opacity:1;stroke:none;stroke-width:34.21858978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 108,20 v 24 h 40 V 20 Z m 0,32 v 24 h 40 V 52 Z m 0,32 v 24 h 40 V 84 Z m 0,32 v 24 h 40 v -24 z m 0,32 v 24 h 40 v -24 z m 0,32 v 24 h 40 v -24 z m 0,32 v 24 h 40 v -24 z"
id="rect4798"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 152,20 v 24 h 24 V 20 Z m 0,32 v 24 h 24.29297 C 176.10712,72.119368 176,68.130411 176,64 V 52 Z m 0,32 v 20 c 0,1.34947 0.0229,2.67664 0.0488,4 h 28.20312 c -1.54872,-7.38023 -2.72596,-15.36321 -3.44336,-24 z m 0.37305,32 c 0.52208,8.5657 1.59157,16.55837 3.13281,24 h 35.14258 c -3.28113,-7.09205 -6.18037,-15.06318 -8.51758,-24 z m 5.01953,32 c 2.33852,8.80776 5.35246,16.78135 8.85937,24 h 46.24414 c -6.20455,-6.29786 -12.35067,-14.17975 -17.78515,-24 z m 13.10937,32 c 5.46296,9.40043 11.77937,17.33326 18.44922,24 H 252 v -8 c 0,0 -14.37983,-3.03309 -30.62891,-16 z m 27.31055,32 c 22.48678,18.30531 46.39709,24 54.1875,24 v -24 z"
id="path4800"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 80,20 v 24 h 24 V 20 Z m 0,32 v 12 c 0,4.130411 -0.107116,8.119368 -0.292969,12 H 104 V 52 Z m -0.808594,32 c -0.717395,8.63679 -1.894635,16.61977 -3.443359,24 H 103.95117 C 103.9771,106.67664 104,105.34947 104,104 V 84 Z m -5.322265,32 c -2.337213,8.93682 -5.236449,16.90795 -8.517579,24 h 35.142578 c 1.54124,-7.44163 2.61073,-15.4343 3.13281,-24 z m -12.580079,32 c -5.434485,9.82025 -11.580598,17.70214 -17.785156,24 h 46.244141 c 3.50691,-7.21865 6.52085,-15.19224 8.859375,-24 z M 34.628906,180 C 18.379829,192.96691 4,196 4,196 v 8 h 63.048828 c 6.669856,-6.66674 12.986258,-14.59957 18.449219,-24 z M 4,212 v 24 c 7.790412,0 31.700717,-5.69469 54.1875,-24 z"
id="path4802"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
id="root"
sodipodi:docname="browser-symbolic.svg"
version="1.1"
inkscape:version="0.92.1 r15371"
width="16"
height="16"
viewBox="0 0 16 16">
<metadata
id="metadata90">
<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>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
inkscape:object-paths="false"
inkscape:current-layer="root"
inkscape:bbox-paths="false"
inkscape:pageshadow="2"
inkscape:snap-bbox="true"
inkscape:pageopacity="1"
inkscape:guide-bbox="true"
pagecolor="#ffffff"
bordercolor="#808080"
showguides="true"
inkscape:snap-bbox-midpoints="false"
inkscape:window-maximized="0"
inkscape:snap-grids="true"
inkscape:window-width="1595"
id="namedview88"
inkscape:window-x="105"
inkscape:window-y="120"
gridtolerance="10"
borderopacity="1"
showgrid="false"
inkscape:cx="8.0409274"
inkscape:cy="8.5274289"
inkscape:snap-nodes="false"
inkscape:window-height="931"
inkscape:snap-global="true"
inkscape:object-nodes="false"
objecttolerance="10"
inkscape:snap-others="false"
inkscape:zoom="24.713097"
guidetolerance="10"
inkscape:snap-to-guides="true"
showborder="true"
inkscape:pagecheckerboard="true">
<inkscape:grid
enabled="true"
type="xygrid"
id="grid4866"
visible="true"
snapvisiblegridlinesonly="true"
empspacing="2"
spacingx="1px"
spacingy="1px" />
</sodipodi:namedview>
<title
id="title9167">Gnome Symbolic Icon Theme</title>
<defs
id="defs7386" />
<g
style="display:inline"
inkscape:groupmode="layer"
id="layer9"
inkscape:label="status"
transform="translate(-183,-529)" />
<g
inkscape:groupmode="layer"
id="layer10"
inkscape:label="devices"
transform="translate(-183,-529)" />
<g
inkscape:groupmode="layer"
id="layer11"
inkscape:label="apps"
transform="translate(-183,-529)">
<path
style="color:#000000;display:block;overflow:visible;visibility:visible;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
sodipodi:nodetypes="cccccccc"
id="path6242"
inkscape:connector-curvature="0"
d="m 191.0002,533.84553 v 10.38049 l -2.34399,-2.28818 -1.33941,2.73465 c -0.32808,0.73962 -2.03368,0.14492 -1.5487,-0.84412 l 1.32547,-2.83928 h -2.95789 z" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:accumulate"
sodipodi:nodetypes="csccssccsssc"
id="path23405"
inkscape:connector-curvature="0"
d="m 190.15645,530.0625 c -3.82659,0.46006 -6.57883,3.95775 -6.09375,7.78125 0.13127,1.03473 0.29377,1.38184 0.29377,1.38184 l 1.67498,-1.63184 c -0.33104,-2.75343 1.62156,-5.23146 4.375,-5.5625 2.75344,-0.33104 5.23146,1.62156 5.5625,4.375 0.31355,2.60795 -1.39127,5.02493 -3.96875,5.53125 l 0.0312,2 c 0,0 0.52086,-0.1059 0.62354,-0.13097 3.41561,-0.83385 5.70627,-4.1273 5.28271,-7.65028 -0.46006,-3.8266 -3.95466,-6.55381 -7.78125,-6.09375 z" />
<path
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
id="path11289"
inkscape:connector-curvature="0"
d="m 187.11293,536.81497 v -0.20574 l -0.19826,0.0186 c 0.0165,-0.13095 0.0329,-0.26167 0.0496,-0.3926 h -0.11578 l -0.11556,0.14959 -0.11578,0.0559 -0.1653,-0.0932 -0.0165,-0.20575 0.0331,-0.22438 0.24798,-0.18688 h 0.19826 l 0.0329,-0.11229 0.24786,0.0559 0.18183,0.2246 0.0331,-0.37419 0.31401,-0.26167 0.11567,-0.28055 0.23133,-0.0934 0.1322,-0.18688 0.29738,-0.0564 0.14885,-0.22415 c -0.14874,0 -0.29749,0 -0.44623,0 l 0.28094,-0.13095 h 0.19814 l 0.28106,-0.0937 0.0331,-0.11186 -0.0992,-0.0937 -0.11567,-0.0375 0.0331,-0.11208 -0.0826,-0.16822 -0.19837,0.0746 0.0331,-0.14947 -0.23134,-0.13096 -0.18171,0.3177 0.0165,0.11229 -0.18171,0.075 -0.11578,0.24302 -0.0495,-0.22438 -0.31402,-0.13095 -0.0496,-0.16822 0.41315,-0.24325 0.18182,-0.16822 0.0165,-0.20563 -0.0991,-0.0562 -0.13219,-0.0188 -0.0826,0.20575 c 0,0 -0.1382,0.0271 -0.17373,0.0358 -0.45378,0.41804 -1.37066,1.32044 -1.58368,3.02405 0.008,0.0395 0.15441,0.26854 0.15441,0.26854 l 0.347,0.20552 0.347,0.0937 m 3.96609,-4.30034 -0.4298,-0.16833 -0.49552,0.0561 -0.61161,0.16822 -0.11567,0.11229 0.38008,0.26167 v 0.14959 l -0.14875,0.14959 0.19846,0.39294 0.13188,-0.075 0.16561,-0.26168 c 0.2553,-0.0789 0.4842,-0.16833 0.72686,-0.28053 l 0.19846,-0.5048 m 2.52925,0.34192 -0.375,0.0937 -0.21875,0.15625 v 0.125 l -0.375,0.25 0.0937,0.34375 0.21875,-0.15625 0.125,0.15625 0.15625,0.0937 0.0937,-0.28125 -0.0625,-0.15625 0.0625,-0.0937 0.21875,-0.1875 h 0.0937 l -0.0937,0.21875 v 0.1875 c 0.0892,-0.0242 0.1588,-0.051 0.25,-0.0625 l -0.25,0.1875 v 0.125 l -0.3125,0.21875 -0.28125,-0.0625 v -0.15625 l -0.125,0.0625 0.0625,0.15625 h -0.21875 l -0.125,0.21875 -0.15625,0.15625 -0.0937,0.0312 v 0.1875 l 0.0312,0.15625 h -0.0312 v 0.53125 l 0.0625,-0.0312 0.0937,-0.21875 0.1875,-0.125 0.0312,-0.0937 0.28125,-0.0625 0.15625,0.1875 0.1875,0.0937 -0.0937,0.1875 0.15625,-0.0312 0.0625,-0.21875 -0.1875,-0.21875 h 0.0625 L 193.2501,535 l 0.0312,0.21875 0.15625,0.21875 0.0625,-0.3125 0.0937,-0.0312 c 0.0959,0.0996 0.1692,0.23163 0.25,0.34375 h 0.28125 l 0.1875,0.125 -0.0937,0.0937 -0.15625,0.15625 h -0.25 l -0.34375,-0.0937 h -0.1875 l -0.125,0.15625 -0.34375,-0.375 -0.25,-0.0625 -0.375,0.0625 -0.15625,0.0937 V 538 l 0.0312,0.0312 0.25,-0.15625 0.0937,0.0937 h 0.28125 l 0.125,0.15625 -0.0937,0.3125 0.1875,0.1875 v 0.375 l 0.125,0.25 -0.0937,0.25 c -0.009,0.16159 0,0.30714 0,0.46875 0.0795,0.21894 0.14355,0.43575 0.21875,0.65625 l 0.0625,0.34375 v 0.1875 h 0.125 l 0.21875,-0.125 h 0.25 l 0.375,-0.4375 -0.0312,-0.15625 0.25,-0.21875 -0.1875,-0.1875 0.21875,-0.1875 0.21875,-0.125 0.0937,-0.125 -0.0625,-0.25 v -0.59375 l 0.1875,-0.375 0.1875,-0.25 0.25,-0.5625 v -0.15625 c -0.11654,0.0146 -0.22972,0.0231 -0.34375,0.0312 -0.0722,0.005 -0.14446,0 -0.21875,0 -0.12359,-0.25961 -0.2183,-0.50966 -0.3125,-0.78125 l -0.15625,-0.1875 -0.0937,-0.3125 0.0625,-0.0625 0.21875,0.25 0.25,0.5625 0.15625,0.15625 -0.0625,0.21875 0.15625,0.15625 0.25,-0.25 0.3125,-0.21875 0.15625,-0.1875 v -0.21875 c -0.0389,-0.0732 -0.0547,-0.14545 -0.0937,-0.21875 l -0.15625,0.1875 -0.125,-0.15625 -0.1875,-0.125 v -0.28125 l 0.21875,0.21875 0.21875,-0.0312 c 0.10166,0.0923 0.19205,0.20751 0.28125,0.3125 l 0.15625,-0.1875 c 0,-0.17463 -0.19976,-1.02044 -0.625,-1.75 -0.42526,-0.72932 -1.15625,-1.40625 -1.15625,-1.40625 l -0.0625,0.0937 -0.21875,0.21875 -0.25,-0.25 h 0.25 l 0.125,-0.125 -0.46875,-0.0937 -0.25,-0.0937 z" />
</g>
<g
inkscape:groupmode="layer"
id="layer13"
inkscape:label="places"
transform="translate(-183,-529)" />
<g
inkscape:groupmode="layer"
id="layer14"
inkscape:label="mimetypes"
transform="translate(-183,-529)" />
<g
style="display:inline"
inkscape:groupmode="layer"
id="layer15"
inkscape:label="emblems"
transform="translate(-183,-529)" />
<g
style="display:inline"
inkscape:groupmode="layer"
id="g71291"
inkscape:label="emotes"
transform="translate(-183,-529)" />
<g
style="display:inline"
inkscape:groupmode="layer"
id="g4953"
inkscape:label="categories"
transform="translate(-183,-529)" />
<g
style="display:inline"
inkscape:groupmode="layer"
id="layer12"
inkscape:label="actions"
transform="translate(-183,-529)" />
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="citra-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.7815776"
inkscape:cx="182.50167"
inkscape:cy="105.14232"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="379"
inkscape:window-y="162"
inkscape:window-maximized="0"
inkscape:measure-start="0,0"
inkscape:measure-end="0,0"
inkscape:snap-smooth-nodes="false"
inkscape:snap-center="false" />
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Skin">
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:9.03806496;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 9.0214071,177.20598 C 44.34588,233.61054 121.64392,250.45244 183.87178,214.52515 c 60.74678,-35.07216 85.12774,-107.72689 57.24283,-165.860838 1.84319,11.082814 -3.27599,22.507581 -15.47315,39.225977 l 0.32445,-0.05874 c -1.05052,1.310308 -2.08625,2.572166 -3.12169,3.831535 -0.94112,1.245648 -1.88534,2.494091 -2.89829,3.798942 l -0.30491,0.03266 c -17.49148,20.641894 -34.20579,34.915954 -65.58477,53.834724 l 0.0708,0.0926 c -1.85489,1.07092 -3.65895,2.09858 -5.44085,3.10673 -1.76356,1.03896 -3.55652,2.08791 -5.41093,3.15855 l -0.0467,-0.10652 c -32.0731,17.71532 -52.789551,25.05149 -79.410993,29.87861 l -0.182618,0.24879 c -1.633836,0.22445 -3.185561,0.41723 -4.732489,0.60917 -1.611037,0.26752 -3.222822,0.534 -4.885681,0.78906 l 0.213141,-0.25159 c -23.520339,2.51907 -36.426515,0.48338 -45.2085877,-9.64877 z"
id="path4797"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Slice"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.63045025;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 89.897069,63.23306 0.06861,0.09253 C 58.587253,82.244033 41.876522,96.51814 24.385388,117.15943 l -0.306391,0.0341 c -1.011299,1.30273 -1.954939,2.54895 -2.894623,3.79265 -1.037203,1.26145 -2.074363,2.52443 -3.126672,3.83697 l 0.324927,-0.0579 C 3.6116836,145.01161 -0.78759394,157.49434 5.0012202,171.00755 l -0.2514773,0.13886 c 0.4267109,0.73908 0.8658287,1.44064 1.3125505,2.12468 0.3689472,0.72869 0.7571448,1.46013 1.1837506,2.19904 l 0.2459976,-0.14836 c 8.8083704,11.76987 21.8183844,14.20135 46.7376084,11.53246 l -0.212524,0.25248 c 1.662854,-0.25504 3.275199,-0.52176 4.886236,-0.78928 1.546928,-0.19195 3.098018,-0.38605 4.731854,-0.6105 l 0.182473,-0.24812 c 26.621442,-4.82712 47.338041,-12.16287 79.411091,-29.87815 l 0.0464,0.10663 c 1.85442,-1.07064 3.64668,-2.12009 5.41025,-3.15903 1.78189,-1.00816 3.58604,-2.03498 5.44092,-3.1059 l -0.0692,-0.0934 c 31.37899,-18.91878 48.0915,-33.19232 65.583,-53.834219 l 0.30612,-0.03397 c 1.01295,-1.304851 1.95642,-2.55223 2.89753,-3.797889 1.03547,-1.259359 2.07104,-2.520131 3.12155,-3.830451 l -0.32492,0.05787 c 14.77093,-20.246289 19.17244,-32.730314 13.38362,-46.243517 l 0.25148,-0.13886 c -0.42661,-0.738906 -0.86592,-1.440841 -1.31251,-2.124718 -0.36906,-0.728865 -0.75709,-1.459919 -1.1838,-2.199003 l -0.24599,0.148351 C 227.72478,25.562653 214.71254,23.132455 189.79333,25.801349 l 0.21252,-0.252488 c -1.66003,0.254613 -3.26967,0.52106 -4.87804,0.788105 -1.54933,0.192201 -3.10133,0.385582 -4.73783,0.610399 l -0.18248,0.248122 c -26.62207,4.827067 -47.34008,12.162881 -79.4137,29.878493 l -0.0458,-0.105682 c -1.854887,1.070922 -3.646743,2.119029 -5.410779,3.158136 -1.781478,1.007909 -3.585982,2.036149 -5.440399,3.106797 z m -1.627263,6.008325 c 1.984001,-1.122774 3.581081,-1.646177 4.798269,-1.752034 l 8.649315,11.606226 12.1587,21.618523 c 0.87008,1.62079 -2.78858,4.68852 -5.95923,5.15731 l -47.581996,7.30004 -27.634424,3.06559 c -0.223631,-0.69353 0.306389,-1.81668 1.647161,-3.31195 14.326685,-15.977604 29.348686,-28.432141 53.059472,-43.172628 0.295819,-0.183067 0.582353,-0.352408 0.862737,-0.511073 z M 106.76523,58.563047 c 0.27757,-0.16355 0.56974,-0.328286 0.87621,-0.49291 24.62103,-13.163903 42.91798,-19.946061 63.91829,-24.364533 1.96629,-0.413708 3.20181,-0.309456 3.69012,0.231664 l -16.4726,22.398429 -30.11301,37.5572 c -1.99133,2.511462 -6.47734,4.146082 -7.44596,2.582172 L 108.56879,75.12457 102.84929,61.843333 c 0.70002,-1.001714 1.95027,-2.122703 3.91593,-3.28029 z m -79.553267,64.631393 29.355984,-5.22291 46.882993,-6.43865 c 3.15696,-0.45146 2.29551,2.20942 -1.68945,4.5363 L 47.883303,147.3044 16.332759,164.74375 c -1.535387,0.30514 -2.724144,0.0881 -3.097085,-0.98939 -3.5809613,-10.77125 -0.295502,-21.51887 10.145926,-36.93141 0.977166,-1.44238 2.312432,-2.68169 3.830363,-3.62851 z M 184.01887,32.661929 c 1.57955,-0.841851 3.32123,-1.379098 5.05979,-1.50422 18.56835,-1.336275 29.51879,1.192243 37.0565,9.679075 0.74668,0.86172 0.34019,1.999767 -0.69172,3.176841 l -30.87819,18.603902 -53.98957,31.042274 c -4.00763,2.287616 -6.74276,1.703226 -4.77329,-0.805057 L 164.83361,55.45488 Z M 49.489854,150.02036 103.45056,118.99475 c 4.00763,-2.28762 6.74274,-1.70323 4.77328,0.80504 l -29.028305,37.39465 -19.190397,22.79945 c -1.578953,0.84112 -3.320339,1.37701 -5.058077,1.50206 -18.568357,1.33627 -29.51879,-1.19224 -37.056495,-9.67908 -0.746261,-0.86122 -0.340593,-1.99831 0.690011,-3.17467 z m 146.624206,-84.653539 31.58163,-17.4573 c 1.534,-0.304314 2.72165,-0.08711 3.09436,0.989771 3.58096,10.77126 0.2955,21.518874 -10.14593,36.931404 -0.97763,1.443082 -2.31322,2.683689 -3.83208,3.630681 l -29.31601,5.215185 -46.92074,6.445108 c -3.15696,0.45147 -2.2955,-2.209421 1.68944,-4.536316 z m -78.33917,51.368139 c 2.03703,-1.1938 4.36442,-1.63027 5.03034,-0.55511 l 12.64335,21.33989 5.72663,13.29363 c -0.79922,1.14269 -2.31597,2.44046 -4.79092,3.77013 -24.62103,13.16391 -42.917971,19.94608 -63.918316,24.36455 -1.965269,0.41351 -3.202475,0.31177 -3.691309,-0.22861 L 85.259936,156.3019 115.35927,118.76203 c 0.62229,-0.78483 1.48969,-1.48441 2.41562,-2.02707 z m 15.37066,-8.87425 c 0.93269,-0.53091 1.97027,-0.93068 2.9611,-1.07718 l 47.56015,-7.296861 27.65626,-3.068764 c 0.2244,0.693446 -0.30356,1.814727 -1.64494,3.310674 -14.32667,15.977591 -29.34867,28.432131 -53.05946,43.172621 -2.39042,1.47944 -4.27378,2.14414 -5.66325,2.26439 l -8.64214,-11.59384 -12.16584,-21.63092 c -0.59815,-1.1143 0.94571,-2.91293 2.99812,-4.08012 z"
id="path4721"
inkscape:connector-curvature="0" />
<g
id="g4811"
style="opacity:0.8"
transform="matrix(0.94911397,-0.54797121,0.54797121,0.94911397,-70.080199,54.560811)">
<path
inkscape:connector-curvature="0"
id="path4782"
d="m 118.43217,83.844504 c 2.08002,0.01793 3.58084,0.332964 4.59097,0.80463 l 1.53969,13.117426 -0.25505,22.63033 c -0.0519,1.67772 -4.3426,2.43268 -7.06195,1.35659 L 76.315544,105.81379 53.079914,95.62865 c 0.139693,-0.650061 1.070932,-1.295777 2.812611,-1.865661 18.610531,-6.089426 36.163191,-9.077672 61.624735,-9.90823 0.31728,-0.0097 0.62096,-0.01279 0.91491,-0.01025 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4780"
d="m 137.91921,83.844504 c 0.29396,-0.0026 0.59999,5.18e-4 0.91727,0.01025 25.46155,0.830557 43.0142,3.818804 61.62472,9.90823 1.74252,0.570156 2.67128,1.216216 2.81027,1.866592 l -23.23562,10.184214 -40.93028,15.93969 c -2.71937,1.07609 -7.01003,0.32113 -7.06194,-1.35659 l -0.25506,-22.642455 1.53967,-13.104373 c 1.01017,-0.472198 2.50956,-0.787614 4.59097,-0.805561 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4778"
d="m 45.568697,98.622469 25.580253,9.265831 39.98494,16.30145 c 2.70063,1.08355 0.80593,2.79319 -3.40461,2.81387 l -56.825513,0.10164 -32.887896,-0.6135 c -1.352501,-0.45935 -2.192873,-1.17316 -1.99597,-2.19479 2.084441,-10.1453 9.584009,-17.13926 24.866572,-24.554732 1.430229,-0.693982 3.050774,-1.064107 4.682224,-1.119769 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4776"
d="m 210.78269,98.622469 c 1.63225,0.05539 3.25365,0.425456 4.68457,1.119769 15.28256,7.415472 22.78213,14.409432 24.86657,24.554732 0.1969,1.0216 -0.64353,1.73544 -1.99597,2.19479 l -32.8879,0.6135 -56.82551,-0.10164 c -4.21054,-0.0207 -6.10525,-1.73032 -3.40461,-2.81387 l 40.00366,-16.30891 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4774"
d="m 50.934186,129.98439 56.795094,0.10163 c 4.21054,0.0207 6.10524,1.73033 3.40461,2.81387 L 71.134912,149.206 45.568697,158.46717 c -1.63145,-0.0557 -3.251995,-0.42671 -4.682224,-1.1207 C 25.60391,149.931 18.104342,142.93704 16.019901,132.79174 c -0.196785,-1.02102 0.642548,-1.73448 1.993631,-2.19386 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4772"
d="m 205.41954,129.98439 32.92066,0.61349 c 1.35102,0.45938 2.19042,1.17286 1.99363,2.19386 -2.08444,10.1453 -9.58401,17.13926 -24.86657,24.55473 -1.43092,0.69431 -3.05232,1.06532 -4.68457,1.1207 l -25.54515,-9.2537 -40.0177,-16.31358 c -2.70064,-1.08354 -0.80593,-2.79318 3.40461,-2.81387 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4770"
d="m 120.07949,134.83548 c 2.15433,-0.014 4.19259,0.70291 4.22829,1.85634 l 0.25505,22.63126 -1.53969,13.11743 c -1.15289,0.53832 -2.94351,0.87185 -5.50588,0.79344 -25.461544,-0.83056 -43.014204,-3.8188 -61.624735,-9.90823 -1.741624,-0.56986 -2.672872,-1.21469 -2.812611,-1.86473 l 23.254352,-10.19353 40.911564,-15.93223 c 0.8498,-0.33628 1.85441,-0.49336 2.83366,-0.49975 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path4766"
d="m 136.27424,134.83548 c 0.97924,0.006 1.98153,0.16347 2.83133,0.49975 l 40.91157,15.93223 23.25433,10.1926 c -0.13904,0.65035 -1.06781,1.29552 -2.81027,1.86566 -18.61052,6.08943 -36.16317,9.07767 -61.62472,9.90823 -2.56391,0.0785 -4.35541,-0.25549 -5.50824,-0.79438 l -1.53967,-13.10437 0.25506,-22.64338 c 0.0357,-1.15343 2.07627,-1.87038 4.23061,-1.85634 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.04999876;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="desmume-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="315"
inkscape:window-y="152"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:snap-page="true"
inkscape:measure-start="68,152"
inkscape:measure-end="20,152"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4494"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Body"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:7.72873449;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 28 8 C 23.568 8 20 11.568 20 16 L 20 112 C 20 116.432 23.568 120 28 120 L 224 120 C 228.432 120 232 116.432 232 112 L 232 16 C 232 11.568 228.432 8 224 8 L 28 8 z M 68 16 L 184 16 L 184 104 L 68 104 L 68 16 z "
id="rect4537" />
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:8.57213402;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 28 124 C 23.568 124 20 127.568 20 132 L 20 240 C 20 244.432 23.568 248 28 248 L 224 248 C 228.432 248 232 244.432 232 240 L 232 132 C 232 127.568 228.432 124 224 124 L 28 124 z M 40 136 L 60 136 L 60 144 L 40 144 L 40 136 z M 76 136 L 176 136 L 176 212 L 76 212 L 76 136 z M 192 136 L 204 136 L 204 144 L 192 144 C 189.784 144 188 142.216 188 140 C 188 137.784 189.784 136 192 136 z M 208 136 L 220 136 C 222.216 136 224 137.784 224 140 C 224 142.216 222.216 144 220 144 L 208 144 L 208 136 z M 44 160 L 56 160 L 56 172 L 68 172 L 68 184 L 56 184 L 56 196 L 44 196 L 44 184 L 32 184 L 32 172 L 44 172 L 44 160 z M 206 160 A 6 6 0 0 1 212 166 A 6 6 0 0 1 206 172 A 6 6 0 0 1 200 166 A 6 6 0 0 1 206 160 z M 194 172 A 6 6 0 0 1 200 178 A 6 6 0 0 1 194 184 A 6 6 0 0 1 188 178 A 6 6 0 0 1 194 172 z M 218 172 A 6 6 0 0 1 224 178 A 6 6 0 0 1 218 184 A 6 6 0 0 1 212 178 A 6 6 0 0 1 218 172 z M 206 184 A 6 6 0 0 1 212 190 A 6 6 0 0 1 206 196 A 6 6 0 0 1 200 190 A 6 6 0 0 1 206 184 z "
id="rect4539" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Screens"
style="display:inline">
<rect
style="opacity:0.2;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="rect4542"
width="116"
height="88"
x="68"
y="16" />
<rect
y="136"
x="76"
height="76"
width="100"
id="rect4544"
style="opacity:0.2;fill-opacity:1;stroke:none;stroke-width:6.90281868;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Controls"
style="display:inline">
<path
style="opacity:0.5;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 32,172 v 12 h 12 v 12 H 56 V 184 H 68 V 172 H 56 V 160 H 44 v 12 z"
id="path4547"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccc" />
<circle
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="path4549"
cx="194"
cy="178"
r="6" />
<circle
r="6"
cy="178"
cx="218"
id="circle4551"
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
<circle
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="circle4553"
cx="206"
cy="166"
r="6" />
<circle
r="6"
cy="190"
cx="206"
id="circle4555"
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
<rect
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="rect4557"
width="20"
height="8"
x="40"
y="136" />
<path
style="opacity:0.5;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 192,136 c -2.216,0 -4,1.784 -4,4 0,2.216 1.784,4 4,4 h 12 v -8 z m 16,0 v 8 h 12 c 2.216,0 4,-1.784 4,-4 0,-2.216 -1.784,-4 -4,-4 z"
id="rect4559"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="dgen-symbolic.svg">
<title
id="title4796">DGen Logo</title>
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="274"
inkscape:window-y="136"
inkscape:window-maximized="0"
inkscape:object-nodes="true"
inkscape:snap-nodes="true"
inkscape:snap-others="true">
<inkscape:grid
type="xygrid"
id="grid4512" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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>DGen Logo</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:creator>
<cc:Agent>
<dc:title></dc:title>
</cc:Agent>
</dc:creator>
<dc:source></dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="D"
style="display:inline"
transform="translate(0,16)">
<path
style="opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 7,32 h 70 c 25.62168,0.147363 42,15 42,45 v 75 c 0,34 -17,47 -47,47 H 7 V 88 h 20 v 89 h 50 c 12,0 21,-9 21,-20 V 74 C 98,64 90,54 77,54 H 7 Z"
id="path4518"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccc" />
<path
style="opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 7,61 h 68 c 11,0 17,7 17,16 v 79 c 0,9 -7,14 -15,14 H 34 V 88 h 23 v 56 c 0,3 1,4 3,4 h 8 c 2,0 3,-1 3,-3 V 87 c 0,-3 -1,-4 -3,-4 H 7 Z"
id="path4520"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="G"
style="display:inline"
transform="translate(0,16)">
<path
sodipodi:nodetypes="ccccccccccccccccc"
inkscape:connector-curvature="0"
id="path4523"
d="m 251,32 h -77 c -25.62168,0.147363 -47,22 -47,53 v 62 c 0,34 26,52 45,52 h 79 V 90 h -70 v 22 h 51 v 65 h -55 c -16,0 -28,-13 -28,-30 V 84 c 0,-16 11,-30 27,-30 h 75 z"
style="display:inline;opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccccccsccccccc"
inkscape:connector-curvature="0"
id="path4525"
d="m 251,61 h -73 c -13,0 -23,11 -23,24 v 61 c 0,13 10,24 24,24 h 46 v -51 h -44 v 21 h 17 c 2,0 3,1 3,4 0,3 -1,4 -3,4 h -19 c -2,0 -3,-1 -3,-3 V 87 c 0,-3 1,-4 3,-4 h 72 z"
style="display:inline;opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
width="2048"
height="2048"
viewBox="0 0 2048 2048"
id="root"
sodipodi:docname="dolphin-symbolic.svg"
inkscape:version="0.92.1 r15371">
<metadata
id="metadata17">
<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="defs15" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1502"
inkscape:window-height="865"
id="namedview13"
showgrid="false"
inkscape:zoom="0.32666016"
inkscape:cx="1024"
inkscape:cy="1024"
inkscape:window-x="112"
inkscape:window-y="60"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<linearGradient
id="g"
gradientUnits="userSpaceOnUse"
x1="0"
y1="506"
x2="0"
y2="1588">
<stop
offset="0"
stop-color="#46D4FF"
id="stop2" />
<stop
offset="1"
stop-color="#1792FF"
id="stop4" />
</linearGradient>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Threedee"
style="display:inline">
<path
d="m 1455.7441,460.01562 c -17.1368,-0.10978 -35.6744,0.36235 -55.541,1.63672 -119.328,7.655 -226.5449,77.43124 -246.5879,87.24024 -64.265,-18.396 -137.5897,-34.61897 -223.34372,-49.16797 -296.609,-50.323 -547.63851,29.89717 -673.60351,117.32617 -165.101001,114.592 -160.533532,221.36739 -174.144532,274.77539 -8.431,33.085 -83.40776612,94.2636 -82.50976612,137.18363 v 45.1797 l 0.02929687,0.031 C -0.02003497,1031.3384 74.169919,970.65603 82.554688,937.75391 c 13.610999,-53.408 9.043531,-160.18535 174.144532,-274.77735 125.965,-87.429 376.99451,-167.64722 673.60351,-117.32422 85.75397,14.549 159.07877,30.77197 223.34377,49.16797 20.043,-9.809 127.2599,-79.58719 246.5879,-87.24219 127.0626,-8.15064 199.6957,16.49305 199.791,16.5254 v -45.91993 l -0.031,0.002 0.018,-0.004 c 0,0 -51.7287,-17.57317 -144.2676,-18.16602 z m 144.2813,64.09766 c 0,5.1e-4 -0.2888,0.0619 -0.3379,0.0723 l 0.3379,-0.002 z m -176.2227,104.49219 c -18.7855,60.74712 45.6239,114.9293 61.1114,126.88672 0.774,0.585 1.5473,1.16986 2.3203,1.75586 0.622,0.459 0.9629,0.69922 0.9629,0.69922 l -0.049,-0.01 c 42.849,32.582 84.0033,68.881 127.4493,109.5 C 1750.6697,993.7215 1831.739,1118.057 1926,1292 v 0.01 c 78.321,144.53 121.8105,295.8867 121.8105,295.8867 0,0 -0.6004,-1.2013 -1.0625,-2.1289 l 1.2891,2.748 v -46.2637 l -1.2363,-3.6035 v 0.01 c -6.813,-22.834 -49.284,-160.5384 -120.832,-292.5684 -94.261,-173.943 -175.3304,-298.27847 -310.4024,-424.56247 -43.445,-40.618 -84.5993,-76.91605 -127.4473,-109.49805 h 0.047 c 0,0 -0.3288,-0.23087 -0.9258,-0.67187 -0.801,-0.607 -1.6013,-1.21436 -2.4023,-1.81836 -11.4687,-8.86105 -49.372,-40.57544 -61.0352,-80.92578 z M 610.33789,842.4082 c -124.97798,-0.0929 -219.63466,11.34707 -256.875,16.66211 -16.4399,28.74628 -17.37109,48.59375 -17.37109,48.59375 0,0 156.76548,-27.319 369.52148,-17 194.644,9.44 335.12652,51.13635 506.22852,135.52734 208.386,102.78 331.8652,256.7598 331.8652,256.7598 0,0 -1.0535,-0.8431 -2.5761,-2.045 l 2.8652,2.3711 v -45.9687 l -0.3574,-0.332 c -1.596,-1.983 -124.8002,-154.6039 -331.8282,-256.71293 -171.102,-84.392 -311.58447,-126.08734 -506.22847,-135.52734 -33.24312,-1.61235 -65.11933,-2.30574 -95.24414,-2.32813 z m 255.94336,166.8281 c 2.034,34.702 11.59673,95.3888 51.55273,135.3418 58.712,58.708 154.14652,98.3574 154.14652,98.3574 0,0 -0.4147,0 -0.5059,0 l 0.5274,0.078 v -45.9687 l -0.088,-0.035 h 0.035 c 0,0 -95.43447,-39.6494 -154.14647,-98.3574 -25.08788,-25.086 -38.1878,-58.3433 -44.9707,-88.2129 -2.07203,-0.3916 -4.10928,-0.7723 -6.19141,-1.168 z"
id="path7"
inkscape:connector-curvature="0"
style="opacity:0.6" />
</g>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Symbol"
style="display:inline">
<path
style="opacity:1"
d="m 1926,1292 c -94.261,-173.943 -175.33,-298.279 -310.402,-424.563 -43.446,-40.619 -84.601,-76.917 -127.45,-109.499 l 0.049,0.01 c 0,0 -0.34,-0.24 -0.962,-0.699 -0.773,-0.586 -1.547,-1.172 -2.321,-1.757 -15.904,-12.279 -83.413,-69.084 -59.428,-131.801 26.32,-68.822 174.556,-99.582 174.556,-99.582 0,0 -72.661,-24.686 -199.807,-16.53 -119.328,7.655 -226.545,77.432 -246.588,87.241 -64.265,-18.396 -137.59,-34.619 -223.344,-49.168 C 633.694,495.329 382.664,575.548 256.699,662.977 91.598,777.569 96.166,884.345 82.555,937.753 72.761,976.185 -26.834,1052.525 7.021,1094.12 c 21.122,25.95 91.411,-9.289 148.113,-32.611 59.615,-24.521 64.209,-37.859 227.133,-62.168 74.956,-11.184 153.843,-14.393 212.575,-14.886 22.855,48.26 79.68,147.46 178.133,195.042 132.934,64.246 299.005,63.438 299.005,63.438 0,0 -95.434,-39.648 -154.146,-98.356 -39.956,-39.953 -49.518,-100.64 -51.552,-135.342 l 0.359,0.033 c 96.193,18.278 180.215,31.468 381.156,108.425 175.815,67.334 295.91,165.256 295.91,165.256 0,0 -123.479,-153.98 -331.865,-256.76 C 1040.74,941.8 900.257,900.105 705.613,890.665 492.857,880.346 336.091,907.664 336.091,907.664 c 0,0 4.385,-94.537 165.003,-169.88 139.666,-65.516 359.388,-76.481 611.558,-12.15 356.261,90.886 477.766,245.646 631.012,405.573 163.107,170.22 304.146,456.685 304.146,456.685 0,0 -43.489,-151.357 -121.81,-295.887 z"
id="path9"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="dosbox-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5742188"
inkscape:cx="146.73373"
inkscape:cy="135.81719"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="315"
inkscape:window-y="152"
inkscape:window-maximized="0"
inkscape:measure-start="16,208"
inkscape:measure-end="16,256">
<inkscape:grid
type="xygrid"
id="grid4490"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<flowRoot
xml:space="preserve"
id="flowRoot4482"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:1;"
transform="translate(0,253.26666)"><flowRegion
id="flowRegion4484"
style=""><rect
id="rect4486"
width="206.66464"
height="199.67223"
x="16.704096"
y="15.150232"
style="" /></flowRegion><flowPara
id="flowPara4488"></flowPara></flowRoot> <path
style="opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 8,277.26666 v 16 h 16 v 128 H 8 v 16 h 80 v -16 h 16 v -16 h 16 v -96 h -16 v -16 H 88 v -16 z m 48,16 h 16 v 16 h 16 v 96 H 72 v 16 H 56 Z"
id="path4492"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccccccccccccc" />
<rect
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:18;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4497"
width="32"
height="31.999998"
x="136"
y="309.26666" />
<rect
y="389.26666"
x="136"
height="31.999998"
width="32"
id="rect4499"
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:18;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:18;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 184,277.26666 v 64 h 16 v 48 h 16 v 48 h 32 v -64 h -16 v -48 h -16 v -48 z"
id="rect4497-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="frotz-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="199"
inkscape:window-y="97"
inkscape:window-maximized="0"
showguides="false">
<inkscape:grid
type="xygrid"
id="grid5116"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Cover"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:inline">
<path
style="opacity:0.4;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0 56 L 0 216 L 120 236 L 136 236 L 256 216 L 256 56 L 244 58 L 244 200 C 242.80662 200 241.39676 200.00758 239.8418 200.02734 C 239.45841 200.03216 238.99001 200.04438 238.58594 200.05078 C 237.31701 200.07126 235.99945 200.09684 234.54492 200.13672 C 234.14583 200.14742 233.69351 200.16537 233.28125 200.17773 C 231.58887 200.22979 229.83094 200.29154 227.93945 200.37695 C 227.7917 200.38343 227.63326 200.39174 227.48438 200.39844 C 197.82225 201.77373 146.20119 207.69821 130 232 L 130 80 C 130.94102 78.588463 132.00301 77.256517 133.17188 76 L 122.82617 76 C 123.98858 77.258588 125.05722 78.585824 126 80 L 126 232 C 109.79881 207.69821 58.177746 201.77373 28.515625 200.39844 C 28.366742 200.39174 28.208295 200.38343 28.060547 200.37695 C 26.169059 200.29154 24.411131 200.22979 22.71875 200.17773 C 22.306488 200.16537 21.854166 200.14742 21.455078 200.13672 C 20.000549 200.09684 18.682992 200.07126 17.414062 200.05078 C 17.00999 200.04438 16.541591 200.03216 16.158203 200.02734 C 14.603238 200.00758 13.193384 200 12 200 L 12 58 L 0 56 z "
transform="translate(0,229.26666)"
id="path5118" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Pages"
style="display:none">
<path
style="opacity:0.23500001;fill-rule:evenodd;stroke:none"
d="M 128,232 252,212 V 60 l -8,-4 -116,24 z"
id="path5121"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
inkscape:connector-curvature="0"
id="path5123"
d="M 128,232 4,212 V 60 l 8,-4 116,24 z"
style="opacity:0.25;fill-rule:evenodd;stroke:none"
sodipodi:nodetypes="cccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Leaves"
style="display:inline">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 130,232 c 20,-30 94,-32 114,-32 V 56 c -20,0 -94,-6 -114,24 z"
id="path5125"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 43.738281,55.523438 C 29.96875,55.413574 18.25,56 12,56 v 144 c 20,0 94,2 114,32 V 80 C 112.25,59.375 74.03125,55.765137 43.738281,55.523438 Z M 24,76 c 16,0 60,0 80,12 v 32 L 88,96 C 76,92 64,92 56,92 l -8,8 v 20 c 16,0 20,0 32,4 l 8,-4 v 20 l -8,-8 c -12,-4 -16,-4 -32,-4 v 8 c 4,0 8,0 16,1 l 8,-4 v 20 l -8,-8 c -8,-1 -12,-1 -16,-1 v 32 l 8,8 H 24 l 8,-8 V 84 Z"
id="path5127"
inkscape:connector-curvature="0"
sodipodi:nodetypes="sccccscccccccccccccccccccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Lettering"
style="display:inline">
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:0.2"
d="m 24,76 c 16,0 60,0 80,12 v 32 L 88,96 C 76,92 64,92 56,92 l -8,8 v 20 c 16,0 20,0 32,4 l 8,-4 v 20 l -8,-8 c -12,-4 -16,-4 -32,-4 v 8 c 4,0 8,0 16,1 l 8,-4 v 20 l -8,-8 c -8,-1 -12,-1 -16,-1 v 32 l 8,8 H 24 l 8,-8 V 84 Z"
id="path5149"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="fsuae-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5195312"
inkscape:cx="128.45321"
inkscape:cy="125.95449"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="175"
inkscape:window-y="149"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4484"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Lines"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104,469.26666 h 36 l 112,-224 h -36 z"
id="path4482"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4486"
d="m 56,469.26666 h 36 l 112,-224 h -36 z"
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="opacity:0.7;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 92,469.26666 H 56 l -52,-84 h 36 z"
id="path4518"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4522"
d="m 140,469.26666 h -36 l -52,-84 h 36 z"
style="opacity:0.7;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View file

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="gens-symbolic.svg">
<defs
id="defs4517">
<marker
style="overflow:visible"
refY="0"
refX="0"
orient="auto"
inkscape:stockid="Arrow2Send"
inkscape:isstock="true"
id="marker5233">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
id="path5231"
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z" />
</marker>
<marker
style="overflow:visible"
refY="0"
refX="0"
orient="auto"
inkscape:stockid="Arrow2Sstart"
inkscape:isstock="true"
id="marker4537">
<path
inkscape:connector-curvature="0"
transform="matrix(0.3,0,0,0.3,-0.69,0)"
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1"
id="path4535"
d="M 8.72,4.03 -2.21,0.02 8.72,-4 c -1.75,2.37 -1.74,5.62 0,8.03 z" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="156.4878"
inkscape:cy="126.82927"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="297"
inkscape:window-y="196"
inkscape:window-maximized="0"
inkscape:measure-start="80,28"
inkscape:measure-end="128,220"
inkscape:snap-page="false"
inkscape:snap-bbox="false"
inkscape:bbox-nodes="true"
showguides="false"
inkscape:snap-smooth-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
<sodipodi:guide
position="80,28"
inkscape:color="rgb(167,0,255)"
inkscape:label="Measure"
orientation="-0.968816,0.247782"
id="guide5261"
inkscape:locked="false" />
<sodipodi:guide
position="80,28"
inkscape:color="rgb(167,0,255)"
inkscape:label=""
orientation="-0,1"
id="guide5263"
inkscape:locked="false" />
<sodipodi:guide
position="80,28"
inkscape:color="rgb(167,0,255)"
inkscape:label="Start"
orientation="-1,6.12323e-17"
id="guide5265"
inkscape:locked="false" />
<sodipodi:guide
position="128.723,218.505"
inkscape:color="rgb(167,0,255)"
inkscape:label="End"
orientation="-0,1"
id="guide5267"
inkscape:locked="false" />
<sodipodi:guide
position="86.0706,51.7359"
inkscape:color="rgb(167,0,255)"
inkscape:label="Crossing 1"
orientation="-0.247782,-0.968816"
id="guide5271"
inkscape:locked="false" />
<sodipodi:guide
position="116.544,170.884"
inkscape:color="rgb(167,0,255)"
inkscape:label="Crossing 2"
orientation="-0.247782,-0.968816"
id="guide5273"
inkscape:locked="false" />
<sodipodi:guide
position="119.571,182.721"
inkscape:color="rgb(167,0,255)"
inkscape:label="Crossing 3"
orientation="-0.247782,-0.968816"
id="guide5275"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="G"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:none">
<path
style="opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104,341.26666 c -4,-8 -16,-24 -40,-20 -24,4 -44,24 -48,52 -4,28 12,40 24,40 12,0 20,-4 20,-4 l -4,16 h 32 l 16,-64 H 60 l -4,16 h 12 c -4,4 -12,12 -20,4 -4,-4 -3.999999,-16 4,-24 8,-8 16,-8 20,0 z"
id="path4546"
inkscape:connector-curvature="0"
sodipodi:nodetypes="czzzcccccccsscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="G 1"
style="display:inline">
<path
sodipodi:nodetypes="czzzcccccccsscc"
inkscape:connector-curvature="0"
id="path5344"
d="M 180.09162,76.506926 C 172.11576,60.555205 147.85516,28.024139 100,36 52.144836,43.975861 11.975861,84.168977 4,140 -3.9758606,195.83103 28.550264,220.07242 52.477845,220.07242 76.405427,220.07242 92,212 92,212 l -8,32 h 64.18817 L 180,116 H 92 l -8,32 h 24 c -7.97586,7.97586 -24.048279,23.95172 -40,8 -7.975861,-7.97586 -7.951719,-32.04828 8,-48 15.951722,-15.951721 32.30887,-15.541352 40.28473,0.41037 z"
style="opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.99396515px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Ring"
style="display:none">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:38.83321762;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 181.32227,40.011719 c -1.71249,0.01302 -3.42757,0.05975 -5.14258,0.138672 -13.75128,0.632781 -28.30288,3.248808 -43.15625,7.753906 L 121.62695,93.492188 C 142.51199,83.963621 162.99401,78.884367 179.0293,78.146484 198.42001,77.254211 205.28739,83.555281 208,88 c 2.7126,4.444712 5.33056,13.68686 -5.18164,29.12695 -10.5122,15.44009 -30.06838,33.04119 -55.31445,46.83008 -16.43858,8.97842 -33.13782,15.15378 -48.150394,18.62891 l -10.13086,40.52539 c 24.940194,-2.69151 52.032834,-11.51964 78.523434,-25.98828 29.85529,-16.30636 53.55365,-36.81643 68.42969,-58.66602 14.87603,-21.8496 22.2941,-47.89761 8.64649,-70.259764 -12.79464,-20.964526 -37.8127,-28.380899 -63.5,-28.185547 z M 124.30664,50.775391 C 112.33637,54.96856 100.2375,60.33886 88.259766,66.880859 58.404478,83.187218 34.704158,103.69728 19.828125,125.54688 c -14.8760323,21.84959 -22.2940998,47.8976 -8.646484,70.25976 13.64761,22.36215 41.228327,29.78415 68.642578,28.04688 l 1.232422,-0.0781 z"
id="path4551"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssccssssccsssscsssscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Ring 1">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:48;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 82.043701,42.04917 c -30.00758,17.324884 -53.179311,40.631683 -66.74975,66.48761 -13.5704424,25.85591 -17.6497765,56.58203 -2.863072,82.19335 14.7867,25.61132 43.436945,37.44327 72.614047,38.61888 29.177104,1.17562 60.947254,-7.23829 90.954834,-24.56318 30.00758,-17.32488 53.181,-40.63265 66.75144,-66.48858 13.57044,-25.85592 17.6471,-56.582756 2.8604,-82.194072 C 230.8249,30.491854 202.17732,18.66063 173.00022,17.485016 143.82311,16.309402 112.05128,24.724286 82.043701,42.04917 Z M 106.0437,83.61839 c 22.90446,-13.223897 46.86725,-18.902902 65.0244,-18.171305 18.15717,0.731593 28.44338,6.808327 32.97429,14.656093 4.53091,7.847767 4.65138,19.79594 -3.79362,35.886302 -8.445,16.09036 -25.34455,34.00323 -48.24901,47.22713 -22.90447,13.2239 -46.86556,18.90193 -65.022717,18.17033 -18.157159,-0.73159 -28.446034,-6.80904 -32.976944,-14.65681 -4.53091,-7.84776 -4.64872,-19.79522 3.796279,-35.88558 8.445001,-16.09036 25.34286,-34.002263 48.247322,-47.22616 z"
id="path5348"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
id="root"
height="128"
width="128"
version="1.1"
sodipodi:docname="gog-symbolic.svg"
inkscape:version="0.92.1 r15371"
viewBox="0 0 128 128">
<defs
id="defs9" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1305"
inkscape:window-height="725"
id="namedview7"
showgrid="false"
inkscape:zoom="3.7836281"
inkscape:cx="70.222032"
inkscape:cy="69.510002"
inkscape:window-x="146"
inkscape:window-y="137"
inkscape:window-maximized="0"
inkscape:current-layer="root"
viewbox-x="0" />
<metadata
id="metadata7">
<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>
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1"
inkscape:connector-curvature="0"
d="m 63.738729,85.581402 c 1.421275,0 2.566567,1.152279 2.566567,2.582008 v 0.0184 12.97652 c 0,1.42127 -1.145179,2.5891 -2.566567,2.5891 l -0.02964,-0.0156 v 0.0156 h -12.97201 v -0.0156 l -0.02817,0.0156 c -1.42691,0 -2.572202,-1.16772 -2.572202,-2.5891 v -12.97652 -0.0184 c 0,-1.429842 1.145179,-2.582008 2.572202,-2.582008 h 0.02817 12.972012 0.02964 M 70.75946,25.277496 c 1.455083,0 2.58764,1.173352 2.58764,2.618744 v 0.02107 13.157955 0.0169 c 0,1.448097 -1.132557,2.624379 -2.58764,2.624379 h -0.02817 -13.172605 -0.01837 c -1.450914,0 -2.61311,-1.176282 -2.61311,-2.624379 v -0.0169 -13.157955 -0.02107 c 0,-1.445279 1.162083,-2.618744 2.61311,-2.618744 h 0.01837 13.172605 0.02817 m 54.3977,36.208039 c 0,3.77091 -3.05396,6.809433 -6.80379,6.809433 H 89.16155 v -8.777379 h 24.59172 0.0184 c 1.45373,0 2.61875,-1.178986 2.61875,-2.621448 v -0.01837 -28.960797 -0.01972 c 0,-1.445279 -1.16502,-2.620096 -2.61875,-2.620096 h -0.0184 -13.18275 -0.0254 c -1.431188,0 -2.600371,1.174817 -2.600371,2.620096 v 0.01972 13.157954 0.0169 c 0,1.448097 1.169183,2.624379 2.600371,2.624379 h 0.0254 10.53391 V 52.49066 H 95.968729 c -3.763923,0 -6.807967,-3.042692 -6.807967,-6.803798 V 23.307296 c 0,-3.756936 3.044044,-6.807967 6.807967,-6.807967 h 22.382941 c 3.74984,0 6.8038,3.051144 6.8038,6.807967 v 38.177901 z m -0.0254,50.907625 h -8.65049 V 85.582529 h -6.04729 -0.0296 c -1.43119,0 -2.5722,1.152278 -2.5722,2.582001 v 0.0184 24.21082 H 99.183052 V 85.583092 h -6.061494 -0.01972 c -1.431192,0 -2.575019,1.152279 -2.575019,2.582008 v 0.0184 24.23335 H 81.879035 V 83.625067 c 0,-3.686391 2.996263,-6.689641 6.70801,-6.689641 H 125.13203 V 112.39406 Z M 75.338712,52.491562 H 52.947877 c -3.756937,0 -6.799629,-3.042692 -6.799629,-6.803798 V 23.308198 c 0,-3.756936 3.042692,-6.807968 6.799629,-6.807968 h 22.390835 c 3.749836,0 6.800981,3.051144 6.800981,6.807968 v 22.379566 c 0,3.761106 -3.051145,6.803798 -6.800981,6.803798 m -0.385971,53.197528 c 0,3.70194 -3.003251,6.70384 -6.703841,6.70384 H 46.196142 c -3.714564,0 -6.709475,-3.0019 -6.709475,-6.70384 V 83.62394 c 0,-3.686391 2.994799,-6.689641 6.709475,-6.689641 H 68.2489 c 3.70059,0 6.703841,3.00325 6.703841,6.689641 z M 39.127855,61.485535 c 0,3.77091 -3.051144,6.809433 -6.809433,6.809433 H 3.1322414 v -8.777379 h 24.5826996 0.02536 c 1.449449,0 2.61018,-1.178986 2.61018,-2.621448 v -0.01837 -28.960797 -0.01972 c 0,-1.445279 -1.160731,-2.620096 -2.61018,-2.620096 h -0.02536 -13.169223 -0.03099 c -1.445279,0 -2.607475,1.174817 -2.607475,2.620096 v 0.01972 13.157954 0.0169 c 0,1.448097 1.162083,2.624379 2.607475,2.624379 h 0.03099 10.535379 V 52.49066 H 9.9363777 c -3.7625708,0 -6.8037982,-3.042692 -6.8037982,-6.803798 V 23.307296 c 0,-3.756936 3.0413401,-6.807967 6.8037982,-6.807967 H 32.318197 c 3.758288,0 6.809433,3.051144 6.809433,6.807967 V 61.485197 Z M 32.562176,85.581402 H 14.405191 14.37837 c -1.428375,0 -2.573667,1.152279 -2.573667,2.582008 l 0.0056,0.0184 h -0.0056 v 12.97652 h 0.0056 l -0.0056,0.007 c 0,1.42274 1.145179,2.59192 2.573667,2.59192 h 0.02682 1.880609 16.277277 v 8.65759 H 9.8679735 v -0.0225 c -3.7103943,0 -6.7136444,-3.0019 -6.7136444,-6.70384 V 83.623038 c 0,-3.686391 3.0032501,-6.689641 6.7136444,-6.689641 H 32.563077 v 8.647779 z"
id="path3009" />
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -0,0 +1,230 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="jzintv-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="234"
inkscape:window-y="240"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:48;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 72,4 c -2.216,0 -4,1.784 -4,4 v 240 c 0,2.216 1.784,4 4,4 h 112 c 2.216,0 4,-1.784 4,-4 V 8 c 0,-2.216 -1.784,-4 -4,-4 z m 12,24 h 88 c 2.216,0 4,1.784 4,4 v 116 c 0,2.216 -1.784,4 -4,4 H 84 c -2.216,0 -4,-1.784 -4,-4 V 32 c 0,-2.216 1.784,-4 4,-4 z m 44,131.20312 c 22.00602,2e-5 40,17.99399 40,40 0,22.00604 -17.99398,40 -40,40 -22.00602,0 -40,-17.99396 -40,-40 0,-22.00602 17.99398,-40 40,-40 z"
transform="translate(0,229.26666)"
id="rect4502"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Thumbpad"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:14.41481686;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 128,159.20312 c -22.00602,0 -40,17.99398 -40,40 0,22.00604 17.99398,40 40,40 22.00602,0 40,-17.99396 40,-40 0,-22.00602 -17.99398,-39.99998 -40,-40 z m 0,7.20704 A 32.792591,32.792591 0 0 1 160.79297,199.20312 32.792591,32.792591 0 0 1 128,231.99414 32.792591,32.792591 0 0 1 95.207031,199.20312 32.792591,32.792591 0 0 1 128,166.41016 Z"
id="path4574"
inkscape:connector-curvature="0" />
<circle
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:14.41481686;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path4505"
cx="128"
cy="199.20248"
r="32.792591" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Numpad"
style="display:inline">
<rect
style="opacity:0.1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4508"
width="96"
height="124"
x="80"
y="28"
rx="4"
ry="4" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Buttons"
style="display:inline">
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4510"
width="24"
height="24"
x="88"
y="36"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="36"
x="116"
height="24"
width="24"
id="rect4512"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4514"
width="24"
height="24"
x="144"
y="36"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="64"
x="88"
height="24"
width="24"
id="rect4516"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4518"
width="24"
height="24"
x="116"
y="64"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="64"
x="144"
height="24"
width="24"
id="rect4520"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4522"
width="24"
height="24"
x="88"
y="92"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="92"
x="116"
height="24"
width="24"
id="rect4524"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4526"
width="24"
height="24"
x="144"
y="92"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="120"
x="88"
height="24"
width="24"
id="rect4528"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4530"
width="24"
height="24"
x="116"
y="120"
rx="4"
ry="4" />
<rect
ry="4"
rx="4"
y="120"
x="144"
height="24"
width="24"
id="rect4532"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.20000076;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="128"
height="128"
id="root"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="libretro-symbolic.svg"
viewBox="0 0 128 128">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.03125"
inkscape:cx="64"
inkscape:cy="64"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
showguides="true"
inkscape:window-width="1349"
inkscape:window-height="840"
inkscape:window-x="133"
inkscape:window-y="104"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:pagecheckerboard="true"
scale-x="1"
inkscape:snap-page="false">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="-635.53125"
originy="-706.75561"
spacingx="1"
spacingy="1" />
</sodipodi:namedview>
<metadata
id="metadata7">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-317.03125,-547.56)">
<path
style="opacity:1;fill-opacity:1;stroke:none;stroke-width:2.60679913;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 355.71608,577.42032 8.4721,10.4272 h -18.66509 l -3.9102,15.6408 h -13.11545 l 3.9102,-15.6408 h -7.73895 L 317.5,616.52231 h 20.85439 l -2.60679,10.4272 h 19.44916 l -13.68569,15.64079 h 11.82224 l 12.70814,-15.64079 h 29.9171 l 12.70814,15.64079 h 11.82224 l -13.68569,-15.64079 h 19.44916 l -2.60679,-10.4272 H 444.5 l -7.16869,-28.67479 h -7.73895 l 3.9102,15.6408 h -13.11545 l -3.9102,-15.6408 h -18.66509 l 8.4721,-10.4272 h -7.74912 l -9.1238,10.4272 h -16.822 l -9.1238,-10.4272 z m -2.73917,18.24759 h 13.034 v 13.034 h -13.034 z m 43.0407,0 h 13.03399 v 13.034 h -13.03399 z"
id="path4317-5-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
id="root"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="linux-symbolic.svg"
inkscape:export-filename="./tux-large.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"
viewBox="0 0 256 256">
<title
id="title20046">Tux</title>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.41176471"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.3444715"
inkscape:cx="114.29631"
inkscape:cy="173.13893"
inkscape:document-units="px"
inkscape:current-layer="layer6"
showgrid="false"
inkscape:window-width="1342"
inkscape:window-height="893"
inkscape:window-x="321"
inkscape:window-y="104"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
showborder="true"
inkscape:snap-intersection-paths="false"
inkscape:object-paths="true"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-nodes="true"
inkscape:pagecheckerboard="true"
scale-x="1"
inkscape:snap-page="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-others="false" />
<defs
id="defs27452" />
<metadata
id="metadata27455">
<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>Tux</dc:title>
<dc:date>20 June 2012</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Garrett LeSage</dc:title>
</cc:Agent>
</dc:creator>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:contributor>
<cc:Agent>
<dc:title>Larry Ewing, the creator of the original Tux graphic</dc:title>
</cc:Agent>
</dc:contributor>
<dc:subject>
<rdf:Bag>
<rdf:li>tux</rdf:li>
<rdf:li>Linux</rdf:li>
<rdf:li>penguin</rdf:li>
<rdf:li>logo</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:rights>
<cc:Agent>
<dc:title>Larry Ewing, Garrett LeSage</dc:title>
</cc:Agent>
</dc:rights>
<dc:source>https://github.com/garrett/Tux</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="Border"
transform="translate(0,-474)"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 0,474 v 8 248 H 256 V 474 Z m 16,16 H 240 V 714 H 16 Z"
id="rect4499"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Body"
style="display:inline"
transform="translate(0,-474)">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 130.52255,496.30407 c -1.10691,0.01 -2.04576,0.0624 -2.75015,0.12393 -3.14956,0.27461 -16.3987,3.45362 -22.58249,15.92252 -1.92099,3.79716 -3.18599,8.4656 -3.29605,14.19218 -0.46685,24.29127 1.0573,20.53462 0.11686,31.681 -0.34611,4.10215 -2.167892,10.25332 -5.159188,16.25715 -3.419969,6.86423 -7.940251,12.23896 -10.59574,16.18455 -5.433664,8.07348 -10.680122,15.06476 -14.639522,23.0859 -2.249982,4.55813 -3.866615,10.96625 -4.569019,15.57375 -0.458137,3.00485 -0.519793,6.86719 -0.424917,10.51961 1.1444,-0.7568 2.524884,-1.35386 4.220829,-1.65305 l 0.0019,-6.4e-4 0.0026,-6.4e-4 c 0.476475,-0.0832 0.971272,-0.11944 1.476583,-0.10683 1.515923,0.0378 3.129839,0.5156 4.652825,1.48602 2.030237,1.29365 3.983659,3.3701 6.06803,6.47702 l 0.0013,0.002 c 5.527469,8.22243 12.511824,17.68189 19.123559,27.71216 3.1e-4,3.1e-4 3.1e-4,9.3e-4 6.5e-4,9.3e-4 0.0435,0.0651 0.0875,0.12423 0.13102,0.18826 3.15899,-1.93323 5.45557,-4.87303 4.27099,-9.11857 -0.98247,-3.52107 -5.97499,-6.37993 -13.099201,-11.79435 -3.871218,-2.94217 -5.771938,-4.77665 -7.294381,-6.45753 -0.87318,-0.7723 -1.643648,-1.6005 -2.326413,-2.48045 -0.04442,-0.0495 -0.08884,-0.0986 -0.132788,-0.14871 -6.5e-4,-0.009 -0.0013,-0.0168 -0.0019,-0.0254 -2.600723,-3.43691 -3.879035,-7.66434 -4.564301,-12.56392 -0.958539,-6.85321 1.257571,-22.19123 10.578034,-30.50716 0.181869,-0.16224 0.371976,-0.25984 0.480984,-0.26675 0.140156,-0.01 0.146561,0.13179 -0.169375,0.47508 -7.463089,8.10822 -9.963056,19.37153 -8.814635,28.81458 0.325887,2.68913 1.155134,5.16101 2.308114,7.45905 0.144367,-8.55025 1.892645,-14.43581 4.199584,-22.06906 2.236285,-6.50189 5.6325,-14.05538 8.730829,-16.86678 2.23098,-7.58808 2.068422,-5.1214 5.388169,-12.38097 2.76354,-6.04332 4.91286,-18.31862 5.57701,-22.74538 -0.59529,-0.56483 -1.22331,-1.14321 -1.84838,-1.76575 -0.26538,-0.26438 -0.39494,-0.51467 -0.50105,-0.73948 l -1.77756,-2.05731 -0.0389,-0.0501 c -1.14224,-1.47094 -0.97698,-3.16811 -0.6657,-4.33945 0.31107,-1.17042 0.81675,-2.0934 1.22636,-2.75014 3e-4,-3.1e-4 3e-4,-9.3e-4 6.5e-4,-9.3e-4 l 6.5e-4,-6.6e-4 c 1.07867,-1.73122 2.58799,-3.20949 4.16239,-4.4439 -1.26673,-1.65077 -2.15406,-3.89228 -2.69644,-6.23033 -1.18846,-5.13261 0.0948,-10.7977 3.46306,-11.9714 h 6.6e-4 c 0.77691,-0.27111 1.50452,-0.39839 2.18476,-0.39717 3.6734,0.007 5.95098,3.75537 6.97217,8.781 0.26752,1.34264 0.35305,2.68479 0.2939,3.96705 1.26692,-0.37366 2.60789,-0.61456 3.96883,-0.72354 v -6.5e-4 c 2.19905,-0.17609 4.08888,0.12975 5.95176,0.67575 -0.041,-1.6916 0.13753,-4.0627 0.98381,-6.87066 1.3556,-4.46558 5.47941,-7.77867 9.74944,-7.72815 1.19561,0.0141 2.40235,0.29223 3.5634,0.88229 5.30763,2.69757 6.28806,9.701 5.01577,13.64806 -0.63937,1.98363 -1.99484,4.23326 -3.23467,5.96356 0.96294,0.40606 1.77224,0.80329 2.45624,1.23463 l 0.002,6.4e-4 0.002,9.2e-4 c 1.55072,0.98151 2.54118,2.68583 2.81034,4.08981 l 9.2e-4,0.008 9.4e-4,0.008 c 0.22674,1.22456 0.12815,2.40444 -0.0922,3.66194 -0.22022,1.25751 -0.46814,2.46124 -1.41226,3.67493 l -0.003,0.004 -0.003,0.003 c -0.41415,0.52933 -0.89986,0.92392 -1.36622,1.23462 1.13157,5.95361 2.58351,15.10678 6.17072,23.13724 2.53862,5.68317 2.70581,5.37855 3.97473,11.58662 1.62373,1.29154 4.34379,5.86781 4.91251,6.94676 5.94333,12.45458 8.03928,21.40025 7.63606,32.06284 0.42994,-0.008 0.89595,-0.0224 1.36092,-0.0349 0.39806,-0.0723 0.8127,-0.14041 1.25409,-0.20124 1.64709,-3.08014 3.07302,-6.84582 3.33853,-10.17909 0.69342,-8.70549 -2.08861,-17.67713 -10.41043,-25.55455 -0.2476,-0.23439 -0.28638,-0.31641 -0.21894,-0.3063 0.0675,0.0102 0.24107,0.11228 0.4196,0.24729 7.18602,5.4349 12.22858,13.24855 12.61881,23.39219 0.14149,3.67776 -1.12249,8.51887 -2.41433,12.08412 0.4719,-0.0279 0.95528,-0.0517 1.45946,-0.0685 0.9622,-0.0323 1.95644,-0.0443 2.96319,-0.0296 3.02029,0.0442 6.15494,0.33109 8.88605,1.05167 1.82072,0.48038 3.49033,1.13358 4.86293,2.28452 1.21653,1.02009 2.13511,2.653 2.18889,4.40436 h 1.37507 c 1.51341,-5.75917 1.95558,-9.60919 1.66013,-14.58936 -0.70621,-11.90498 -8.18508,-24.50427 -17.95857,-38.85557 -3.29612,-4.83997 -7.15269,-9.84561 -9.89228,-14.1367 -3.17376,-4.97114 -6.47954,-10.72051 -7.75354,-15.94436 -0.95924,-3.93328 -1.36693,-11.35721 -1.49781,-23.7215 0.4661,-18.94476 -5.39855,-27.69085 -12.4962,-33.14732 -5.76697,-4.43336 -13.72503,-5.20694 -18.5216,-5.16508 z"
id="path4586"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 104.85765,560.16887 c -0.0107,-0.0461 -0.002,0.0674 0.076,0.26085 -0.0254,-0.0964 -0.0706,-0.23653 -0.076,-0.26085 z"
id="path4584"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 156.76639,668.34174 c -5.01612,5.97436 -11.77727,10.60102 -19.43006,12.37476 -7.8367,1.81646 -16.13249,1.81224 -23.94977,-0.1 -3.01874,-0.78234 -5.96583,-1.90714 -8.6493,-3.50739 3.34627,3.71112 7.13095,7.68923 7.645,12.92189 0.18978,1.82259 0.21412,3.67538 -0.0348,5.49354 5.46686,-1.87695 11.35146,-1.89912 17.06823,-1.98493 8.28605,0.10704 16.62595,1.69116 24.18809,5.13579 -0.60198,-3.58008 -0.67842,-7.257 0.16755,-10.80775 0.97005,-5.39374 2.92137,-10.65883 2.89871,-16.19326 0.0356,-1.11079 0.0655,-2.22177 0.0964,-3.33269 z"
id="path4540"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Feets"
style="display:inline"
transform="translate(0,-474)">
<path
d="m 57.980861,653.24151 c -3.732442,1.79325 -12.327073,1.75679 -14.412017,5.32888 -2.288999,3.92911 -0.809132,8.28124 -0.787316,13.29673 0.0073,3.55005 -0.05104,7.50131 -1.545354,11.70749 -1.224763,3.46276 -1.64025,4.68739 0.116531,7.7346 1.756831,3.0545 9.381945,4.51976 19.697084,6.98377 10.322369,2.45677 7.034626,0.64151 18.589148,5.15389 7.158575,2.79919 17.262273,6.23287 23.808553,1.12266 2.41295,-1.88815 6.37124,-6.15983 6.61192,-10.32239 0.13853,-2.37652 -0.0802,-4.91339 -0.64879,-6.45155 -1.8881,-5.13235 -5.66422,-7.32648 -9.2507,-12.6918 -6.568272,-9.96533 -13.544604,-19.41289 -19.121359,-27.70876 -3.936491,-5.86828 -7.100294,-7.28988 -9.775736,-6.82333 -8.222956,1.45064 -5.569367,8.96641 -13.28211,12.66981 v 0 0 h 9.7e-5 z"
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3218"
inkscape:connector-curvature="0" />
<path
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 195.16459,644.2809 c -3.24065,6.81215 -7.70014,13.76183 -15.03576,16.64521 -4.69735,2.17878 -11.4075,2.09826 -14.43856,-2.73808 -2.43287,-3.93982 -3.25274,-8.68083 -3.3451,-13.25324 -3.06559,2.94791 -2.61849,7.65613 -2.77227,11.55563 -0.2647,6.41898 -0.28431,12.85678 -0.72931,19.26533 -1.07262,7.41835 -4.39295,14.75975 -2.87937,22.35746 0.44168,5.90027 6.03288,9.73345 11.45226,10.59623 5.55229,1.0529 11.64739,-0.30281 15.71768,-4.3693 4.8897,-4.42241 10.22361,-8.33127 15.5129,-12.25837 6.28584,-4.40213 13.11944,-8.09964 18.94539,-13.12069 3.16284,-2.71775 0.88507,-6.75175 -1.65703,-8.89731 -3.67141,-3.89926 -8.8049,-6.75497 -10.61531,-12.09347 -1.7018,-3.85499 -0.60936,-8.99907 -4.28507,-11.85925 -1.52207,-1.58452 -3.82656,-1.65595 -5.87045,-1.83015 z"
id="path3220"
inkscape:connector-curvature="0" />
<path
d="m 192.77343,643.70026 c 0.12797,-0.24032 0.38718,-1.20402 0.40679,-1.39974 0.48968,-4.88035 -9.00422,-5.97851 -16.39387,-5.73203 -3.35313,0.11184 -5.96636,0.5073 -7.52701,0.96804 -2.71886,0.8027 -4.0576,2.64405 -4.35882,4.94765 -0.60978,4.66347 0.77404,14.51509 5.40121,16.67049 4.78495,2.22883 12.03121,-0.95264 16.30875,-5.75158 2.89655,-3.24952 4.74107,-7.03289 6.16295,-9.70283 z"
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3232"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Eyes"
style="display:inline"
transform="translate(0,-474)">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 139.30471,546.69137 c 0.96241,-0.55408 1.82307,-1.42861 2.45744,-2.58785 1.75701,-3.20061 1.13023,-7.36406 -1.3851,-9.3033 -2.52256,-1.9394 -5.98605,-0.91137 -7.73582,2.28925 -1.22475,2.23097 -1.29068,4.93593 -0.36473,7.02113 z"
id="path4538"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 115.76382,543.6733 c 0.10934,-0.38647 0.18929,-0.80197 0.2402,-1.23935 0.39368,-3.33178 -1.18116,-6.78081 -3.5215,-7.69215 -2.34031,-0.91134 -4.55657,1.05725 -4.95028,4.38903 -0.37907,3.2006 1.05712,6.50327 3.23704,7.56763 z"
id="path4517"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Beak"
style="display:inline"
transform="translate(0,-474)">
<path
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 123.65366,542.91966 c -3.46806,-0.089 -6.78787,1.17279 -9.66358,3.0332 -3.41024,2.19641 -7.22906,4.48078 -8.86078,8.39494 -1.14572,1.98067 0.4574,3.48281 2.27178,4.01857 2.99315,1.74047 6.03833,3.52813 9.47327,4.23289 6.40629,1.53613 13.11514,-0.58143 18.51281,-4.06957 2.40308,-1.42566 4.5743,-3.19744 6.79341,-4.87147 1.61556,-0.68033 2.80452,0.86657 0.73719,1.37893 -2.56641,1.43382 -4.79272,3.41175 -7.34973,4.87534 -3.92237,2.49668 -8.43959,4.1056 -13.06458,4.58815 -4.69224,0.40822 -9.23916,-1.37876 -13.17468,-3.78776 -0.64675,-0.29347 -3.07711,-1.98269 -1.61915,-0.50791 2.23422,1.91901 4.07099,4.21701 5.97164,6.44985 2.1587,2.40133 5.2884,3.80444 8.51254,3.86975 5.08076,0.4474 9.9237,-1.83757 13.89828,-4.81073 3.07478,-2.30006 5.86087,-5.02779 9.31891,-6.77114 1.66263,-1.34192 1.77014,-3.78773 1.7315,-5.76359 -0.12892,-2.38919 -2.594,-3.31057 -4.47643,-4.07542 -4.69471,-1.72525 -9.41415,-3.38205 -14.07736,-5.19581 -1.5877,-0.55619 -3.24438,-0.96836 -4.93504,-0.98822 z m 2.08799,2.22903 c 1.36499,-0.64141 3.28324,2.51025 1.15349,1.7674 -0.83725,-0.47227 -2.22969,-0.97935 -2.69808,-1.53806 0.4896,-0.19145 1.02402,-0.23044 1.54459,-0.22934 z m -6.3631,0.0567 c 1.53803,0.19862 -1.50653,1.87133 -2.12525,1.89362 -1.22538,-1.17249 1.17191,-2.03433 2.12525,-1.89362 z"
id="path3222"
inkscape:connector-curvature="0" />
<path
d="m 120.06194,545.47038 c -0.31361,-0.46681 -1.61954,-0.22616 -2.24687,0 -0.62012,0.23346 -1.10155,0.91188 -0.84613,1.3715 0.13122,0.2334 0.41575,0.3502 0.63454,0.30635 0.33561,-0.073 0.69305,-0.44501 1.14528,-0.78783 0.48149,-0.37207 1.18175,-0.70026 1.313,-0.89002 v 0 z"
style="display:inline;opacity:0.05;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3234"
inkscape:connector-curvature="0" />
<path
d="m 124.11766,545.48502 c -0.18972,-0.19696 2.12284,-0.67119 3.03452,0.0437 0.91904,0.71489 0.86075,1.27652 0.5836,1.57564 -0.29172,0.30635 -2.98354,-1.36407 -3.61812,-1.61949 v 10e-5 z"
style="display:inline;opacity:0.05;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3236"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="730"
height="730"
id="root"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="linux-symbolic.svg"
inkscape:export-filename="./tux-large.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"
viewBox="0 0 730 730">
<title
id="title20046">Tux</title>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.41176471"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.95068493"
inkscape:cx="348.0196"
inkscape:cy="367.78419"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="false"
inkscape:window-width="1342"
inkscape:window-height="893"
inkscape:window-x="321"
inkscape:window-y="104"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
showborder="true"
inkscape:snap-intersection-paths="false"
inkscape:object-paths="true"
inkscape:object-nodes="false"
inkscape:snap-smooth-nodes="false"
inkscape:snap-nodes="true"
inkscape:pagecheckerboard="true"
scale-x="1" />
<defs
id="defs27452" />
<metadata
id="metadata27455">
<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>Tux</dc:title>
<dc:date>20 June 2012</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Garrett LeSage</dc:title>
</cc:Agent>
</dc:creator>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:contributor>
<cc:Agent>
<dc:title>Larry Ewing, the creator of the original Tux graphic</dc:title>
</cc:Agent>
</dc:contributor>
<dc:subject>
<rdf:Bag>
<rdf:li>tux</rdf:li>
<rdf:li>Linux</rdf:li>
<rdf:li>penguin</rdf:li>
<rdf:li>logo</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:rights>
<cc:Agent>
<dc:title>Larry Ewing, Garrett LeSage</dc:title>
</cc:Agent>
</dc:rights>
<dc:source>https://github.com/garrett/Tux</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Body"
style="display:inline">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 375.13867,10.09375 c -3.66326,0.03197 -6.77038,0.206488 -9.10156,0.410156 -10.4234,0.908799 -54.2712,11.429694 -74.73633,52.695313 -6.35748,12.566619 -10.54394,28.016723 -10.9082,46.968751 -1.54506,80.39146 3.4991,67.95894 0.38672,104.84765 -1.14543,13.576 -7.17459,33.93317 -17.07422,53.80274 -11.31832,22.71703 -26.27812,40.50464 -35.06641,53.5625 -17.98261,26.71901 -35.34567,49.85651 -48.44922,76.40234 -7.44627,15.08505 -12.7965,36.29261 -15.12109,51.54102 -1.51619,9.94449 -1.72024,22.72688 -1.40625,34.81445 3.78737,-2.50461 8.35605,-4.48055 13.96875,-5.4707 l 0.006,-0.002 0.008,-0.002 c 1.57689,-0.27501 3.21441,-0.39521 4.88672,-0.35351 5.01693,0.12511 10.35815,1.70636 15.39844,4.91797 6.71903,4.28129 13.18385,11.15327 20.08203,21.43554 l 0.004,0.006 c 18.29306,27.21198 41.40764,58.51788 63.28907,91.71289 0.001,0.001 0.001,0.003 0.002,0.004 0.14379,0.21509 0.28952,0.41113 0.43359,0.62305 10.45462,-6.39803 18.05508,-16.12723 14.13477,-30.17774 -3.25148,-11.65297 -19.77411,-21.11432 -43.35156,-39.0332 -12.81173,-9.73707 -19.10212,-15.80821 -24.14063,-21.3711 -2.88977,-2.55588 -5.43962,-5.29682 -7.69922,-8.20898 -0.14698,-0.16378 -0.29399,-0.3263 -0.43945,-0.49219 -0.002,-0.0284 -0.004,-0.0556 -0.006,-0.084 -8.60705,-11.37446 -12.8376,-25.36501 -15.10547,-41.58008 -3.17227,-22.6806 4.16191,-73.4415 35.00781,-100.96289 0.60188,-0.53696 1.23104,-0.85995 1.5918,-0.88281 0.46384,-0.0294 0.48505,0.43616 -0.56054,1.57226 -24.69895,26.83401 -32.97255,64.10975 -29.17188,95.36133 1.07852,8.89957 3.8229,17.08027 7.63867,24.68555 0.47778,-28.29688 6.26367,-47.77501 13.89844,-73.03711 7.40094,-21.51787 18.64066,-46.51601 28.89453,-55.82031 7.38337,-25.11258 6.8454,-16.9492 17.83203,-40.97461 9.14593,-20.00023 16.25903,-60.62511 18.45703,-75.27539 -1.97015,-1.86927 -4.04854,-3.78342 -6.11718,-5.84375 -0.87825,-0.87493 -1.30706,-1.70327 -1.65821,-2.44727 l -5.88281,-6.80859 -0.12891,-0.16602 c -3.78025,-4.86807 -3.23335,-10.4848 -2.20312,-14.36133 1.02942,-3.87348 2.70298,-6.92807 4.05859,-9.10156 10e-4,-0.001 0.001,-0.003 0.002,-0.004 l 0.002,-0.002 c 3.56986,-5.72948 8.56494,-10.62178 13.77539,-14.70703 -4.19222,-5.46318 -7.12884,-12.88145 -8.92383,-20.61914 -3.93321,-16.98632 0.31385,-35.73484 11.46094,-39.61914 h 0.002 c 2.57117,-0.89727 4.97917,-1.31848 7.23047,-1.31445 12.157,0.0218 19.69461,12.42832 23.07422,29.06054 0.88536,4.44345 1.16839,8.88526 0.97266,13.12891 4.19285,-1.2366 8.63076,-2.03386 13.13476,-2.39453 v -0.002 c 7.27771,-0.58278 13.53207,0.42939 19.69727,2.23633 -0.13578,-5.59829 0.45515,-13.4454 3.25586,-22.73828 4.48635,-14.77875 18.13404,-25.74333 32.26562,-25.57617 3.95684,0.0468 7.95051,0.96713 11.79297,2.91992 17.56551,8.92755 20.81021,32.10527 16.59961,45.16797 -2.11599,6.56481 -6.60188,14.00993 -10.70508,19.73633 3.18686,1.34387 5.86523,2.65845 8.12891,4.08594 l 0.006,0.002 0.006,0.004 c 5.13209,3.24828 8.41001,8.88869 9.30078,13.53516 l 0.004,0.0254 0.004,0.0234 c 0.75039,4.05268 0.42414,7.95743 -0.30469,12.11914 -0.72882,4.16171 -1.54931,8.14543 -4.67383,12.16211 l -0.008,0.0117 -0.008,0.008 c -1.37065,1.75182 -2.97808,3.0577 -4.52148,4.08594 3.74493,19.70338 8.55006,49.99565 20.42187,76.57226 8.40153,18.80838 8.95486,17.80029 13.1543,38.34571 5.37375,4.27436 14.37571,19.41942 16.25781,22.99023 19.66937,41.21814 26.60587,70.82366 25.27148,106.11133 1.42284,-0.0254 2.96506,-0.0739 4.50391,-0.11524 1.31735,-0.23936 2.68962,-0.46468 4.15039,-0.66601 5.45099,-10.19364 10.17014,-22.65608 11.04883,-33.6875 2.29483,-28.81062 -6.91223,-58.50212 -34.45313,-84.57227 -0.81944,-0.77573 -0.94782,-1.04717 -0.72461,-1.01367 0.2232,0.0335 0.79779,0.37153 1.38868,0.81836 23.782,17.98671 40.47024,43.84582 41.76171,77.41602 0.46821,12.17149 -3.71488,28.19306 -7.99023,39.99218 1.56174,-0.0918 3.16153,-0.17091 4.83008,-0.22656 3.18442,-0.1067 6.47477,-0.14646 9.80664,-0.0977 9.99559,0.1464 20.36968,1.09576 29.4082,3.48047 6.02568,1.58981 11.55122,3.75156 16.09375,7.56055 4.02614,3.37599 7.06616,8.78007 7.24414,14.57617 h 4.55078 c 5.00857,-19.05983 6.47195,-31.80139 5.49414,-48.2832 -2.33717,-39.3993 -27.08837,-81.09646 -59.43359,-128.5918 -10.9084,-16.01776 -23.67165,-32.58384 -32.73828,-46.78515 -10.50347,-16.45189 -21.44394,-35.47932 -25.66016,-52.76758 -3.17458,-13.0171 -4.52385,-37.58642 -4.95703,-78.50586 C 479.33411,74.19061 459.92513,45.24558 436.43555,27.1875 417.34989,12.515383 391.01283,9.9552177 375.13867,10.09375 Z"
id="path4586" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 290.20117,221.45312 c -0.0352,-0.1523 -0.005,0.22287 0.25195,0.86329 -0.0841,-0.31894 -0.23335,-0.78278 -0.25195,-0.86329 z"
id="path4584" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 461.99219,579.44922 c -16.60074,19.77209 -38.97668,35.08391 -64.30343,40.9541 -25.93538,6.01149 -53.39022,5.99752 -79.2613,-0.3309 -9.99047,-2.58908 -19.7438,-6.3116 -28.62473,-11.60758 11.07443,12.28186 23.59976,25.44734 25.30099,42.76473 0.62806,6.03186 0.70863,12.16359 -0.11539,18.18078 18.09252,-6.21171 37.56749,-6.28515 56.48706,-6.56908 27.42249,0.35424 55.02323,5.59688 80.05005,16.99681 -1.99228,-11.84822 -2.24524,-24.01693 0.55448,-35.76806 3.21033,-17.85046 9.66819,-35.27522 9.59317,-53.59127 0.11786,-3.67616 0.21676,-7.35292 0.3191,-11.02953 z"
id="path4540"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Feets"
style="display:inline">
<path
d="m -24.936677,186.83749 c -12.352446,5.93475 -40.796223,5.81407 -47.696314,17.63584 -7.575394,13.00331 -2.677794,27.4066 -2.605596,44.00528 0.02444,11.74882 -0.168932,24.82544 -5.114325,38.74571 -4.053332,11.45993 -5.428377,15.5128 0.385657,25.59751 5.814199,10.10885 31.049374,14.95807 65.18713,23.11266 34.161701,8.13064 23.2809695,2.12307 61.520441,17.05667 23.691164,9.2639 57.129174,20.62758 78.793944,3.71544 7.98562,-6.24874 21.08556,-20.38583 21.88207,-34.16171 0.45845,-7.86507 -0.26573,-16.26081 -2.14715,-21.35129 -6.2487,-16.98546 -18.74567,-24.2469 -30.61506,-42.00332 C 92.916565,226.21025 69.828506,194.9437 51.372347,167.48868 38.344598,148.0677 27.874061,143.36298 19.019733,144.90699 c -27.2137201,4.80087 -18.43172079,29.6742 -43.956903,41.9305 v 0 0 h 3.29e-4 z"
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3218"
inkscape:connector-curvature="0"
transform="translate(160,342.63782)" />
<path
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 589.07031,499.82031 c -10.72483,22.54469 -25.48347,45.54455 -49.76057,55.08703 -15.54579,7.21064 -37.75291,6.94415 -47.7841,-9.0616 -8.05159,-13.03871 -10.7649,-28.72904 -11.0706,-43.86136 -10.1455,9.75609 -8.66584,25.33785 -9.17474,38.24314 -0.87603,21.24348 -0.94095,42.54923 -2.41365,63.75826 -3.54986,24.55091 -14.53838,48.84711 -9.52925,73.9916 1.46174,19.52684 19.9657,32.21266 37.9011,35.068 18.37517,3.48456 38.54678,-1.00211 52.0173,-14.46012 16.18236,-14.63589 33.8349,-27.5722 51.33966,-40.56881 20.8029,-14.56881 43.41857,-26.80564 62.69942,-43.4227 10.46735,-8.99432 2.92915,-22.34481 -5.48391,-29.44547 -12.15049,-12.9045 -29.13959,-22.35543 -35.13116,-40.02312 -5.6321,-12.75803 -2.01664,-29.78226 -14.18133,-39.24794 -5.03731,-5.24397 -12.66397,-5.48037 -19.42817,-6.05691 z"
id="path3220"
inkscape:connector-curvature="0" />
<path
d="m 421.1568,155.26089 c 0.42353,-0.79533 1.2814,-3.98468 1.3463,-4.63236 1.62055,-16.15148 -29.79934,-19.78581 -54.25525,-18.97008 -11.0971,0.37008 -19.74554,1.67888 -24.91045,3.20374 -8.99805,2.65647 -13.4286,8.7504 -14.42547,16.37414 -2.01806,15.43367 2.56167,48.0374 17.8752,55.17064 15.83572,7.37631 39.81706,-3.1527 53.9735,-19.03473 9.58609,-10.75423 15.69053,-23.27522 20.39617,-32.11135 z"
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3232"
inkscape:connector-curvature="0"
transform="translate(160,342.63782)" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Eyes"
style="display:inline">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 404.20312,176.84961 c 3.18501,-1.83375 6.03336,-4.72798 8.13282,-8.56445 5.81479,-10.59237 3.74045,-24.37117 -4.58399,-30.78907 -8.34839,-6.41842 -19.81068,-3.01619 -25.60156,7.57618 -4.05326,7.38337 -4.27143,16.33541 -1.20703,23.23632 z"
id="path4538"
inkscape:connector-curvature="0" />
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 326.29492,166.86133 c 0.36187,-1.279 0.62648,-2.65409 0.79492,-4.10156 1.30295,-11.02647 -3.90901,-22.44098 -11.65429,-25.45704 -7.74525,-3.01605 -15.07991,3.49893 -16.38282,14.52539 -1.25456,10.59237 3.49848,21.52247 10.71289,25.04493 z"
id="path4517"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Beak"
style="display:inline">
<path
style="display:inline;opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
d="m 352.40625,164.36719 c -11.47752,-0.29441 -22.46438,3.88138 -31.98148,10.03836 -11.28613,7.26895 -23.92444,14.82904 -29.32457,27.78288 -3.79175,6.55496 1.51379,11.52631 7.51843,13.29937 9.90577,5.76007 19.98369,11.67629 31.3516,14.00863 21.2015,5.08383 43.40428,-1.92418 61.26779,-13.46811 7.95297,-4.7182 15.13855,-10.58191 22.48268,-16.12207 5.34665,-2.25154 9.28152,2.8679 2.43967,4.56356 -8.49343,4.74517 -15.86137,11.2911 -24.3238,16.1348 -12.98094,8.26275 -27.93065,13.58747 -43.23696,15.18445 -15.52884,1.35098 -30.57682,-4.56299 -43.60136,-12.5355 -2.14038,-0.97128 -10.18362,-6.56174 -5.35852,-1.68099 7.39406,6.35097 13.47286,13.95613 19.76302,21.3457 7.1442,7.94714 17.50188,12.59077 28.1721,12.80684 16.81466,1.48068 32.84229,-6.08136 45.99609,-15.92105 10.17596,-7.61196 19.39644,-16.6393 30.84077,-22.40892 5.50242,-4.44103 5.85825,-12.53536 5.73035,-19.07444 -0.42667,-7.90701 -8.58478,-10.95632 -14.81465,-13.48757 -15.53708,-5.70971 -31.15598,-11.19283 -46.58876,-17.19547 -5.25446,-1.84065 -10.73718,-3.20474 -16.3324,-3.27047 z m 6.91016,7.37695 c 4.51739,-2.12273 10.86582,8.30761 3.81748,5.84917 -2.77088,-1.56298 -7.37917,-3.24115 -8.92932,-5.0902 1.62032,-0.63359 3.38899,-0.76262 5.11184,-0.75897 z m -21.0586,0.1875 c 5.0901,0.65738 -4.98583,6.1931 -7.03346,6.26692 -4.05537,-3.88033 3.87838,-6.73261 7.03346,-6.26692 z"
id="path3222"
inkscape:connector-curvature="0" />
<path
transform="translate(160,342.63782)"
d="m 180.51947,-169.82904 c -1.03787,-1.54489 -5.35979,-0.74848 -7.43599,0 -2.05222,0.7726 -3.64553,3.01786 -2.80021,4.53895 0.4343,0.77243 1.37596,1.15897 2.10001,1.01389 1.11069,-0.24146 2.29365,-1.4728 3.79029,-2.60737 1.59345,-1.23134 3.91094,-2.3175 4.34528,-2.94547 v 0 z"
style="display:inline;opacity:0.05;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3234"
inkscape:connector-curvature="0" />
<path
transform="translate(160,342.63782)"
d="m 193.94181,-169.78062 c -0.62784,-0.65178 7.0255,-2.22128 10.04271,0.14463 3.04154,2.36591 2.84866,4.22463 1.93144,5.21454 -0.96548,1.01389 -9.874,-4.51434 -11.97415,-5.35966 v 3.3e-4 z"
style="display:inline;opacity:0.05;fill-opacity:1;fill-rule:evenodd;stroke-width:0.32847095"
id="path3236"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
width="256"
viewBox="0 0 256 256"
version="1.1"
height="256"
id="root"
sodipodi:docname="mac-symbolic.svg"
inkscape:version="0.92.1 r15371">
<metadata
id="metadata10">
<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="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1424"
inkscape:window-height="812"
id="namedview6"
showgrid="false"
viewbox-x="0"
inkscape:snap-page="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:object-nodes="false"
inkscape:object-paths="true"
inkscape:zoom="1.6931893"
inkscape:cx="143.17803"
inkscape:cy="127.39767"
inkscape:window-x="136"
inkscape:window-y="201"
inkscape:window-maximized="0"
inkscape:current-layer="root" />
<path
d="m 212.39195,186.07171 c -3.15602,7.29106 -6.89172,14.00247 -11.22,20.17282 -5.89981,8.41177 -10.73048,14.23433 -14.4533,17.46764 -5.77102,5.30728 -11.95426,8.02531 -18.57547,8.17989 -4.75334,0 -10.48573,-1.35256 -17.15847,-4.09639 -6.69464,-2.73094 -12.84697,-4.0835 -18.47242,-4.0835 -5.89983,0 -12.22734,1.35256 -18.99541,4.0835 -6.77837,2.74383 -12.23894,4.1737 -16.413916,4.31539 -6.349409,0.27052 -12.678207,-2.52481 -18.995413,-8.39889 -4.031985,-3.51673 -9.075186,-9.54539 -15.116721,-18.08596 -6.482092,-9.12027 -11.811268,-19.69619 -15.986241,-31.7535 -4.471251,-13.02342 -6.712674,-25.63465 -6.712674,-37.84397 0,-13.98571 3.022056,-26.04816 9.075186,-36.156458 4.757226,-8.119375 11.086026,-14.524176 19.007008,-19.226008 7.920981,-4.701832 16.479611,-7.097835 25.696494,-7.251137 5.043201,0 11.656687,1.559988 19.875247,4.625836 8.19536,3.076166 13.45754,4.63614 15.76467,4.63614 1.72487,0 7.57058,-1.824052 17.48051,-5.460568 9.37147,-3.372438 17.28085,-4.768815 23.76038,-4.218776 17.55782,1.416994 30.74871,8.338349 39.52117,20.807887 -15.70284,9.514444 -23.47053,22.840604 -23.31594,39.935964 0.14169,13.31587 4.97235,24.39673 14.46619,33.19494 4.3025,4.08355 9.10738,7.23956 14.45331,9.48097 -1.15936,3.36215 -2.38312,6.58256 -3.68419,9.67418 z M 172.12365,27.613438 c 0,10.436911 -3.813,20.181821 -11.4132,29.201616 -9.17184,10.722763 -20.26559,16.918879 -32.29584,15.941151 -0.15329,-1.252104 -0.24218,-2.569909 -0.24218,-3.954684 0,-10.01942 4.36177,-20.742183 12.10755,-29.509501 3.8671,-4.439048 8.78535,-8.130051 14.7496,-11.074428 5.95136,-2.900451 11.58067,-4.504486 16.87506,-4.779126 0.15458,1.395223 0.21901,2.790573 0.21901,4.174843 z"
id="path2"
inkscape:connector-curvature="0"
style="stroke-width:1;" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 0,0 V 8 256 H 256 V 0 Z M 16,16 H 240 V 240 H 16 Z"
id="rect4487"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -0,0 +1,610 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.3, 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="root"
x="0px"
y="0px"
width="180"
height="180"
viewBox="0 -0.001 180 180"
enable-background="new 0 -0.001 566.929 157.78"
xml:space="preserve"
sodipodi:docname="mame-symbolic.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata339"><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 /></cc:Work></rdf:RDF></metadata><defs
id="defs337" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1450"
inkscape:window-height="797"
id="namedview335"
showgrid="false"
fit-margin-top="29"
fit-margin-left="3"
fit-margin-right="7"
fit-margin-bottom="29"
inkscape:zoom="3.3388889"
inkscape:cx="46.422629"
inkscape:cy="90"
inkscape:window-x="111"
inkscape:window-y="135"
inkscape:window-maximized="0"
inkscape:current-layer="layer2"
scale-x="1"
inkscape:pagecheckerboard="true" /><linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="558.12842"
y1="955.59772"
x2="11.77"
y2="955.59772"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#013A67"
id="stop2" /><stop
offset="1"
style="stop-color:#6CD1FF"
id="stop4" /></linearGradient><linearGradient
id="SVGID_2_"
gradientUnits="userSpaceOnUse"
x1="64.709503"
y1="938.78912"
x2="60.764999"
y2="934.84479"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop9" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop11" /></linearGradient><linearGradient
id="SVGID_3_"
gradientUnits="userSpaceOnUse"
x1="123.2954"
y1="1013.9102"
x2="119.6701"
y2="1010.2849"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop16" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop18" /></linearGradient><linearGradient
id="SVGID_4_"
gradientUnits="userSpaceOnUse"
x1="25.7236"
y1="994.05078"
x2="25.7236"
y2="989.73828"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop23" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop25" /></linearGradient><linearGradient
id="SVGID_5_"
gradientUnits="userSpaceOnUse"
x1="121.1855"
y1="1033.1816"
x2="121.1855"
y2="1028.7246"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop30" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop32" /></linearGradient><linearGradient
id="SVGID_6_"
gradientUnits="userSpaceOnUse"
x1="427.69379"
y1="994.02338"
x2="427.69379"
y2="989.55658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop37" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop39" /></linearGradient><linearGradient
id="SVGID_7_"
gradientUnits="userSpaceOnUse"
x1="251.0645"
y1="994.89447"
x2="251.0645"
y2="990.41602"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop44" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop46" /></linearGradient><linearGradient
id="SVGID_8_"
gradientUnits="userSpaceOnUse"
x1="522.28082"
y1="882.1875"
x2="522.28082"
y2="877.32422"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop51" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop53" /></linearGradient><linearGradient
id="SVGID_9_"
gradientUnits="userSpaceOnUse"
x1="515.01318"
y1="906.71478"
x2="515.01318"
y2="902.50488"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop58" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop60" /></linearGradient><linearGradient
id="SVGID_10_"
gradientUnits="userSpaceOnUse"
x1="459.3696"
y1="950.23053"
x2="459.3696"
y2="946.51172"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop65" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop67" /></linearGradient><linearGradient
id="SVGID_11_"
gradientUnits="userSpaceOnUse"
x1="490.16061"
y1="925.11133"
x2="490.16061"
y2="919.55658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop72" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop74" /></linearGradient><linearGradient
id="SVGID_12_"
gradientUnits="userSpaceOnUse"
x1="74.389198"
y1="968.8252"
x2="70.846001"
y2="965.28198"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop79" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop81" /></linearGradient><linearGradient
id="SVGID_13_"
gradientUnits="userSpaceOnUse"
x1="120.2554"
y1="904.36908"
x2="114.8892"
y2="904.36908"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop86" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop88" /></linearGradient><linearGradient
id="SVGID_14_"
gradientUnits="userSpaceOnUse"
x1="173.0811"
y1="919.96088"
x2="166.4209"
y2="919.96088"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop93" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop95" /></linearGradient><linearGradient
id="SVGID_15_"
gradientUnits="userSpaceOnUse"
x1="255.9883"
y1="925.21582"
x2="249.9951"
y2="925.21582"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop100" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop102" /></linearGradient><linearGradient
id="SVGID_16_"
gradientUnits="userSpaceOnUse"
x1="349.27689"
y1="904.625"
x2="343.57571"
y2="904.625"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop107" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop109" /></linearGradient><linearGradient
id="SVGID_17_"
gradientUnits="userSpaceOnUse"
x1="400.96039"
y1="918.44629"
x2="395.1636"
y2="918.44629"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop114" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop116" /></linearGradient><linearGradient
id="SVGID_18_"
gradientUnits="userSpaceOnUse"
x1="101.7651"
y1="968.93848"
x2="96.654297"
y2="968.93848"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop121" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop123" /></linearGradient><linearGradient
id="SVGID_19_"
gradientUnits="userSpaceOnUse"
x1="121.2485"
y1="973.83789"
x2="117.6964"
y2="970.28583"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop128" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop130" /></linearGradient><linearGradient
id="SVGID_20_"
gradientUnits="userSpaceOnUse"
x1="553.43597"
y1="892.5"
x2="549.76727"
y2="888.83112"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop135" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop137" /></linearGradient><linearGradient
id="SVGID_21_"
gradientUnits="userSpaceOnUse"
x1="145.99409"
y1="969.87891"
x2="140.5957"
y2="969.87891"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop142" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop144" /></linearGradient><linearGradient
id="SVGID_22_"
gradientUnits="userSpaceOnUse"
x1="148.7769"
y1="907.00983"
x2="144.28909"
y2="902.52197"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop149" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop151" /></linearGradient><linearGradient
id="SVGID_23_"
gradientUnits="userSpaceOnUse"
x1="215.8457"
y1="922.32129"
x2="211.688"
y2="918.16357"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop156" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop158" /></linearGradient><linearGradient
id="SVGID_24_"
gradientUnits="userSpaceOnUse"
x1="304.31589"
y1="927.81049"
x2="299.9317"
y2="923.42627"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop163" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop165" /></linearGradient><linearGradient
id="SVGID_25_"
gradientUnits="userSpaceOnUse"
x1="376.97119"
y1="906.86133"
x2="372.76331"
y2="902.65302"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop170" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop172" /></linearGradient><linearGradient
id="SVGID_26_"
gradientUnits="userSpaceOnUse"
x1="488.73779"
y1="935.26459"
x2="485.28159"
y2="931.80859"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop177" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop179" /></linearGradient><linearGradient
id="SVGID_27_"
gradientUnits="userSpaceOnUse"
x1="499.80811"
y1="979.37701"
x2="495.84851"
y2="975.41748"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop184" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop186" /></linearGradient><linearGradient
id="SVGID_28_"
gradientUnits="userSpaceOnUse"
x1="441.8374"
y1="921.61328"
x2="437.55469"
y2="917.33063"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop191" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop193" /></linearGradient><linearGradient
id="SVGID_29_"
gradientUnits="userSpaceOnUse"
x1="486.85889"
y1="916.64941"
x2="481.74481"
y2="911.53528"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop198" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop200" /></linearGradient><linearGradient
id="SVGID_30_"
gradientUnits="userSpaceOnUse"
x1="185.9771"
y1="992.33008"
x2="182.33521"
y2="988.68817"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop205" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop207" /></linearGradient><linearGradient
id="SVGID_31_"
gradientUnits="userSpaceOnUse"
x1="303.0278"
y1="969.13959"
x2="299.3873"
y2="965.49908"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop212" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop214" /></linearGradient><linearGradient
id="SVGID_32_"
gradientUnits="userSpaceOnUse"
x1="349.88919"
y1="973.08502"
x2="346.37991"
y2="969.57562"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop219" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop221" /></linearGradient><linearGradient
id="SVGID_33_"
gradientUnits="userSpaceOnUse"
x1="370.8042"
y1="993.63959"
x2="366.38129"
y2="989.21692"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop226" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop228" /></linearGradient><linearGradient
id="SVGID_34_"
gradientUnits="userSpaceOnUse"
x1="229.457"
y1="971.76862"
x2="223.4189"
y2="971.76862"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop233" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop235" /></linearGradient><linearGradient
id="SVGID_35_"
gradientUnits="userSpaceOnUse"
x1="330.3042"
y1="968.51862"
x2="325.09229"
y2="968.51862"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop240" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop242" /></linearGradient><linearGradient
id="SVGID_36_"
gradientUnits="userSpaceOnUse"
x1="374.97021"
y1="967.80658"
x2="368.7251"
y2="967.80658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop247" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop249" /></linearGradient><linearGradient
id="SVGID_37_"
gradientUnits="userSpaceOnUse"
x1="440.63721"
y1="959.6748"
x2="436.21909"
y2="955.25677"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop254" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop256" /></linearGradient><linearGradient
id="SVGID_38_"
gradientUnits="userSpaceOnUse"
x1="472.92041"
y1="969.50983"
x2="472.92041"
y2="963.70801"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop261" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop263" /></linearGradient><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Fill"
style="display:inline"
transform="translate(1.2651637,30.169886)"><path
id="path4837"
d="M 127.342,51.15 116.278,51.717 116.697,8.939 11.591,114.895 46.209,114.328 91.598,70.276 h 8.705 l -0.42,44.264 36.152,-36.997 h 8.644 v 37.687 l 23.576,0.43048 L 167.12,11.089 Z"
style="display:inline;opacity:0.8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccc" /></g><g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Outline"><path
transform="translate(139.17079,30.169886)"
style="display:inline;"
d="M 7.2646594,114.328 H 28.768427 l 4.197272,4.313 H 3.6235007 Z"
id="polygon4819"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 114.692,13.213 13.577,114.328 2.106,118.641 c 0,0 -0.604,0.039 -0.271,-0.445 0,0 117.26,-117.292 117.472,-117.471 0.212,-0.181 0.467,-0.028 0.467,-0.028 z"
id="path14"
inkscape:connector-curvature="0" /><polygon
transform="translate(1.2651637,30.169886)"
style="display:inline;"
points="13.603,114.328 46.209,114.328 48.982,118.641 2.106,118.641 "
id="polygon28" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 96.872,70.634 48.982,118.643 46.209,114.33 92.81,67.965 c 2,-2.313 4.675,-1.731 4.675,-1.731 z"
id="path84"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 114.71,51.669 V 13.193 l 5.063,-12.499 c 0,0 0.303,0.075 0.303,0.571 0,0.493 0,53.647 0,53.647 l -0.315,2.311 c 0,10e-4 -4.496,0.025 -5.051,-5.554 z"
id="path91"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
d="M 166.281,114.27252 C 166.201,106.95952 166.268,13.927 166.268,13.927 l 5.214,-13.896 c 0,0 0.182,-0.027 0.182,0.725 l -0.017,117.17588 c 0.0304,0.34268 -0.42879,0.71768 -0.77567,0.70912 z"
id="path98"
inkscape:connector-curvature="0"
style="display:inline;"
sodipodi:nodetypes="ccccccc" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 97.759,120.82 c 0,0 -0.833,-0.069 -0.809,-1.149 -0.001,-0.917 -0.078,-49.036 -0.078,-49.036 0,0 -1.218,-1.577 0.613,-4.4 0.547,0.131 3.495,0.727 4.101,4.256 v 40.37 z"
id="path126"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 140.843,78.598 c 0,0 -41.489,41.548 -41.883,41.938 -0.346,0.379 -1.202,0.282 -1.202,0.282 l 3.827,-9.963 36.059,-36.088 c 0,0 1.34,-1.727 3.831,-1.637 z"
id="path133"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
d="m 140.924,117.81057 c 0.0251,-0.60892 -0.079,-39.21957 -0.079,-39.21957 0,0 -1.301,-2.633 0.631,-5.456 0.593,-0.007 3.7,0.421 4.339,4.146 l -0.001,37.08687 -4.28487,4.27313 c -0.33823,0 -0.63026,-0.22151 -0.60513,-0.83043 z"
id="path147"
inkscape:connector-curvature="0"
style="display:inline;"
sodipodi:nodetypes="zcccccz" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 166.269,13.926 -41.462,41.463 c -1.987,1.986 -5.045,1.836 -5.045,1.836 -1.795,-3.531 0.315,-6.065 0.315,-6.065 0,0 50.503,-50.49 50.867,-50.87 0.331,-0.417 0.541,-0.264 0.541,-0.264 z"
id="path154"
inkscape:connector-curvature="0" /></g></svg>

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="mednafen-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5742187"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="false"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="186"
inkscape:window-y="116"
inkscape:window-maximized="0" />
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Head"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;stroke:none;"
d="M 128.58203 113.82031 A 116.15175 61.960548 0 0 0 55.404297 127.72266 C 65.410115 128.01325 74.593345 130.85043 81.507812 135.5293 C 88.812995 140.47254 93.708884 147.74718 93.369141 156.02734 C 93.02659 164.37591 87.494498 172.31984 79.648438 178.3125 C 71.802374 184.30516 61.435717 188.4043 50.548828 188.4043 C 31.646911 188.4043 17.674458 178.06411 14.650391 163.99219 A 116.15175 61.960548 0 0 0 12.431641 175.78125 A 116.15175 61.960548 0 0 0 128.58203 237.74219 A 116.15175 61.960548 0 0 0 244.73438 175.78125 A 116.15175 61.960548 0 0 0 242.51172 163.79102 C 239.57794 177.96519 225.56389 188.4043 206.57227 188.4043 C 195.68538 188.4043 185.31872 184.30516 177.47266 178.3125 C 169.62659 172.31984 164.0945 164.37591 163.75195 156.02734 C 163.41221 147.74718 168.3081 140.47254 175.61328 135.5293 C 182.54612 130.838 191.7601 127.99847 201.79688 127.7207 A 116.15175 61.960548 0 0 0 128.58203 113.82031 z M 63.283203 191.61133 A 7.5674408 24.442165 84.036445 0 1 81.169922 197.00977 A 7.5674408 24.442165 84.036445 0 1 57.658203 207.07617 A 7.5674408 24.442165 84.036445 0 1 32.550781 202.09375 A 7.5674408 24.442165 84.036445 0 1 56.064453 192.02539 A 7.5674408 24.442165 84.036445 0 1 63.283203 191.61133 z M 193.27539 191.61133 A 24.442165 7.5674408 5.9635552 0 1 200.49414 192.02539 A 24.442165 7.5674408 5.9635552 0 1 224.00781 202.09375 A 24.442165 7.5674408 5.9635552 0 1 198.90039 207.07617 A 24.442165 7.5674408 5.9635552 0 1 175.38867 197.00977 A 24.442165 7.5674408 5.9635552 0 1 193.27539 191.61133 z M 127.00781 194.24609 C 129.54612 194.40565 131.43375 195.9747 133.08594 197.60547 C 134.73813 199.23624 136.25552 201.08567 137.81836 202.49609 C 139.3812 203.90652 140.88701 204.81705 142.53125 204.96484 C 144.17549 205.11264 146.23544 204.57532 149.13477 202.25586 L 153.99414 198.36914 L 152.30859 204.35938 C 150.50376 210.77657 147.23997 218.61587 142.82031 224.89258 C 138.40065 231.16928 132.61646 236.16509 125.72656 235.52734 C 118.98358 234.90319 114.16149 229.69144 110.5625 223.55859 C 106.96351 217.42574 104.40863 210.11976 102.2793 204.3125 L 100.23828 198.74609 L 105.23242 201.9375 C 108.47278 204.00773 110.69866 204.42528 112.36914 204.19727 C 114.03962 203.96925 115.39911 203.0517 116.7832 201.69336 C 118.1673 200.33502 119.46176 198.58571 120.97656 197.06055 C 122.49137 195.53538 124.4756 194.08692 127.00781 194.24609 z "
transform="translate(0,229.26666)"
id="path5030" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Mouth">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 126.75586,198.23828 c 0.90141,0.0567 2.09278,0.80659 3.51953,2.21484 1.42675,1.40826 2.98863,3.3199 4.86328,5.01172 1.87465,1.69182 4.16402,3.22435 7.03516,3.48243 1.40958,0.1267 2.89504,-0.0814 4.44336,-0.64063 -1.79242,4.88845 -4.065,10.02066 -7.06641,14.2832 -4.04371,5.7428 -8.74777,9.3908 -13.45508,8.95508 -4.85421,-0.44932 -8.77347,-4.3685 -12.08398,-10.00976 -2.50309,-4.26539 -4.46682,-9.26106 -6.2461,-14.02539 1.84245,0.59697 3.57653,0.86441 5.14454,0.65039 2.82668,-0.38584 4.98462,-1.95355 6.67382,-3.61133 1.68921,-1.65778 3.02446,-3.45566 4.23047,-4.66992 1.20602,-1.21427 2.0339,-1.69767 2.94141,-1.64063 z"
id="path5038" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Eyes">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.26002932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 53.701172,133.95312 c 9.516138,0 18.235644,2.65891 24.298828,6.76172 6.063184,4.10282 9.348671,9.36736 9.115234,15.05664 -0.23063,5.62087 -4.455606,12.36357 -11.267578,17.56641 -6.811971,5.20284 -16.004937,8.80664 -25.298828,8.80664 -18.943382,0 -30.257816,-10.66053 -30.257812,-23.95312 1e-6,-6.4287 3.448105,-12.35271 9.449218,-16.84766 6.001114,-4.49495 14.504066,-7.39063 23.960938,-7.39063 z"
id="path5040" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.8;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.26002932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 203.41992,133.95312 c 9.45687,0 17.95983,2.89568 23.96094,7.39063 6.00111,4.49495 9.44922,10.41896 9.44922,16.84766 1e-5,13.29259 -11.31443,23.95312 -30.25781,23.95312 -9.2939,0 -18.48686,-3.6038 -25.29883,-8.80664 -6.81197,-5.20284 -11.035,-11.94554 -11.26563,-17.56641 -0.23343,-5.68928 3.0501,-10.95382 9.11328,-15.05664 6.06319,-4.10281 14.7827,-6.76172 24.29883,-6.76172 z"
id="use5043" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Ohgosh"
style="display:inline">
<path
style="opacity:0.2;fill-opacity:1;stroke:none;stroke-width:5.81732416;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 59.972658,204.38429 a 24.442163,7.5674477 0 0 1 -24.442163,7.56745 24.442163,7.5674477 0 0 1 -24.442164,-7.56745 24.442163,7.5674477 0 0 1 24.442164,-7.56745 24.442163,7.5674477 0 0 1 24.442163,7.56745 z"
id="path5045"
transform="matrix(0.99457406,-0.10403093,0.10530501,0.99443997,0,0)"
inkscape:connector-curvature="0" />
<path
id="use5047"
d="m 175.38858,197.0089 a 24.442165,7.5674408 5.9635552 0 0 23.51265,10.06811 24.442165,7.5674408 5.9635552 0 0 25.10643,-4.98263 24.442165,7.5674408 5.9635552 0 0 -23.51265,-10.06812 24.442165,7.5674408 5.9635552 0 0 -25.10643,4.98264 z"
style="opacity:0.2;fill-opacity:1;stroke:none;stroke-width:5.81732416;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Antenna">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="M 41.371094 27.689453 C 30.491626 27.689453 21.472656 36.207489 21.472656 46.810547 C 21.472656 57.413605 30.491626 65.931641 41.371094 65.931641 C 52.250562 65.931641 61.269531 57.413605 61.269531 46.810547 C 61.269531 46.657316 61.261558 46.505856 61.257812 46.353516 C 74.716064 51.771066 84.928699 58.064058 92.605469 66.646484 C 103.68249 79.030299 110.22076 96.82793 112.89648 126.02344 A 6.0006 6.0006 0 1 0 124.8457 124.92773 C 122.04687 94.38898 114.88909 73.560547 101.54883 58.646484 C 89.188616 44.828096 72.137463 36.645429 50.150391 29.683594 C 48.369691 28.835673 46.444657 28.242635 44.421875 27.939453 A 6.0006 6.0006 0 0 0 43.412109 27.791016 C 43.298086 27.779707 43.180955 27.780913 43.066406 27.771484 C 43.065118 27.771378 43.063789 27.77159 43.0625 27.771484 C 42.503174 27.725552 41.941687 27.689453 41.371094 27.689453 z M 41.371094 33.689453 C 49.157008 33.689453 55.269531 39.606402 55.269531 46.810547 C 55.269531 54.014692 49.157008 59.931641 41.371094 59.931641 C 33.585179 59.931641 27.472656 54.014692 27.472656 46.810547 C 27.472656 39.606402 33.585179 33.689453 41.371094 33.689453 z "
id="path5053" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="M 216.18164 17.587891 C 211.11953 17.587891 206.55442 19.676193 203.14648 23.033203 C 166.60101 45.23412 142.50736 80.414938 133.95508 125.125 A 6.0006 6.0006 0 1 0 145.74219 127.37891 C 152.75265 90.729241 170.39357 61.775121 197.40234 41.384766 C 199.06031 50.630093 206.78443 57.773438 216.18164 57.773438 C 226.80238 57.773438 235.30273 48.654127 235.30273 37.681641 C 235.30273 26.709154 226.80238 17.587891 216.18164 17.587891 z M 216.18164 23.449219 C 223.4449 23.449219 229.44336 29.697399 229.44336 37.681641 C 229.44336 45.665882 223.4449 51.912109 216.18164 51.912109 C 208.91838 51.912109 202.92186 45.665882 202.92188 37.681641 C 202.92188 29.697399 208.91838 23.449219 216.18164 23.449219 z "
id="path5055" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 41.371094,33.689453 c 7.785914,0 13.898437,5.916949 13.898437,13.121094 0,7.204145 -6.112523,13.121094 -13.898437,13.121094 -7.785915,0 -13.898438,-5.916949 -13.898438,-13.121094 0,-7.204145 6.112523,-13.121094 13.898438,-13.121094 z"
id="path5049" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.4;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.86093855;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 216.18164,23.449219 c 7.26326,0 13.26172,6.24818 13.26172,14.232422 0,7.984241 -5.99846,14.230468 -13.26172,14.230468 -7.26326,0 -13.25977,-6.246227 -13.25976,-14.230468 0,-7.984242 5.9965,-14.232422 13.25976,-14.232422 z"
id="circle5051" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,610 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.3, 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="root"
x="0px"
y="0px"
width="180"
height="180"
viewBox="0 -0.001 180 180"
enable-background="new 0 -0.001 566.929 157.78"
xml:space="preserve"
sodipodi:docname="mess-symbolic.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata339"><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 /></cc:Work></rdf:RDF></metadata><defs
id="defs337" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1450"
inkscape:window-height="797"
id="namedview335"
showgrid="false"
fit-margin-top="29"
fit-margin-left="3"
fit-margin-right="7"
fit-margin-bottom="29"
inkscape:zoom="3.3388889"
inkscape:cx="46.422629"
inkscape:cy="90"
inkscape:window-x="111"
inkscape:window-y="135"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"
scale-x="1"
inkscape:pagecheckerboard="true" /><linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="558.12842"
y1="955.59772"
x2="11.77"
y2="955.59772"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#013A67"
id="stop2" /><stop
offset="1"
style="stop-color:#6CD1FF"
id="stop4" /></linearGradient><linearGradient
id="SVGID_2_"
gradientUnits="userSpaceOnUse"
x1="64.709503"
y1="938.78912"
x2="60.764999"
y2="934.84479"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop9" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop11" /></linearGradient><linearGradient
id="SVGID_3_"
gradientUnits="userSpaceOnUse"
x1="123.2954"
y1="1013.9102"
x2="119.6701"
y2="1010.2849"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop16" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop18" /></linearGradient><linearGradient
id="SVGID_4_"
gradientUnits="userSpaceOnUse"
x1="25.7236"
y1="994.05078"
x2="25.7236"
y2="989.73828"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop23" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop25" /></linearGradient><linearGradient
id="SVGID_5_"
gradientUnits="userSpaceOnUse"
x1="121.1855"
y1="1033.1816"
x2="121.1855"
y2="1028.7246"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop30" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop32" /></linearGradient><linearGradient
id="SVGID_6_"
gradientUnits="userSpaceOnUse"
x1="427.69379"
y1="994.02338"
x2="427.69379"
y2="989.55658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop37" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop39" /></linearGradient><linearGradient
id="SVGID_7_"
gradientUnits="userSpaceOnUse"
x1="251.0645"
y1="994.89447"
x2="251.0645"
y2="990.41602"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop44" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop46" /></linearGradient><linearGradient
id="SVGID_8_"
gradientUnits="userSpaceOnUse"
x1="522.28082"
y1="882.1875"
x2="522.28082"
y2="877.32422"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop51" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop53" /></linearGradient><linearGradient
id="SVGID_9_"
gradientUnits="userSpaceOnUse"
x1="515.01318"
y1="906.71478"
x2="515.01318"
y2="902.50488"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop58" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop60" /></linearGradient><linearGradient
id="SVGID_10_"
gradientUnits="userSpaceOnUse"
x1="459.3696"
y1="950.23053"
x2="459.3696"
y2="946.51172"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop65" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop67" /></linearGradient><linearGradient
id="SVGID_11_"
gradientUnits="userSpaceOnUse"
x1="490.16061"
y1="925.11133"
x2="490.16061"
y2="919.55658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop72" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop74" /></linearGradient><linearGradient
id="SVGID_12_"
gradientUnits="userSpaceOnUse"
x1="74.389198"
y1="968.8252"
x2="70.846001"
y2="965.28198"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop79" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop81" /></linearGradient><linearGradient
id="SVGID_13_"
gradientUnits="userSpaceOnUse"
x1="120.2554"
y1="904.36908"
x2="114.8892"
y2="904.36908"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop86" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop88" /></linearGradient><linearGradient
id="SVGID_14_"
gradientUnits="userSpaceOnUse"
x1="173.0811"
y1="919.96088"
x2="166.4209"
y2="919.96088"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop93" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop95" /></linearGradient><linearGradient
id="SVGID_15_"
gradientUnits="userSpaceOnUse"
x1="255.9883"
y1="925.21582"
x2="249.9951"
y2="925.21582"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop100" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop102" /></linearGradient><linearGradient
id="SVGID_16_"
gradientUnits="userSpaceOnUse"
x1="349.27689"
y1="904.625"
x2="343.57571"
y2="904.625"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop107" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop109" /></linearGradient><linearGradient
id="SVGID_17_"
gradientUnits="userSpaceOnUse"
x1="400.96039"
y1="918.44629"
x2="395.1636"
y2="918.44629"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop114" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop116" /></linearGradient><linearGradient
id="SVGID_18_"
gradientUnits="userSpaceOnUse"
x1="101.7651"
y1="968.93848"
x2="96.654297"
y2="968.93848"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop121" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop123" /></linearGradient><linearGradient
id="SVGID_19_"
gradientUnits="userSpaceOnUse"
x1="121.2485"
y1="973.83789"
x2="117.6964"
y2="970.28583"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop128" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop130" /></linearGradient><linearGradient
id="SVGID_20_"
gradientUnits="userSpaceOnUse"
x1="553.43597"
y1="892.5"
x2="549.76727"
y2="888.83112"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop135" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop137" /></linearGradient><linearGradient
id="SVGID_21_"
gradientUnits="userSpaceOnUse"
x1="145.99409"
y1="969.87891"
x2="140.5957"
y2="969.87891"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop142" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop144" /></linearGradient><linearGradient
id="SVGID_22_"
gradientUnits="userSpaceOnUse"
x1="148.7769"
y1="907.00983"
x2="144.28909"
y2="902.52197"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop149" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop151" /></linearGradient><linearGradient
id="SVGID_23_"
gradientUnits="userSpaceOnUse"
x1="215.8457"
y1="922.32129"
x2="211.688"
y2="918.16357"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop156" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop158" /></linearGradient><linearGradient
id="SVGID_24_"
gradientUnits="userSpaceOnUse"
x1="304.31589"
y1="927.81049"
x2="299.9317"
y2="923.42627"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop163" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop165" /></linearGradient><linearGradient
id="SVGID_25_"
gradientUnits="userSpaceOnUse"
x1="376.97119"
y1="906.86133"
x2="372.76331"
y2="902.65302"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop170" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop172" /></linearGradient><linearGradient
id="SVGID_26_"
gradientUnits="userSpaceOnUse"
x1="488.73779"
y1="935.26459"
x2="485.28159"
y2="931.80859"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop177" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop179" /></linearGradient><linearGradient
id="SVGID_27_"
gradientUnits="userSpaceOnUse"
x1="499.80811"
y1="979.37701"
x2="495.84851"
y2="975.41748"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop184" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop186" /></linearGradient><linearGradient
id="SVGID_28_"
gradientUnits="userSpaceOnUse"
x1="441.8374"
y1="921.61328"
x2="437.55469"
y2="917.33063"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop191" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop193" /></linearGradient><linearGradient
id="SVGID_29_"
gradientUnits="userSpaceOnUse"
x1="486.85889"
y1="916.64941"
x2="481.74481"
y2="911.53528"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop198" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop200" /></linearGradient><linearGradient
id="SVGID_30_"
gradientUnits="userSpaceOnUse"
x1="185.9771"
y1="992.33008"
x2="182.33521"
y2="988.68817"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop205" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop207" /></linearGradient><linearGradient
id="SVGID_31_"
gradientUnits="userSpaceOnUse"
x1="303.0278"
y1="969.13959"
x2="299.3873"
y2="965.49908"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop212" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop214" /></linearGradient><linearGradient
id="SVGID_32_"
gradientUnits="userSpaceOnUse"
x1="349.88919"
y1="973.08502"
x2="346.37991"
y2="969.57562"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop219" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop221" /></linearGradient><linearGradient
id="SVGID_33_"
gradientUnits="userSpaceOnUse"
x1="370.8042"
y1="993.63959"
x2="366.38129"
y2="989.21692"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop226" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop228" /></linearGradient><linearGradient
id="SVGID_34_"
gradientUnits="userSpaceOnUse"
x1="229.457"
y1="971.76862"
x2="223.4189"
y2="971.76862"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop233" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop235" /></linearGradient><linearGradient
id="SVGID_35_"
gradientUnits="userSpaceOnUse"
x1="330.3042"
y1="968.51862"
x2="325.09229"
y2="968.51862"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop240" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop242" /></linearGradient><linearGradient
id="SVGID_36_"
gradientUnits="userSpaceOnUse"
x1="374.97021"
y1="967.80658"
x2="368.7251"
y2="967.80658"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop247" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop249" /></linearGradient><linearGradient
id="SVGID_37_"
gradientUnits="userSpaceOnUse"
x1="440.63721"
y1="959.6748"
x2="436.21909"
y2="955.25677"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop254" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop256" /></linearGradient><linearGradient
id="SVGID_38_"
gradientUnits="userSpaceOnUse"
x1="472.92041"
y1="969.50983"
x2="472.92041"
y2="963.70801"
gradientTransform="translate(-0.1797,-875.4102)"><stop
offset="0"
style="stop-color:#08406F"
id="stop261" /><stop
offset="1"
style="stop-color:#60C5F5"
id="stop263" /></linearGradient><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Fill"
style="display:inline"
transform="translate(1.2651637,30.169886)"><path
id="path4837"
d="M 127.342,51.15 116.278,51.717 116.697,8.939 11.591,114.895 46.209,114.328 91.598,70.276 h 8.705 l -0.42,44.264 36.152,-36.997 h 8.644 v 37.687 l 23.576,0.43048 L 167.12,11.089 Z"
style="display:inline;opacity:0.4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccc" /></g><g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Outline"><path
transform="translate(139.17079,30.169886)"
style="display:inline;"
d="M 7.2646594,114.328 H 28.768427 l 4.197272,4.313 H 3.6235007 Z"
id="polygon4819"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 114.692,13.213 13.577,114.328 2.106,118.641 c 0,0 -0.604,0.039 -0.271,-0.445 0,0 117.26,-117.292 117.472,-117.471 0.212,-0.181 0.467,-0.028 0.467,-0.028 z"
id="path14"
inkscape:connector-curvature="0" /><polygon
transform="translate(1.2651637,30.169886)"
style="display:inline;"
points="13.603,114.328 46.209,114.328 48.982,118.641 2.106,118.641 "
id="polygon28" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 96.872,70.634 48.982,118.643 46.209,114.33 92.81,67.965 c 2,-2.313 4.675,-1.731 4.675,-1.731 z"
id="path84"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="M 114.71,51.669 V 13.193 l 5.063,-12.499 c 0,0 0.303,0.075 0.303,0.571 0,0.493 0,53.647 0,53.647 l -0.315,2.311 c 0,10e-4 -4.496,0.025 -5.051,-5.554 z"
id="path91"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
d="M 166.281,114.27252 C 166.201,106.95952 166.268,13.927 166.268,13.927 l 5.214,-13.896 c 0,0 0.182,-0.027 0.182,0.725 l -0.017,117.17588 c 0.0304,0.34268 -0.42879,0.71768 -0.77567,0.70912 z"
id="path98"
inkscape:connector-curvature="0"
style="display:inline;"
sodipodi:nodetypes="ccccccc" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 97.759,120.82 c 0,0 -0.833,-0.069 -0.809,-1.149 -0.001,-0.917 -0.078,-49.036 -0.078,-49.036 0,0 -1.218,-1.577 0.613,-4.4 0.547,0.131 3.495,0.727 4.101,4.256 v 40.37 z"
id="path126"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 140.843,78.598 c 0,0 -41.489,41.548 -41.883,41.938 -0.346,0.379 -1.202,0.282 -1.202,0.282 l 3.827,-9.963 36.059,-36.088 c 0,0 1.34,-1.727 3.831,-1.637 z"
id="path133"
inkscape:connector-curvature="0" /><path
transform="translate(1.2651637,30.169886)"
d="m 140.924,117.81057 c 0.0251,-0.60892 -0.079,-39.21957 -0.079,-39.21957 0,0 -1.301,-2.633 0.631,-5.456 0.593,-0.007 3.7,0.421 4.339,4.146 l -0.001,37.08687 -4.28487,4.27313 c -0.33823,0 -0.63026,-0.22151 -0.60513,-0.83043 z"
id="path147"
inkscape:connector-curvature="0"
style="display:inline;"
sodipodi:nodetypes="zcccccz" /><path
transform="translate(1.2651637,30.169886)"
style="display:inline;"
d="m 166.269,13.926 -41.462,41.463 c -1.987,1.986 -5.045,1.836 -5.045,1.836 -1.795,-3.531 0.315,-6.065 0.315,-6.065 0,0 50.503,-50.49 50.867,-50.87 0.331,-0.417 0.541,-0.264 0.541,-0.264 z"
id="path154"
inkscape:connector-curvature="0" /></g></svg>

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 48 KiB

View file

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="nulldc-symbolic.svg">
<defs
id="defs4517">
<inkscape:path-effect
effect="taper_stroke"
id="path-effect4510"
is_visible="true"
stroke_width="16"
attach_start="3.99999"
end_offset="1.99999"
smoothing="1"
jointype="extrapolated"
miter_limit="100" />
<inkscape:path-effect
effect="taper_stroke"
id="path-effect4506"
is_visible="true"
stroke_width="20"
attach_start="1.99999"
end_offset="3.99999"
smoothing="1"
jointype="extrapolated"
miter_limit="100" />
<inkscape:path-effect
effect="taper_stroke"
id="path-effect4497"
is_visible="true"
stroke_width="1"
attach_start="0.2"
end_offset="0.2"
smoothing="0.5"
jointype="extrapolated"
miter_limit="100" />
<inkscape:path-effect
effect="knot"
id="path-effect4495"
is_visible="true"
interruption_width="3"
prop_to_stroke_width="true"
add_stroke_width="true"
add_other_stroke_width="true"
switcher_size="15"
crossing_points_vector="" />
<inkscape:path-effect
effect="knot"
id="path-effect4493"
is_visible="true"
interruption_width="3"
prop_to_stroke_width="true"
add_stroke_width="true"
add_other_stroke_width="true"
switcher_size="15"
crossing_points_vector="" />
<inkscape:path-effect
effect="gears"
id="path-effect4491"
is_visible="true"
teeth="10"
phi="5"
min_radius="5" />
<inkscape:path-effect
effect="ellipse_5pts"
id="path-effect4489"
is_visible="true" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="71.219512"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="353"
inkscape:window-y="138"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Spirals"
style="display:inline">
<path
transform="matrix(0,1.072873,1.072873,0,-246.29754,276.65571)"
d="m -208.43158,398.04569 c 13.6326,16.77532 32.50964,25.19262 49.49328,27.2117 10.07033,1.19924 19.69238,0.21127 28.2449,-2.2733 10.29245,-3.00973 18.88541,-8.20459 25.53058,-14.11961 15.256787,-13.65216 20.070867,-31.0027 20.678604,-42.85516 0.496951,-9.62761 -1.522044,-17.48835 -3.776726,-22.9646 -4.316074,-10.44661 -10.571332,-15.16901 -12.247788,-16.26968 -2.44697,-1.60654 -2.92767,-1.12497 -2.92767,-1.12497 0,0 -0.35734,0.38067 0.59405,3.00466 0.22803,0.62894 4.042234,9.42285 5.327846,17.14781 0.813065,4.82432 1.203787,11.29327 -0.203347,18.73058 -1.727603,9.10733 -6.964259,22.0292 -18.627159,31.06242 -5.17455,4.04618 -11.73567,7.5293 -19.26656,9.38979 -6.28958,1.57107 -13.41941,2.03897 -20.84646,0.98773 -12.4143,-1.76112 -26.65364,-8.32666 -36.41915,-20.49958 -1.8e-4,-2.3e-4 -3.7e-4,-4.6e-4 -5.5e-4,-6.8e-4 -10.78037,-13.33797 -14.57074,-29.89588 -12.31926,-46.01773 2.25148,-16.12186 10.63037,-31.5541 23.99163,-42.05365 15.27531,-12.00366 34.13516,-16.14817 52.35907,-13.46276 18.22391,2.68542 35.566018,12.2655 47.318554,27.52714 13.168622,17.10054 17.650921,38.1327 14.557074,58.34905 -3.093847,20.21635 -13.813759,39.37615 -30.875498,52.31579 -3.77e-4,2.8e-4 -7.54e-4,5.7e-4 -0.0011,8.6e-4 -9.24735,7.02071 -19.88607,11.90352 -30.76263,14.4605 -11.03744,2.60774 -22.46238,2.87806 -33.29774,1.19295 -23.50807,-3.6558 -44.35219,-16.81727 -57.23509,-33.99947 -7.66108,-10.15032 -12.9103,-21.741 -15.65923,-33.47951 -2.84943,-12.11684 -3.1043,-24.54979 -1.28991,-36.23006 0,0 4e-5,-6e-5 4e-5,-6e-5 4.06695,-26.18612 18.77322,-48.64847 37.04171,-62.35929 11.17108,-8.43175 23.77047,-14.05576 36.28531,-17.01424 13.39453,-3.17679 26.90673,-3.39884 39.33178,-1.51369 30.150404,4.5731 54.061272,21.60726 68.106329,40.0731 9.697299,12.69756 15.655114,26.54592 18.818772,39.36287 0,0 1e-6,3e-5 1e-6,3e-5 3.884313,15.70574 3.862356,30.62527 2.185209,42.96105 -2.900088,21.33919 -11.246209,37.90984 -17.520581,47.98829 -6.357229,10.21154 -12.924688,17.49755 -16.373633,21.19654 -7.77196,8.33543 -7.832032,8.49614 -7.832032,8.49614 0,0 0.101665,0.14345 1.431805,-0.49475 1.096066,-0.52588 4.142299,-2.15772 8.609125,-5.55232 4.255877,-3.23429 11.831182,-9.61865 19.638157,-19.85711 7.607324,-9.97663 17.890421,-26.91209 22.374864,-50.06273 2.583431,-13.33532 3.428225,-29.71709 -0.166766,-47.43761 -7e-6,0 -8e-6,-4e-5 -8e-6,-4e-5 -2.945401,-14.48565 -9.043105,-30.29811 -19.607075,-45.11221 -15.503011,-21.65653 -42.085313,-41.89286 -76.979897,-47.96379 -14.34635,-2.49603 -30.03275,-2.53782 -45.87043,0.91119 -14.83452,3.24052 -29.77635,9.62447 -43.22983,19.47072 -22.1549,16.29396 -39.84577,42.45656 -45.04571,73.8834 3e-5,10e-6 -1e-5,8e-5 -1e-5,8e-5 -2.31079,13.96589 -2.1159,28.85298 1.21856,43.59933 3.25149,14.32771 9.52362,28.4099 18.83109,40.90216 15.97153,21.32073 40.93831,37.30677 69.84149,41.90073 13.26472,2.10837 27.24149,1.78693 40.95641,-1.41201 13.55912,-3.1754 26.716469,-9.20885 38.285155,-17.97448 4.68e-4,-3.5e-4 9.36e-4,-7.1e-4 0.0014,-0.001 21.404086,-16.23289 34.708359,-40.0589 38.559821,-65.22579 3.851462,-25.16689 -1.799804,-51.91541 -18.480858,-73.57713 -15.069366,-19.56882 -37.064752,-31.69455 -60.248952,-35.1109 -23.1842,-3.41635 -47.80309,1.94143 -67.63218,17.52353 -17.62275,13.84832 -28.49575,33.91653 -31.44195,55.01297 -2.9462,21.09644 2.11996,43.47467 16.57243,61.35593 2.6e-4,3.1e-4 5.1e-4,6.2e-4 7.6e-4,9.3e-4 z"
sodipodi:t0="0.25"
sodipodi:argument="-17.875937"
sodipodi:radius="120.92973"
sodipodi:revolution="3"
sodipodi:expansion="0.64999998"
sodipodi:cy="353.26666"
sodipodi:cx="-144.04901"
id="path4503"
style="display:inline;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
sodipodi:type="spiral"
inkscape:path-effect="#path-effect4506" />
<path
sodipodi:type="spiral"
style="fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1;opacity:0.6"
id="path4508"
sodipodi:cx="-127.31952"
sodipodi:cy="125.4382"
sodipodi:expansion="3"
sodipodi:revolution="3.1569905"
sodipodi:radius="75.738625"
sodipodi:argument="-17.618052"
sodipodi:t0="0.5092907"
d="m -111.90422,77.264175 c -12.61514,-1.975873 -24.63659,1.264493 -33.79948,7.230457 -11.0891,7.210553 -17.34285,18.468808 -18.82384,29.438148 -1.20575,9.83512 1.65556,18.84435 6.29216,25.51186 5.87767,8.47927 14.70345,12.67829 22.72249,13.41717 7.39912,0.58015 13.77309,-1.9341 18.21929,-5.32779 6.27757,-4.7616 8.54746,-11.47215 8.65849,-16.61644 0.047,-5.46175 -2.34514,-9.47684 -4.44053,-11.737 0,0 0,0 0,0 -2.12218,-2.31413 -4.49432,-3.29648 -6.03025,-3.68345 -1.59923,-0.40292 -2.80868,-0.31545 -3.48133,-0.18955 C -124.01864,115.57552 -124,116 -124,116 c 0,0 0.0486,0.25704 1.11477,0.98019 0.46117,0.3128 1.3516,0.89748 2.23002,1.68974 0.89088,0.80349 2.09013,2.10474 2.8978,3.8736 0,0 0,10e-6 0,10e-6 0.86289,1.86259 1.56251,4.71992 0.87522,7.65772 -0.58766,2.88543 -2.73279,6.37732 -6.48216,8.49753 -2.83058,1.6074 -6.79994,2.58062 -10.72045,1.84689 -4.41244,-0.70199 -9.39442,-3.80105 -12.47761,-8.84041 -2.56227,-4.18897 -4.04019,-9.98164 -3.07931,-15.69907 0.96146,-6.56714 5.39479,-13.74991 12.48184,-18.242485 6.10256,-3.863529 14.45825,-6.032839 22.7524,-4.696576 1.6e-4,2.5e-5 3.1e-4,5e-5 4.7e-4,7.5e-5 5.63826,0.893215 10.60816,2.991118 14.948497,6.014633 4.340334,3.023513 8.040353,6.991283 10.935445,11.598933 5.790185,9.21531 8.251993,20.96223 6.322945,32.02388 -5.4e-5,3e-4 -1.07e-4,6.1e-4 -1.6e-4,9.1e-4 -1.360605,7.82781 -4.500872,14.79231 -8.382719,20.36479 -4.474605,6.46274 -10.178568,11.46107 -15.704458,15.08642 -8.74107,5.72814 -17.87451,8.54233 -25.20671,9.8406 -7.43331,1.31618 -13.93792,1.26154 -18.90544,0.84966 -10.80509,-0.8897 -16.36689,-2.65073 -19.31567,-3.06992 -2.95636,-0.42026 -3.2657,0.0876 -3.2657,0.0876 0,0 -0.36125,0.61129 1.86662,2.74556 1.65263,1.58318 7.65707,6.54585 18.92829,9.74303 5.56388,1.56825 13.11702,2.81199 22.15639,2.20945 8.92269,-0.59476 20.22782,-3.0907 31.554533,-9.71186 7.177632,-4.19217 14.612963,-10.27623 20.712406,-18.63369 5.28936,-7.28165 9.506081,-16.36297 11.324523,-26.76263 7e-5,-4e-4 1.4e-4,-8.1e-4 2.1e-4,-0.001 2.640202,-15.13957 -0.616783,-30.67906 -8.537355,-43.28496 -3.960286,-6.302955 -9.113637,-11.879498 -15.337655,-16.215205 -6.224018,-4.335707 -13.529452,-7.411935 -21.590492,-8.688967 -2.4e-4,-3.8e-5 -4.7e-4,-7.6e-5 -7.1e-4,-1.13e-4 z"
transform="scale(-1,1)"
inkscape:path-effect="#path-effect4510" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="o2em-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="172"
inkscape:window-y="250"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4"
spacingx="8"
spacingy="8" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;"
id="rect5638"
width="32"
height="32"
x="0"
y="229.26666" />
<rect
y="261.26666"
x="32"
height="32"
width="32"
id="rect5640"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
y="229.26666"
x="-256"
height="32"
width="32"
id="rect5642"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
transform="scale(-1,1)" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5644"
width="32"
height="32"
x="-224"
y="261.26666"
transform="scale(-1,1)" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5646"
width="32"
height="32"
x="32"
y="421.26666" />
<rect
transform="scale(-1,1)"
y="421.26666"
x="-224"
height="32"
width="32"
id="rect5648"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" />
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:32;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5650"
width="128"
height="32"
x="-192"
y="453.26666"
transform="scale(-1,1)" />
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
d="m 64,293.26666 h 32 v -32 h 64 v 32 h 32 v 32 h -32 v 32 h 32 v -32 h 32 v 32 h 32 v 64 h -32 v -32 h -32 v 32 H 64 v -32 H 32 v 32 H 0 v -64 h 32 v -32 h 32 v 32 h 32 v -32 H 64 Z"
id="path5652"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="openmsx-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="71.219512"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="236"
inkscape:window-y="156"
inkscape:window-maximized="0"
inkscape:object-nodes="true"
inkscape:snap-others="true"
inkscape:snap-nodes="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="false"
inkscape:snap-global="false" />
<metadata
id="metadata4520">
<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 />
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Body"
style="display:inline">
<path
style="fill-rule:evenodd;stroke:none;stroke-opacity:1;opacity:1;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="M 122.14648 3.9023438 C 90.645243 3.7738949 78.308181 33.820329 79.21875 49.169922 L 78.048828 83.511719 C 78.048828 83.511719 52.067701 124.03184 52.386719 147.45117 C 54.567695 147.06053 57.377091 146.78295 60.636719 147.14453 C 62.969554 147.4033 65.518593 147.98757 68.197266 149.08203 C 79.537295 153.71535 90.76946 165.33774 95.769531 180.06055 C 97.909583 186.36198 100.50645 195.12706 100.89453 204.21875 C 101.19389 211.23196 99.916453 219.29829 95.029297 225.29688 C 103.48574 228.69564 113.93873 229.57075 122.42188 230.92969 C 140.15413 233.77025 167.81484 233.30572 178.63672 231.25391 C 188.28633 229.42436 196.55917 223.65472 201.20508 215.85156 C 207.58582 205.13464 209.88771 179.89314 208.63867 161.44727 C 208.55078 160.1492 208.41338 158.80161 208.24609 157.42578 C 204.85272 160.18597 201.01341 162.61314 196.99023 164.79102 C 187.23414 170.07231 176.88287 173.86081 168.88672 174.95117 C 161.461 175.96374 155.68444 174.51111 152.0918 173.05664 C 148.49915 171.60217 147.86252 171.08144 146.125 171.11914 C 143.33207 171.17969 143.11653 171.48301 140.7168 172.12109 C 138.31706 172.75918 133.8246 172.88792 129.69336 171.46875 C 123.78988 169.44078 119.76769 165.11211 116.62109 159.98633 C 113.4745 154.86055 111.34002 148.6726 111.41602 141.95898 C 111.49562 134.92214 114.20386 128.50135 118.05273 123.20508 C 121.90161 117.9088 126.91814 113.42694 133.75586 111.97852 C 137.15886 111.25766 140.82075 111.72454 143.50781 112.93945 C 146.19488 114.15437 147.88519 115.73386 149.07812 116.80078 C 151.46402 118.93462 150.98966 118.85543 152.01172 118.83203 C 154.05297 118.78539 154.64095 118.35417 156.20117 115.9707 C 157.7614 113.58723 159.2465 109.32277 160.27539 104.67773 C 161.30429 100.0327 161.96439 95.089124 162.72461 90.830078 C 163.10472 88.700555 163.47402 86.769483 164.16797 84.738281 C 164.73422 83.080854 165.20216 80.494676 168.23828 78.626953 C 167.70602 78.167581 167.17488 77.706703 166.63477 77.267578 L 167.41406 50.732422 C 167.8043 34.862503 153.64773 4.0307926 122.14648 3.9023438 z M 105.95117 16.107422 A 18.039139 22.722065 0 0 1 119.22266 23.472656 A 18.039139 22.722065 0 0 1 132.48828 16.107422 A 18.039139 22.722065 0 0 1 150.52734 38.830078 A 18.039139 22.722065 0 0 1 144.9043 55.251953 C 145.87534 55.693649 146.81107 56.292432 147.64258 57.128906 C 149.42912 58.926128 150.3279 61.589341 150.3418 64.371094 C 150.35877 67.768578 148.91752 70.058972 147.0293 73.304688 C 145.14108 76.550399 142.56909 80.184541 139.57227 83.673828 C 133.57862 90.652402 126.25272 97.586653 117.56836 97.564453 C 109.00098 97.542555 101.17676 90.990426 94.558594 84.050781 C 91.249512 80.580959 88.345537 76.902124 86.173828 73.486328 C 84.002119 70.070532 82.387364 67.23029 82.248047 63.771484 C 82.13233 60.898589 83.497979 58.06724 85.458984 56.474609 C 87.419989 54.881978 89.639032 54.231018 91.806641 53.835938 C 92.002819 53.800181 92.193563 53.785149 92.388672 53.753906 A 18.039139 22.722065 0 0 1 87.912109 38.830078 A 18.039139 22.722065 0 0 1 105.95117 16.107422 z M 102.85742 35.658203 A 4.6220636 4.760036 0 0 0 98.236328 40.417969 A 4.6220636 4.760036 0 0 0 102.82812 45.175781 C 102.96785 44.890739 103.10844 44.60688 103.26172 44.324219 C 104.25121 42.499534 105.62402 40.726497 107.3457 39.302734 A 4.6220636 4.760036 0 0 0 102.85742 35.658203 z M 129.48633 35.658203 A 4.6220636 4.760036 0 0 0 124.89062 39.923828 C 126.25236 41.151462 127.41551 42.580769 128.35742 44.066406 C 128.58354 44.423052 128.79743 44.785954 129.00586 45.150391 A 4.6220636 4.760036 0 0 0 129.48633 45.177734 A 4.6220636 4.760036 0 0 0 134.10938 40.417969 A 4.6220636 4.760036 0 0 0 129.48633 35.658203 z "
id="path4495" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Tail"
style="display:none">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 196.68293,190.04878 8.58536,13.2683 c 0,0 18.95752,-21.02889 12.09756,-26.53659 -6.85996,-5.5077 -20.68292,13.26829 -20.68292,13.26829 z"
id="path4498"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Feets"
style="display:inline">
<path
transform="translate(0,-229.26666)"
style="opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="m 85.463415,452.48617 c -12.144212,7.55854 -32.413356,-9.15513 -41.756098,-17.17073 -9.342742,-8.01561 -14.066751,-17.43416 -14.829268,-24.58537 -0.762518,-7.15121 3.465158,-9.41986 4.682927,-13.65853 1.217768,-4.23867 -0.681566,-9.31933 2.731707,-11.70732 3.413273,-2.38799 6.482594,0.27521 11.317072,0.39025 4.834479,0.11504 9.710669,-3.20749 17.560977,0 7.850308,3.20749 18.977038,14.22883 23.02439,26.14634 4.047352,11.91751 9.412505,33.02682 -2.731707,40.58536 z"
id="path4503"
inkscape:connector-curvature="0"
sodipodi:nodetypes="zzzzzzzzz" />
<path
style="opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="M 208.95312 207.09766 C 207.83403 211.20634 206.43613 214.88604 204.64258 217.89844 C 199.37226 226.75035 190.1335 233.14528 179.38281 235.18359 C 174.21866 236.16271 166.19159 236.78718 157.25781 236.94531 C 165.41242 244.77775 179.05183 249.08657 189.26758 248.19531 C 204.69186 246.84964 221.5593 237.297 220.87891 223.21875 C 220.53185 216.03764 215.65874 210.6717 208.95312 207.09766 z "
id="path4501" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Arms"
style="display:inline">
<path
style="fill-rule:evenodd;stroke:none;stroke-opacity:1;opacity:1;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="m 173.2683,85.07317 c 6.85478,-2.310809 39.34685,43.97967 37.46341,55.80487 -1.88345,11.82521 -30.60907,24.46669 -42.92683,26.14635 -12.31776,1.67965 -14.29627,-4.06628 -21.85366,-3.90244 -7.5574,0.16385 -7.32971,2.95458 -13.65853,0.78049 -6.32882,-2.17408 -12.98788,-12.14625 -12.87806,-21.85366 0.10982,-9.70741 8.18168,-20.58776 16,-22.24391 7.81832,-1.65615 8.8017,7.20673 16.78049,7.0244 19.19508,-0.43863 16.15587,-40.09843 21.07318,-41.7561 z"
id="path4512"
inkscape:connector-curvature="0"
sodipodi:nodetypes="szzzzzzss" />
<path
style="fill-rule:evenodd;stroke:none;stroke-opacity:1;opacity:1;stroke-width:16;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="M 65.089844 94.230469 C 55.350421 94.143073 43.704563 104.9768 40.976562 113.16992 C 38.088241 121.84454 40.730043 135.22324 49.060547 139.2832 C 50.902526 127.96936 56.259168 115.5502 61.511719 104.92578 C 63.444173 101.01698 65.309579 97.504194 67.011719 94.412109 C 66.381313 94.304734 65.740513 94.236307 65.089844 94.230469 z "
id="path4514" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 172.03711,92.818359 c 0.0152,-0.05429 0.13747,-0.05339 0.33008,0.08008 0.0383,0.02651 0.16099,0.156929 0.20312,0.1875 -0.34652,-0.08648 -0.55117,-0.20329 -0.5332,-0.26758 z"
id="path4588" />
</g>
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="Face"
style="display:inline">
<path
style="fill-rule:evenodd;stroke:none;stroke-opacity:1;opacity:1;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;paint-order:stroke fill markers"
d="M 115.51172 40.195312 C 107.17913 40.419785 104.58479 50.340844 103.41406 57.365234 C 97.560405 57.365234 85.952429 56.367085 86.244141 63.609375 C 86.535853 70.851664 105.39865 93.533323 117.57812 93.564453 C 129.75761 93.595587 146.3695 69.936751 146.3418 64.390625 C 146.30075 56.162236 137.3658 58.146865 129.95117 58.537109 C 127.60971 50.341987 123.84431 39.970839 115.51172 40.195312 z M 91.707031 62.830078 C 96.395698 68.931947 101.65211 71.212205 106.73633 71.410156 C 109.20099 71.506116 111.24352 73.81855 113.78906 76.464844 C 116.27746 74.051833 119.45952 72.232824 123.29883 72.230469 C 129.85989 72.226469 136.45074 69.621379 141.26758 64.390625 C 141.26758 64.390625 129.3767 89.311199 117.46289 89.365234 C 105.54908 89.419269 91.707031 62.830078 91.707031 62.830078 z "
id="path4517" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="osmose-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="root"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="177"
inkscape:window-y="192"
inkscape:window-maximized="0"
inkscape:snap-smooth-nodes="false"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Body"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 6 64 C 4.892 64 4 64.892 4 66 L 4 166 C 4 167.108 4.892 168 6 168 L 250 168 C 251.108 168 252 167.108 252 166 L 252 66 C 252 64.892 251.108 64 250 64 L 6 64 z M 28 72 L 100 72 L 64 108 L 28 72 z M 20 80 L 56 116 L 20 152 L 20 80 z M 108 80 L 108 152 L 72 116 L 108 80 z M 148 108 L 192 108 L 192 152 L 148 152 L 148 108 z M 196 108 L 240 108 L 240 152 L 196 152 L 196 108 z M 64 124 L 100 160 L 28 160 L 64 124 z "
transform="translate(0,229.26666)"
id="rect4502" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Dpad"
style="display:inline">
<rect
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect4507"
width="72"
height="72"
x="28"
y="80"
rx="8"
ry="8" />
<circle
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="path4520"
cx="170"
cy="130"
r="18" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Buttons"
style="display:inline">
<circle
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="circle4525"
cx="218"
cy="130"
r="18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="pcsx2-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="107.8234"
inkscape:cy="121.92527"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="90"
inkscape:window-y="196"
inkscape:window-maximized="0"
inkscape:snap-bbox="false"
inkscape:bbox-nodes="true"
inkscape:snap-nodes="true"
inkscape:snap-others="true"
inkscape:measure-start="244,208"
inkscape:measure-end="140,116">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4"
spacingx="4"
spacingy="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.08250284;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="M 128 7.6269531 C 117.23449 7.6269531 106.46979 11.750909 98.220703 20 L 20 98.220703 C 3.5018171 114.71889 3.5018171 141.28111 20 157.7793 L 98.220703 236 C 114.71889 252.49818 141.28111 252.49818 157.7793 236 L 236 157.7793 C 252.49818 141.28111 252.49818 114.71889 236 98.220703 L 157.7793 20 C 149.53021 11.750909 138.76551 7.6269531 128 7.6269531 z M 128 15.029297 L 144.9707 32 L 136.48438 40.484375 L 108.96875 68 L 116 75.03125 L 143.51562 47.515625 A 12.0012 12.0012 0 0 1 160.48438 47.515625 L 184.48438 71.515625 A 12.0012 12.0012 0 0 1 184.48438 88.484375 L 172.48438 100.48438 L 164 108.9707 L 147.0293 92 L 155.51562 83.515625 L 159.03125 80 L 152 72.96875 L 124.48438 100.48438 A 12.0012 12.0012 0 0 1 107.51562 100.48438 L 83.515625 76.484375 A 12.0012 12.0012 0 0 1 83.515625 59.515625 L 119.51562 23.515625 L 128 15.029297 z M 67.824219 80.001953 A 12.0012 12.0012 0 0 1 76.484375 83.515625 L 100.48438 107.51562 A 12.0012 12.0012 0 0 1 100.48438 124.48438 L 72.96875 152 L 88.484375 167.51562 L 96.970703 176 L 80 192.9707 L 71.515625 184.48438 L 47.515625 160.48438 A 12.0012 12.0012 0 0 1 47.515625 143.51562 L 75.03125 116 L 68 108.96875 L 40.484375 136.48438 L 32 144.9707 L 15.029297 128 L 23.515625 119.51562 L 59.515625 83.515625 A 12.0012 12.0012 0 0 1 67.824219 80.001953 z M 200 88 L 240 128 L 212 156 L 172 116 L 200 88 z M 139.82422 104.00195 A 12.0012 12.0012 0 0 1 148.48438 107.51562 L 172.48438 131.51562 A 12.0012 12.0012 0 0 1 172.48438 148.48438 L 144.96875 176 L 152 183.03125 L 179.51562 155.51562 L 188 147.0293 L 204.9707 164 L 196.48438 172.48438 L 160.48438 208.48438 A 12.0012 12.0012 0 0 1 143.51562 208.48438 L 119.51562 184.48438 A 12.0012 12.0012 0 0 1 119.51562 167.51562 L 147.03125 140 L 140 132.96875 L 112.48438 160.48438 L 104 168.9707 L 87.029297 152 L 95.515625 143.51562 L 131.51562 107.51562 A 12.0012 12.0012 0 0 1 139.82422 104.00195 z M 104 184 L 144 224 L 128 240 L 88 200 L 104 184 z "
transform="translate(0,229.26666)"
id="rect4496" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Lettering"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 139.82422,104.00195 a 12.0012,12.0012 0 0 0 -8.3086,3.51367 l -35.999995,36 L 87.029297,152 104,168.9707 112.48438,160.48438 140,132.96875 147.03125,140 119.51562,167.51562 a 12.0012,12.0012 0 0 0 0,16.96876 l 24,24 a 12.0012,12.0012 0 0 0 16.96876,0 l 36,-36 L 204.9707,164 188,147.0293 179.51562,155.51562 152,183.03125 144.96875,176 172.48438,148.48438 a 12.0012,12.0012 0 0 0 0,-16.96876 l -24,-24 a 12.0012,12.0012 0 0 0 -8.66016,-3.51367 z"
id="path4504"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.3;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 128,15.029297 -8.48438,8.486328 -35.999995,36 a 12.0012,12.0012 0 0 0 0,16.96875 l 23.999995,24.000005 a 12.0012,12.0012 0 0 0 16.96876,0 L 152,72.96875 159.03125,80 155.51562,83.515625 147.0293,92 164,108.9707 l 8.48438,-8.48632 12,-12.000005 a 12.0012,12.0012 0 0 0 0,-16.96875 l -24,-24 a 12.0012,12.0012 0 0 0 -16.96876,0 L 116,75.03125 108.96875,68 136.48438,40.484375 144.9707,32 Z"
id="path4510"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 67.824219,80.001953 a 12.0012,12.0012 0 0 0 -8.308594,3.513672 l -36,35.999995 L 15.029297,128 32,144.9707 40.484375,136.48438 68,108.96875 75.03125,116 47.515625,143.51562 a 12.0012,12.0012 0 0 0 0,16.96876 l 24,24 L 80,192.9707 96.970703,176 88.484375,167.51562 72.96875,152 100.48438,124.48438 a 12.0012,12.0012 0 0 0 0,-16.96876 L 76.484375,83.515625 a 12.0012,12.0012 0 0 0 -8.660156,-3.513672 z"
id="path4512"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Blocks"
style="display:inline">
<path
style="opacity:0.4;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 172,116 28,-28 40,40 -28,28 z"
id="path4515"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="opacity:0.4;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 104,184 40,40 -16,16 -40,-40 z"
id="path4517"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="512"
height="512"
id="root"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="ppsspp-symbolic.svg"
inkscape:export-filename="C:\dev\promo\icon_regular_36.png"
inkscape:export-xdpi="6.3299999"
inkscape:export-ydpi="6.3299999"
viewBox="0 0 512 512">
<defs
id="defs4854" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.2089844"
inkscape:cx="256"
inkscape:cy="256"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1246"
inkscape:window-height="815"
inkscape:window-x="311"
inkscape:window-y="133"
inkscape:window-maximized="0"
scale-x="1" />
<metadata
id="metadata4857">
<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>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Outline"
style="display:inline">
<path
style="fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="M 285.46094,15.486328 123.79492,52.3125 l 29.27735,128.41211 99.32617,63.30859 62.34179,-100.13281 z m -12.70117,21.455078 22.41992,98.330074 -49.83008,77.7168 -78.38867,-48.51172 -22.41797,-98.328122 z"
id="rect4891-8-0"
inkscape:connector-curvature="0" />
<path
style="fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="m 141.85938,197.79297 -128.472661,29.26562 36.84375,161.5918 128.470701,-29.26562 63.33789,-99.2793 z m -8.63282,19.55273 77.75196,49.80664 -48.53321,78.35157 -98.373044,22.4082 -29.220704,-128.1582 z"
id="rect4891-4-1"
inkscape:connector-curvature="0" />
<path
style="fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="M 258.80273,270.89062 196.46094,371.02344 225.74023,499.4375 387.40625,462.61133 358.12891,334.19727 Z m 7.04883,31.04493 78.38867,48.51172 22.41797,98.32812 -128.21679,29.20703 -22.41993,-98.33008 z"
id="rect4891-8-4-2"
inkscape:connector-curvature="0" />
<path
style="fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="m 463.00977,125.80859 -128.47266,29.26563 -63.33789,99.2793 100.17969,62.3125 128.47265,-29.26368 z m -13.8418,20.73829 29.21875,128.16015 -98.37305,22.4082 -77.7539,-49.80859 48.5332,-78.35156 z"
id="rect4891-4-9-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:label="Buttons"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-540.36218)"
style="display:inline">
<path
style="opacity:0.8;fill-opacity:1"
d="m 272.76031,577.30374 22.41883,98.32905 -49.83024,77.71707 -78.38798,-48.51051 -22.41883,-98.32906 z"
id="rect4891-0-5-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc"
inkscape:export-filename="D:\Dev\Emulatorer\potemkin\android\source_assets\image\dir.png"
inkscape:export-xdpi="135"
inkscape:export-ydpi="135" />
<path
style="opacity:0.8;fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="m 34.851569,780.11548 98.374381,-22.40849 77.75293,49.80726 -48.5329,78.35185 -98.374381,22.40849 z"
id="rect4891-0-3-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc"
inkscape:export-filename="D:\Dev\Emulatorer\potemkin\android\source_assets\image\dir.png"
inkscape:export-xdpi="135"
inkscape:export-ydpi="135" />
<path
style="opacity:0.8;fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="m 238.44059,1018.3443 -22.41883,-98.32904 49.83024,-77.71708 78.38798,48.51052 22.41884,98.32905 z"
id="rect4891-0-5-2-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc"
inkscape:export-filename="D:\Dev\Emulatorer\potemkin\android\source_assets\image\dir.png"
inkscape:export-xdpi="135"
inkscape:export-ydpi="135" />
<path
style="opacity:0.8;fill-opacity:1;stroke:none;stroke-width:1.10065675"
d="m 478.38717,815.06837 -98.3744,22.4085 -77.75291,-49.80727 48.53289,-78.35184 98.3744,-22.4085 z"
id="rect4891-0-3-3-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc"
inkscape:export-filename="D:\Dev\Emulatorer\potemkin\android\source_assets\image\dir.png"
inkscape:export-xdpi="135"
inkscape:export-ydpi="135" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="reicast-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="295"
inkscape:window-y="192"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Swirl">
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 252,144 240,80 208,40 156,16 80,24 16,80 4,148 l 28,52 72,32 52,-12 40,-48 -4,-64 -40,-40 H 96 l -36,32 v 52 l 36,32 44,-4 12,-28 v -28 l -24,-20 -20,4 -12,24 20,12 12,4 v 12 l -16,4 -32,-24 4,-24 20,-28 h 28 l 28,20 12,44 -20,36 -28,12 H 88 L 40,160 v -56 l 44,-48 68,-4 56,44 12,56 z"
id="path4495"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="residualvm-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128.64693"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="295"
inkscape:window-y="192"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="R"
style="display:inline">
<path
style="opacity:1;stroke-width:0.5;stroke:none"
d="M 92.691406,0.50195312 C 75.349866,0.49976313 71.65143,0.85607312 63.5,3.3144531 44.923794,8.9168331 33.818967,20.07126 30.214844,36.75 c -1.141472,5.28237 -1.17095,15.52858 -0.0625,21.25 0.45286,2.3375 1.162886,7.2875 1.578125,11 4.689603,41.92802 4.395835,90.22569 -0.796875,131 -2.156412,16.93261 -1.172586,23.38368 4.857422,31.83398 6.355616,8.90659 19.406624,15.1725 34.662109,16.64063 2.637775,0.25386 8.621875,0.3733 13.296875,0.26562 21.65912,-0.49887 36.00137,-6.17151 42.75,-16.9082 0.9625,-1.53129 1.8757,-2.79539 2.0293,-2.80859 0.15361,-0.0132 1.16611,1.35695 2.25,3.04492 2.10895,3.2843 7.9432,8.57478 11.73242,10.63867 2.98196,1.62419 9.87322,3.59917 16.98828,4.86914 8.1492,1.45456 26.86106,1.84554 35.25,0.73633 13.3281,-1.76227 19.55192,-4.46057 26.55078,-11.51367 3.81106,-3.84059 4.92683,-5.35602 6.8711,-9.31836 3.04096,-6.19735 3.88651,-9.51878 4.18945,-16.48047 0.42696,-9.81151 -1.72536,-18.04387 -7.70899,-29.5 -5.22253,-9.99895 -10.00716,-16.74967 -18.66992,-26.33594 -1.28538,-1.42242 -2.81822,-3.39925 -3.4043,-4.39258 l -1.06445,-1.80664 6.63086,-6.87304 c 12.60333,-13.06537 18.49591,-23.30347 21.40625,-37.19141 C 232.03031,93.068251 229.98593,74.39078 224.63867,60 220.89242,49.91793 216.63068,42.829306 210.26562,36.097656 200.30166,25.559846 188.19791,18.490258 167.80664,11.298828 145.25794,3.3465481 125.49652,0.50595312 92.691406,0.50195312 Z M 88.035156,20.537109 c 4.68787,-0.03627 10.717579,0.209895 19.464844,0.72461 26.10196,1.53592 38.41145,3.865754 56.25,10.646484 22.55887,8.575 33.12168,17.015946 39.45898,31.535156 4.58561,10.50594 6.98701,27.369537 5.2461,36.839841 -1.65131,8.98291 -5.77453,15.60764 -16.46875,26.4668 -9.01634,9.1554 -11.60738,12.59786 -13.04297,17.32422 -0.97352,3.20512 -0.98355,3.49591 -0.21094,6.51172 1.46911,5.73451 4.12072,9.87062 14.20508,22.16406 7.04705,8.59078 9.80871,12.75734 13.58789,20.5 3.33329,6.82912 4.47461,10.74622 4.47461,15.35547 0,9.20425 -4.86063,14.60486 -15,16.66406 -8.5099,1.72827 -26.61168,1.44184 -36.5,-0.57812 -10.30698,-2.10548 -13.08539,-5.48774 -15.00781,-18.26758 -0.55221,-3.67094 -1.45574,-8.03828 -2.00781,-9.70508 -3.06755,-9.26124 -12.20146,-16.55045 -19.38868,-15.47266 -4.13789,0.62052 -7.2423,2.10776 -9.65625,4.62305 -6.02225,6.2751 -6.76345,9.89104 -5.16601,25.19336 0.908,8.69788 0.78222,9.10509 -3.44727,11.16992 -7.078741,3.45584 -20.781165,5.00726 -32.57617,3.68946 -10.93511,-1.22173 -17.73575,-4.4771 -20.265625,-9.70313 -1.247,-2.57595 -1.284796,-1.53817 0.683594,-18.21875 4.46359,-37.82538 5.083062,-78.87462 1.789062,-118.5 C 53.329566,65.93709 52.300216,57.354113 51.572266,55.439453 51.309096,54.747263 50.816413,52.056614 50.476562,49.458984 48.479665,34.195824 57.056209,25.02297 76.621094,21.5 80.000609,20.891465 83.347286,20.573377 88.035156,20.537109 Z M 124.25,74.75 c -6.50657,0 -8.73461,0.793344 -12.72656,4.527344 -4.28519,4.0083 -6.55205,10.276816 -6.58985,18.222656 -0.063,13.25225 5.86058,22.73772 15.81641,25.32617 3.21239,0.83521 8.43263,0.46491 11.93555,-0.8457 8.57025,-3.20654 13.37954,-14.25496 11.91406,-27.369142 C 143.58131,85.498798 139.64468,79.364197 132.75,76.148438 130.03632,74.882746 129.22508,74.75 124.25,74.75 Z"
id="path4539"
inkscape:connector-curvature="0" />
<path
style="opacity:0.4;stroke-width:0.5;stroke:none"
d="m 88.035156,20.537109 c -4.68787,0.03627 -8.034547,0.354356 -11.414062,0.962891 -19.564885,3.52297 -28.14143,12.695824 -26.144532,27.958984 0.339851,2.59763 0.832534,5.288279 1.095704,5.980469 0.72795,1.91466 1.7573,10.497637 2.884765,24.060547 3.294,39.62538 2.674528,80.67462 -1.789062,118.5 -1.96839,16.68058 -1.930594,15.6428 -0.683594,18.21875 2.529875,5.22603 9.330515,8.4814 20.265625,9.70313 11.795005,1.3178 25.497427,-0.23362 32.57617,-3.68946 4.22949,-2.06483 4.35527,-2.47204 3.44727,-11.16992 -1.59744,-15.30232 -0.85624,-18.91826 5.16601,-25.19336 2.41395,-2.51529 5.51836,-4.00253 9.65625,-4.62305 7.18722,-1.07779 16.32113,6.21142 19.38868,15.47266 0.55207,1.6668 1.4556,6.03414 2.00781,9.70508 1.92242,12.77984 4.70083,16.1621 15.00781,18.26758 9.88832,2.01996 27.9901,2.30639 36.5,0.57812 10.13937,-2.0592 15,-7.45981 15,-16.66406 0,-4.60925 -1.14132,-8.52635 -4.47461,-15.35547 -3.77918,-7.74266 -6.54084,-11.90922 -13.58789,-20.5 -10.08436,-12.29344 -12.73597,-16.42955 -14.20508,-22.16406 -0.77261,-3.01581 -0.76258,-3.3066 0.21094,-6.51172 1.43559,-4.72636 4.02663,-8.16882 13.04297,-17.32422 10.69422,-10.85916 14.81744,-17.48389 16.46875,-26.4668 1.74091,-9.470307 -0.66049,-26.333901 -5.2461,-36.839841 C 196.87168,48.924149 186.30887,40.483203 163.75,31.908203 145.91145,25.127473 133.60196,22.797639 107.5,21.261719 98.752735,20.747004 92.723026,20.500842 88.035156,20.537109 Z M 124.25,74.75 c 4.97508,0 5.78632,0.132747 8.5,1.398438 6.89468,3.215759 10.83131,9.35036 11.84961,18.46289 1.46548,13.114182 -3.34381,24.162602 -11.91406,27.369142 -3.50292,1.31061 -8.72316,1.68091 -11.93555,0.8457 -9.95583,-2.58845 -15.87936,-12.07392 -15.81641,-25.32617 0.0378,-7.94584 2.30466,-14.214356 6.58985,-18.222656 C 115.51539,75.543344 117.74343,74.75 124.25,74.75 Z"
id="path4535"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7 KiB

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In -->
<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.0"
width="512"
height="512"
viewBox="9 26.110352 512 512"
enable-background="new 9 26.1103516 256 256"
xml:space="preserve"
id="root"
sodipodi:version="0.32"
inkscape:version="0.92.1 r15371"
sodipodi:docname="scummvm-symbolic.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
style="display:inline"
inkscape:export-filename="scummvm_icon.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><sodipodi:namedview
inkscape:window-height="889"
inkscape:window-width="1280"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:zoom="0.7949219"
inkscape:cx="26.651701"
inkscape:cy="251.13204"
inkscape:window-x="154"
inkscape:window-y="97"
inkscape:current-layer="layer11"
showgrid="false"
inkscape:pagecheckerboard="true"
inkscape:window-maximized="0"
inkscape:snap-page="true" /><metadata
id="metadata21"><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 /></cc:Work></rdf:RDF></metadata><defs
id="defs4" /><g
style="display:inline"
inkscape:label="Border"
id="layer6"
inkscape:groupmode="layer"><path
style="display:inline;opacity:1;fill-opacity:1;stroke:none;stroke-width:0.99229699;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 247.75195 3.9707031 C 168.81478 4.4559723 111.24558 39.012507 87.701172 91.960938 C 66.98442 138.56716 72.242294 194.64561 95.78125 231.54883 C 103.63339 244.46501 122.20814 262.6738 125.04688 274.78516 C 126.28313 281.93592 114.94717 292.85795 109.18945 298.75391 C 93.159213 315.16903 68.367589 338.8906 61.617188 358.08398 C 48.501749 395.3793 79.287956 421.65858 98.892578 439.96484 C 137.14486 475.63334 194.66875 499.19627 268.63867 494.23047 C 317.80799 490.91993 357.20282 476.56994 389.41016 452.33398 C 420.3629 429.0421 439.13287 389.55703 444.36523 348.25195 C 447.87319 320.55953 438.71738 267.18414 414.10742 237.84766 C 407.0155 229.39368 391.80221 210.63586 391.29883 204.39062 C 390.70565 197.03119 395.48621 189.37084 405.78125 176.83008 C 422.38013 156.61048 436.41046 135.64339 439.06836 116.76172 C 443.39398 86.032799 409.14323 58.130375 367.06055 33.945312 C 337.60191 17.00206 294.73616 5.4097535 259.55078 4.1484375 C 255.56676 4.0056243 251.63411 3.9468374 247.75195 3.9707031 z M 243.86719 41.96875 C 279.30807 41.96875 302.08752 47.114847 325.4082 57.703125 C 356.90312 71.129827 376.94397 88.714193 394.06055 104.31445 C 400.73233 110.39519 394.97234 117.73592 391.49414 123.13086 C 382.75238 136.68998 370.38433 153.40945 366.52539 161.45312 C 363.45381 167.30047 357.77758 169.50126 353.06836 165.42578 C 353.06836 165.42578 341.42668 155.55847 332.02148 149.48633 C 322.61364 143.43277 313.71589 138.8804 304.70312 134.57422 C 295.68243 130.27334 287.56788 127.67653 279.73242 125.52344 C 271.88636 123.37831 265.66442 122.60937 259.7832 122.60938 C 252.72732 122.60938 246.89735 124.68446 243.57227 128.20312 C 240.23655 131.72179 239.02871 134.96475 239.20312 140.4375 C 239.51763 150.30529 241.01685 152.14316 250.31445 161.03516 C 258.34081 167.102 264.66748 171.46761 280.9082 180.12305 C 293.04806 186.59295 306.08957 193.8143 320.00781 201.83008 C 333.91805 209.85114 347.89785 220.1618 360.05273 231.5 C 372.20499 242.85676 381.67063 255.81438 389.71289 271.65234 C 397.73927 287.4956 401.76367 306.68186 401.76367 328.58398 C 401.76367 349.7039 397.35172 368.62089 388.53516 384.06641 C 379.71596 399.51987 367.93864 412.54035 353.82422 422.51562 C 339.71512 432.4909 323.41916 439.60125 305.58984 444.49609 C 287.74728 449.38031 269.50013 451.51367 251.47461 451.51367 C 215.40769 451.51367 187.64581 445.80079 163.15039 432.51367 C 135.19288 419.21861 97.190099 378.40844 97.949219 372.08594 C 98.936339 363.86458 120.41276 342.23877 133.43164 323.75977 C 139.77226 314.75991 142.28633 310.50778 151.78516 318.91406 C 151.78516 318.91406 160.0429 327.10337 168.27344 333.55469 C 176.50398 340.01397 185.73046 344.42631 195.33984 349.31055 C 204.93858 354.21067 210.65438 356.95381 222.2207 360.39453 C 232.21984 363.53403 243.41149 364.77539 252.03711 364.77539 C 260.65477 364.77539 266.40215 361.55803 270.47461 357.87695 C 274.97701 353.80725 276.29492 349.51331 276.29492 340.90625 C 276.29492 333.48179 270.06544 324.86908 262.03906 318.21094 C 254.0021 311.56872 244.9475 305.88672 232.99414 298.64258 C 221.0328 291.40638 207.78329 282.96177 193.87305 274.54297 C 179.95483 266.13743 167.02368 255.63256 155.07031 244.28906 C 143.10633 232.95086 134.68401 222.45627 126.65234 207.79297 C 118.61537 193.12437 113.96875 176.84024 113.96875 157.67188 C 113.96875 138.89597 116.866 120.58846 123.92188 106.50586 C 130.97777 92.423259 140.48009 80.599875 152.44141 71.011719 C 164.39213 61.434173 178.2091 54.200921 193.89062 49.300781 C 209.56417 44.416551 226.22881 41.96875 243.86719 41.96875 z "
id="path53"
transform="translate(9,26.110352)" /></g><g
style="display:inline"
inkscape:label="Green Plain"
id="layer11"
inkscape:groupmode="layer"><path
sodipodi:nodetypes="cssscscsscsccsssccccsssscscsscccccssscsccc"
style="display:inline;opacity:0.4;fill-opacity:1;stroke:none;stroke-width:0.52499998;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path3268"
d="m 398.71192,297.76269 c 8.02638,15.84326 12.0515,35.02914 12.0515,56.93126 0,21.11992 -4.41224,40.03694 -13.2288,55.48246 -8.8192,15.45346 -20.59652,28.47438 -34.71094,38.44966 -14.1091,9.97528 -30.40474,17.08524 -48.23406,21.98008 -17.84256,4.88422 -36.08976,7.01718 -54.11528,7.01718 -36.06692,0 -63.82946,-5.71204 -88.32488,-18.99916 -27.95751,-13.29506 -65.95956,-54.1046 -65.20044,-60.4271 0.98712,-8.22136 22.46435,-29.8476 35.48323,-48.3266 6.34062,-8.99986 8.85358,-13.25202 18.35241,-4.84574 0,0 8.25883,8.18932 16.48937,14.64064 8.23054,6.45928 17.45705,10.8704 27.06643,15.75464 9.59874,4.90012 15.31322,7.6434 26.87954,11.08412 9.99914,3.1395 21.19056,4.38148 29.81618,4.38148 8.61766,0 14.36558,-3.21638 18.43804,-6.89746 4.5024,-4.0697 5.82072,-8.3652 5.82072,-16.97226 0,-7.42446 -6.22922,-16.0369 -14.2556,-22.69504 -8.03696,-6.64222 -17.09264,-12.32348 -29.046,-19.56762 -11.96134,-7.2362 -25.2103,-15.68208 -39.12054,-24.10088 -13.91822,-8.40554 -26.85002,-18.90904 -38.80339,-30.25254 -11.96398,-11.3382 -20.38534,-21.8336 -28.41701,-36.4969 -8.03697,-14.6686 -12.68312,-30.95144 -12.68312,-50.1198 0,-18.7759 2.89762,-37.08418 9.9535,-51.16678 7.05589,-14.0826 16.55654,-25.90604 28.51786,-35.494196 11.95072,-9.577546 25.76816,-16.811084 41.44968,-21.711224 15.67354,-4.88423 32.3388,-7.331648 49.97718,-7.331648 35.44088,0 58.21984,5.146172 81.54052,15.73445 31.49492,13.426702 51.5351,31.011788 68.65168,46.612048 6.67178,6.08074 0.9127,13.42022 -2.5655,18.81516 -8.74176,13.55912 -21.10932,30.27951 -24.96826,38.32319 -3.07158,5.84734 -8.7491,8.04662 -13.45832,3.97114 0,0 -11.64068,-9.8662 -21.04588,-15.93834 -9.40784,-6.05356 -18.305,-10.60579 -27.31776,-14.91197 -9.0207,-4.30088 -17.1356,-6.89888 -24.97106,-9.05197 -7.84606,-2.14513 -14.06878,-2.91249 -19.95,-2.91249 -7.05588,0 -12.88466,2.07515 -16.20974,5.59382 -3.33572,3.51866 -4.54368,6.76055 -4.36926,12.2333 0.3145,9.86779 1.81304,11.70507 11.11064,20.59707 8.02636,6.06684 14.3523,10.43232 30.59302,19.08776 12.13986,6.4699 25.18214,13.6928 39.10038,21.70858 13.91024,8.02106 27.88894,18.33102 40.04382,29.66922 12.15226,11.35676 21.61788,24.3145 29.66014,40.15246 z"
inkscape:connector-curvature="0" /></g></svg>

After

Width:  |  Height:  |  Size: 8.1 KiB

View file

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="snes9x-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="134.77882"
inkscape:cy="121.61994"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="275"
inkscape:window-y="212"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:measure-start="156,0"
inkscape:measure-end="156,44">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<ellipse
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:24.71783257;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
id="ellipse4508"
cx="153.82973"
cy="415.26666"
rx="54"
ry="21.999996" />
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:19.09568787;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 203.95241,312.22253 a 50,42.592593 0 0 0 -50,42.59259 50,42.592593 0 0 0 0.37796,4.78697 38.888889,31.481481 0 0 1 16.28871,-2.93512 38.888889,31.481481 0 0 1 38.88889,31.48149 38.888889,31.481481 0 0 1 -1.67825,9.1182 50,42.592593 0 0 0 46.12269,-42.45154 50,42.592593 0 0 0 -50,-42.59259 z"
id="path4513"
inkscape:connector-curvature="0" />
<ellipse
ry="21.999996"
rx="54"
cy="379.26666"
cx="58"
id="ellipse4525"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:24.71783257;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
<path
inkscape:connector-curvature="0"
id="path4527"
d="m 108.17028,277.26666 a 49.386125,42.069662 0 0 0 -49.38612,42.06966 49.386125,42.069662 0 0 0 0.373323,4.72819 38.41143,31.094967 0 0 1 16.088719,-2.89907 38.41143,31.094967 0 0 1 38.411428,31.09497 38.41143,31.094967 0 0 1 -1.65763,9.00625 49.386125,42.069662 0 0 0 45.55641,-41.93034 49.386125,42.069662 0 0 0 -49.38613,-42.06966 z"
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:18.86124039;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
sodipodi:docname="steam-symbolic.svg"
inkscape:version="0.92.1 r15371">
<defs
id="defs873" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.5827038"
inkscape:cx="115.83439"
inkscape:cy="148.61253"
inkscape:document-units="px"
inkscape:current-layer="layer8"
showgrid="true"
units="px"
inkscape:window-width="1243"
inkscape:window-height="769"
inkscape:window-x="0"
inkscape:window-y="278"
inkscape:window-maximized="0"
inkscape:snap-grids="true"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-object-midpoints="false"
inkscape:snap-center="true"
inkscape:lockguides="false"
showguides="true"
inkscape:measure-start="48,204"
inkscape:measure-end="148,204">
<inkscape:grid
type="xygrid"
id="grid2086"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata876">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer8"
inkscape:label="Piston"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:32;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 32.49508,111.91684 a 16.0016,16.0016 0 0 0 -7.160433,30.62746 l 96.001483,44.00345 a 16.0016,16.0016 0 1 0 13.33169,-29.09203 L 38.666342,113.45227 a 16.0016,16.0016 0 0 0 -6.171262,-1.53543 z"
id="path4577"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 32.000494,98.001976 c -16.521164,0 -30.0000017,13.478834 -30.0000017,30.000004 0,16.52116 13.4788377,30 30.0000017,30 16.521163,0 30.000002,-13.47884 30.000002,-30 0,-16.52117 -13.478839,-30.000008 -30.000002,-30.000004 z m 0,7.994584 c 12.197644,0 21.998031,9.80777 21.998031,22.00542 0,12.19764 -9.800387,21.99803 -21.998031,21.99803 -12.197643,0 -21.998033,-9.80039 -21.998033,-21.99803 0,-12.19765 9.80039,-22.00542 21.998033,-22.00542 z"
id="path4579"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 128.00198,141.99804 c -16.52117,0 -30.000004,13.47884 -30.000004,30 0,16.52116 13.478834,30 30.000004,30 16.52116,0 30,-13.47884 30,-30 0,-16.52116 -13.47884,-30 -30,-30 z m 0,8.00197 c 12.19764,0 21.99803,9.80039 21.99803,21.99803 0,12.19764 -9.80039,22.00541 -21.99803,22.00541 -12.19765,0 -22.00542,-9.80777 -22.00542,-22.00541 0,-12.19764 9.80777,-21.99803 22.00542,-21.99803 z"
id="circle4581"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:18;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 204,31 c -26.95535,0 -49,22.044649 -49,49 0,26.95535 22.04465,49 49,49 26.95535,0 49,-22.04465 49,-49 0,-26.955351 -22.04465,-49 -49,-49 z m 0,18 c 17.22743,0 31,13.772571 31,31 0,17.227429 -13.77257,31 -31,31 -17.22743,0 -31,-13.772571 -31,-31 0,-17.227429 13.77257,-31 31,-31 z"
id="path4508"
inkscape:connector-curvature="0" />
<path
style="fill-rule:evenodd;stroke:none"
d="m 160,76 16,36 40,12 -60,48 -8,-20 -24,-8 z"
id="path4510"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<circle
style="opacity:1;fill-opacity:1;stroke-width:18;stroke-miterlimit:4;stroke-dasharray:none;stroke:none"
id="path4512"
cx="204"
cy="80"
r="24" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="stella-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5625"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="488"
inkscape:window-y="129"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:snap-bbox-midpoints="false"
inkscape:bbox-nodes="true"
inkscape:measure-start="116,68"
inkscape:measure-end="116,12"
inkscape:snap-smooth-nodes="true"
inkscape:object-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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 />
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Base"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15.01732063;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 150.95508,97.378906 152,116 c 7.27909,2.03363 14.1028,5.71296 19.80469,9.03906 3.23903,1.88944 6.04477,3.94613 8.20508,6.33789 2.1603,2.39177 3.7832,5.28783 3.7832,8.62305 0,7.78029 -5.28888,15.09526 -14.63086,20.04102 -9.34198,4.94575 -22.92993,7.96484 -41.375,7.96484 -18.44507,0 -32.033021,-3.01909 -41.375001,-7.96484 C 77.070129,155.09526 71.78125,147.78029 71.78125,140 c 0,-3.33522 1.622903,-6.23128 3.783203,-8.62305 2.16031,-2.39176 4.966048,-4.44845 8.205078,-6.33789 5.70189,-3.3261 13.158419,-7.00543 20.437499,-9.03906 l 0.40625,-18.445312 -47.871092,19.558592 c 1.238005,0.35858 2.416904,0.77622 3.513671,1.26367 1.987735,0.88344 3.750642,1.97085 5.183594,3.47657 C 66.872406,123.35925 68,125.46784 68,127.83789 v 8 c 0,2.37005 -1.127594,4.47865 -2.560547,5.98438 -1.432952,1.50572 -3.195859,2.59312 -5.183594,3.47656 C 56.280389,147.0657 51.308396,148 45.837891,148 c -5.470505,0 -10.442499,-0.9343 -14.417969,-2.70117 -1.987735,-0.88344 -3.750642,-1.97084 -5.183594,-3.47656 -1.432953,-1.50573 -2.560547,-3.61433 -2.560547,-5.98438 v -5.2168 l -13.9140622,5.68555 c -5.0087373,2.04632 -5.0087383,5.3404 0,7.38672 L 118.95898,188.30664 c 5.00874,2.04632 13.0733,2.04632 18.08204,0 l 109.19726,-44.61328 c 5.00874,-2.04632 5.00874,-5.3404 0,-7.38672 z"
id="rect4483"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccssssscccccccssccsccscccccccc"
transform="translate(0,229.26666)" />
<path
style="opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 4,377.26666 4,36 4,4 c 0,0 0,16 4,20 l 96,40 c 0,0 8,4 16,4 8,0 16,-4 16,-4 l 96,-40 c 4,-4 4,-20 4,-20 l 4,-4 4,-36 -108,44 c 0,0 -8,4 -16,4 -8,0 -16,-4 -16,-4 z"
id="path4485"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccczcccccczcc" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Stick"
style="display:inline">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:29.62624359;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="M 143.996,12.04492 C 143.997,12.02995 143.999,12.01497 144,12 c 0,-4.418278 -7.16344,-8 -16,-8 -8.83656,0 -16,3.581722 -16,8 0.001,0.01888 0.002,0.03776 0.004,0.05664 L 108,120 c 0,5.52285 8.95431,12 20,12 11.04569,0 20,-6.47715 20,-12 z"
id="path4488"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccscccscc" />
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:29.62624359;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 104,116 c -14.598941,4.2484 -28,12.65176 -28,20 0,12 16,24 52,24 36,0 52,-12 52,-24 0,-7.34824 -13.40106,-15.7516 -28,-20 l -0.002,3.85742 c 0.001,0.0475 0.002,0.0951 0.002,0.14258 0,4.92319 -3.39416,8.69111 -7.70703,11.44336 C 139.9801,134.19561 134.30471,136 128,136 c -6.30471,0 -11.9801,-1.80439 -16.29297,-4.55664 C 107.39416,128.69111 104,124.92319 104,120 c -2e-4,-0.0475 4.5e-4,-0.0951 0.002,-0.14258 z"
id="path4519"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssscccsssccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Button">
<path
style="opacity:1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:11.38419914;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 64,124 c 0,-4.41828 -8.058875,-8 -18,-8 -9.941125,0 -18,3.58172 -18,8 v 8 c 0,4.41828 8.058875,8 18,8 9.941125,0 18,-3.58172 18,-8 z"
id="path4548"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csccscc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="vice-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="344"
inkscape:window-y="196"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:measure-start="136,0"
inkscape:measure-end="136,32">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="V"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:80;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 20,261.26666 c -11.0197355,18.87457 -17.355469,36.75425 -17.355469,60 0,70.21866 49.355469,132 113.355469,132 h 48 v -192 h -48 v 144 c -40,0 -64,-35.39894 -64,-84 0.02136,-24.23523 10.036605,-43.38885 27.683594,-60 z"
id="path4483"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssccccccc" />
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 172,309.26666 h 84 l -44,44 h -40 z"
id="path4528"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4530"
d="m 172,405.26666 h 84 l -44,-44 h -40 z"
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="virtualjaguar-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="295"
inkscape:window-y="192"
inkscape:window-maximized="0"
inkscape:snap-smooth-nodes="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-page="true" />
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Traced"
style="display:inline">
<g
id="g4563"
transform="matrix(1.1092134,0,0,1.1092134,-8.4046006,-23.313786)"
style="stroke-width:0.90153974;fill-opacity:1">
<path
transform="translate(0,-229.26666)"
id="path4552"
d="m 211.92814,474.09797 c -10.31908,-8.36811 -9.26851,-7.5835 -21.30139,-15.9089 -12.4165,-8.59082 -11.70381,-7.98374 -10.63152,-9.05603 1.12495,-1.12496 11.74069,6.1522 27.42498,18.80001 6.81245,5.49357 12.92742,9.9883 13.58882,9.9883 0.6614,0 1.20255,0.66108 1.20255,1.46906 0,2.48494 -1.89633,1.50896 -10.28344,-5.29244 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4550"
d="m 204.78383,451.47574 c -7.3824,-5.7055 -13.42255,-10.66257 -13.42255,-11.01572 0,-2.448 11.29003,4.7694 21.28493,13.60687 11.56078,10.22202 6.60231,8.5879 -7.86238,-2.59115 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4548"
d="m 227.72056,453.30247 c -2.22196,-1.37761 -4.03992,-2.96205 -4.03992,-3.52095 0,-1.28607 8.46412,2.87962 9.6064,4.72786 1.29363,2.09315 -1.07062,1.58054 -5.56648,-1.20691 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4546"
d="m 161.24551,436.77037 c -7.27186,-5.58881 -13.88264,-10.70086 -14.69062,-11.36013 -0.80798,-0.65928 -6.231,-4.98336 -12.05114,-9.60908 -5.82014,-4.62574 -11.10877,-9.26619 -11.7525,-10.31214 -0.64372,-1.04595 -4.14526,-3.64471 -7.78119,-5.77501 -6.79857,-3.98333 -33.491129,-30.33406 -36.586692,-36.11816 -0.954391,-1.78328 -4.185857,-4.8376 -7.181069,-6.78735 -14.819249,-9.64678 -18.237727,-16.14772 -5.068175,-9.63819 10.269888,5.07627 16.373561,10.12532 19.396524,16.04511 1.477553,2.89345 6.686229,9.0741 11.574826,13.73476 4.888596,4.66067 10.345206,10.51989 12.125796,13.0205 1.78059,2.50062 5.28767,5.42896 7.79351,6.50744 2.50584,1.07848 7.66552,5.22162 11.46597,9.20696 3.80046,3.98535 11.07232,10.32779 16.15968,14.09433 26.85958,19.886 35.51016,27.22957 32.02023,27.18229 -1.21198,-0.0165 -8.15329,-4.60253 -15.42515,-10.19133 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4544"
d="m 233.14536,443.51851 c -1.56712,-1.14591 -2.41892,-2.51387 -1.8929,-3.03992 1.0882,-1.08819 7.1188,2.3069 7.1188,4.00772 0,1.71626 -2.08269,1.33056 -5.2259,-0.9678 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4542"
d="m 218.89842,433.72748 c -4.39197,-2.55779 -10.41567,-8.67478 -9.47187,-9.61857 1.08075,-1.08074 12.78503,7.94946 12.78503,9.86403 0,1.63865 -0.0893,1.63203 -3.31316,-0.24546 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4540"
d="m 163.89232,420.74303 c -6.62411,-4.50722 -15.14124,-11.30167 -18.927,-15.09882 -3.78574,-3.79712 -8.9532,-7.88615 -11.48321,-9.08673 -2.53002,-1.20058 -6.24281,-3.93835 -8.25065,-6.08394 -2.00784,-2.1456 -6.95601,-6.31418 -10.99593,-9.26351 -4.03992,-2.94933 -15.396475,-13.38409 -25.23678,-23.18835 -14.292033,-14.23967 -18.96246,-18.02686 -23.214938,-18.82462 -5.784241,-1.08513 -7.951004,-4.0953 -5.2717,-7.32365 3.637295,-4.38268 12.326208,1.66283 36.508259,25.40143 30.367349,29.81048 39.812919,38.37905 42.307239,38.37905 1.78405,0 27.31049,21.42214 35.02297,29.39177 5.23642,5.41099 1.64767,3.93456 -10.45826,-4.30263 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4538"
d="m 169.32535,410.92355 c -10.0998,-7.5642 -24.88184,-19.86805 -32.84899,-27.34187 -7.96713,-7.47382 -17.8833,-15.87606 -22.03593,-18.67163 -4.15261,-2.79558 -12.37927,-10.15884 -18.281458,-16.3628 -5.902191,-6.20395 -13.163969,-12.52139 -16.137277,-14.03874 -6.298339,-3.21419 -9.123491,-5.61214 -9.123491,-7.74391 0,-1.89406 5.167278,-4.78309 6.382119,-3.56825 0.49071,0.49071 1.925484,0.0347 3.188393,-1.01349 2.044831,-1.69706 1.862374,-2.35849 -1.666827,-6.04218 -3.500951,-3.6542 -3.669306,-4.24921 -1.443927,-5.10317 1.607022,-0.61668 3.573831,0.16545 5.432209,2.16019 4.94783,5.31088 9.249934,4.0262 16.557224,-4.94426 7.895315,-9.69233 10.918275,-17.39349 8.141055,-20.73982 -3.17685,-3.82787 -12.695118,-7.91562 -18.431408,-7.91562 -7.436905,0 -15.025741,2.94766 -16.071478,6.24248 -0.474551,1.49516 -3.09737,4.95303 -5.828503,7.68416 -2.731118,2.73112 -5.407176,6.82988 -5.946777,9.10834 -0.539616,2.27847 -2.100758,5.46482 -3.469204,7.08079 -2.824977,3.33593 -4.96897,10.37914 -10.956161,35.99202 -1.227666,5.25189 -3.245716,13.88814 -4.484561,19.19166 -1.238845,5.30352 -2.252454,10.97777 -2.252454,12.60944 0,4.05426 -1.363098,5.08553 -4.50169,3.4058 -2.115905,-1.1324 -2.849642,-0.75395 -3.660667,1.88801 -0.557877,1.81736 -2.906877,7.38884 -5.219974,12.38108 -3.03445,6.54904 -5.099789,9.20827 -7.416353,9.5489 -2.057157,0.30249 -3.727039,2.05552 -4.647847,4.8793 -1.376218,4.22038 -3.408136,6.54004 -5.7710337,6.58828 -2.482362,0.0507 -1.0062339,-14.97207 2.0605207,-20.97016 1.739281,-3.40175 4.394802,-11.14307 5.901163,-17.20295 1.506376,-6.05988 4.049792,-12.80916 5.652054,-14.9984 1.602262,-2.18924 2.913208,-5.97706 2.913208,-8.41738 0,-2.44031 0.906955,-6.92936 2.01545,-9.97565 1.108496,-3.04629 3.849266,-11.15787 6.090584,-18.02574 2.241318,-6.86786 5.252528,-15.15427 6.691548,-18.41423 1.439019,-3.25997 3.066931,-7.72224 3.617579,-9.91617 1.201913,-4.78884 -1.248996,-5.27307 -7.764036,-1.53395 -4.083728,2.34373 -4.588497,2.3045 -11.137017,-0.86558 -3.772683,-1.82632 -6.859417,-3.84559 -6.859417,-4.48726 0,-0.64167 -1.322156,-1.51243 -2.938124,-1.93501 -4.09,-1.06956 -3.667087,-4.90522 0.86851,-7.87706 2.093633,-1.3718 4.398533,-4.05104 5.121987,-5.95386 0.806559,-2.1214 4.022232,-4.64521 8.313127,-6.52453 14.910699,-6.53053 30.875435,-11.90555 39.317135,-13.23731 4.847904,-0.76481 11.877953,-2.34809 15.622312,-3.51841 7.846421,-2.45242 21.716587,-2.76707 29.184077,-0.66205 2.82794,0.79717 8.4471,3.93929 12.48702,6.98249 21.91357,16.50712 16.87811,44.38619 -11.08507,61.37292 -4.811,2.92252 -8.74726,6.17965 -8.74726,7.23808 0,1.05842 2.47904,4.49949 5.50898,7.64684 3.02994,3.14735 9.16358,9.67063 13.63032,14.49619 4.46675,4.82556 14.69159,14.39289 22.72188,21.26076 14.20291,12.14695 17.6397,15.20614 34.53004,30.73625 4.44391,4.08602 8.55264,7.43594 9.13051,7.44425 1.63924,0.0235 11.43635,8.97632 11.43635,10.45072 0,0.72429 -0.99161,1.31688 -2.20359,1.31688 -1.21198,0 -2.20359,-0.50452 -2.20359,-1.12114 0,-0.61664 -3.8012,-4.05485 -8.44711,-7.64046 -4.64591,-3.58563 -14.06627,-11.19085 -20.93413,-16.9005 -6.86786,-5.70964 -16.45349,-13.30632 -21.3014,-16.88149 -4.8479,-3.57518 -11.25391,-8.85227 -14.23556,-11.72687 -2.98167,-2.87461 -6.61759,-6.25934 -8.07984,-7.52164 -1.46226,-1.2623 -5.67196,-5.56068 -9.3549,-9.55196 -3.68292,-3.99128 -8.39436,-8.0306 -10.46987,-8.97625 -2.07549,-0.94566 -6.146467,-3.80277 -9.046615,-6.34912 -3.509721,-3.08158 -6.394856,-4.4356 -8.627918,-4.04918 -2.986001,0.51673 -2.153645,1.69997 7.568695,10.75938 6.008008,5.59833 14.293808,13.48418 18.412888,17.5241 4.11907,4.03992 9.95061,9.28588 12.95896,11.65768 3.00836,2.3718 7.94411,6.59884 10.96835,9.39342 3.02424,2.79458 7.19911,6.14263 9.27748,7.44012 3.31025,2.06653 16.11282,13.33133 35.62741,31.34802 10.65647,9.83848 5.03468,6.92103 -13.69768,-7.1085 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
<path
transform="translate(0,-229.26666)"
id="path4526"
d="m 29.764471,400.7956 c 0,-1.21198 0.661078,-2.2036 1.469062,-2.2036 0.807984,0 1.469062,-1.98323 1.469062,-4.40718 0,-3.02233 0.723527,-4.40719 2.302593,-4.40719 2.605807,0 1.777124,4.21668 -1.948755,9.91617 -2.530797,3.87134 -3.291962,4.12611 -3.291962,1.1018 z"
style="stroke-width:0.90153974;fill-opacity:1"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
viewBox="0 0 512 512"
version="1.1"
id="root"
sodipodi:docname="web-symbolic.svg"
width="512"
height="512"
inkscape:version="0.92.1 r15371">
<metadata
id="metadata18">
<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>HTML5 Logo Badge</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs16" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1411"
inkscape:window-height="872"
id="namedview14"
showgrid="false"
inkscape:zoom="1.3203125"
inkscape:cx="256"
inkscape:cy="256"
inkscape:window-x="247"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:current-layer="layer2" />
<title
id="title2">HTML5 Logo Badge</title>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Shield"
style="display:inline">
<path
style=""
d="M 30 0 L 71 460 L 255 512 L 440 460 L 481 0 L 30 0 z M 256 37 L 440 37 L 405 431 L 256 472 L 256 414 L 255 414 L 139 382 L 132 293 L 158 293 L 188 293 L 192 338 L 255 355 L 256 354.73047 L 256 265 L 255 265 L 129 265 L 115 109 L 114 94 L 255 94 L 256 94 L 256 37 z M 176 150 L 181 208 L 255 208 L 256 208 L 256 150 L 255 150 L 176 150 z "
id="path4" />
<path
style="opacity:0.8;"
d="M 256 37 L 256 94 L 397 94 L 396 109 L 393 138 L 392 150 L 256 150 L 256 208 L 371 208 L 387 208 L 385 223 L 372 372 L 371 382 L 256 413.72461 L 256 414 L 256 472 L 405 431 L 440 37 L 256 37 z M 256 265 L 256 354.73047 L 318 338 L 325 265 L 256 265 z "
id="path6" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Five"
style="display:inline">
<path
style="opacity:0.5"
d="m 256,208 h -75 l -5,-58 h 80 V 94 h -1 -141 l 1,15 14,156 h 127 z m 0,147 h -1 l -63,-17 -4,-45 h -30 -26 l 7,89 116,32 h 1 z"
id="path8"
inkscape:connector-curvature="0" />
<path
style="opacity:0.3"
d="m 255,208 v 57 h 70 l -7,73 -63,17 v 59 l 116,-32 1,-10 13,-149 2,-15 h -16 z m 0,-114 v 35 21 0 h 137 v 0 0 l 1,-12 3,-29 1,-15 z"
id="path10"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
width="256"
viewBox="0 0 256 256"
version="1.1"
height="256"
id="root"
sodipodi:docname="windows-symbolic.svg"
inkscape:version="0.92.1 r15371">
<metadata
id="metadata10">
<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="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1424"
inkscape:window-height="864"
id="namedview6"
showgrid="true"
viewbox-x="0"
inkscape:snap-page="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:object-nodes="true"
inkscape:object-paths="true"
inkscape:zoom="1.6931893"
inkscape:cx="57.245524"
inkscape:cy="128.64375"
inkscape:window-x="178"
inkscape:window-y="71"
inkscape:window-maximized="0"
inkscape:current-layer="root">
<inkscape:grid
type="xygrid"
id="grid5074"
empspacing="4"
spacingx="8"
spacingy="8" />
</sodipodi:namedview>
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 0,0 V 8 256 H 256 V 0 Z M 16,16 H 240 V 240 H 16 Z"
id="rect4487"
inkscape:connector-curvature="0" />
<path
style="fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 224 40 L 120 53 L 120 120 L 224 120 L 224 40 z M 112 54 L 32 64 L 32 120 L 112 120 L 112 54 z M 32 128 L 32 184 L 112 194 L 112 128 L 32 128 z M 120 128 L 120 195 L 224 208 L 224 128 L 120 128 z "
id="path5106" />
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
sodipodi:docname="wine-symbolic.svg"
inkscape:version="0.92.1 r15371">
<defs
id="defs873" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.5827039"
inkscape:cx="118.84588"
inkscape:cy="139.39183"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="true"
units="px"
inkscape:window-width="1243"
inkscape:window-height="769"
inkscape:window-x="198"
inkscape:window-y="184"
inkscape:window-maximized="0"
inkscape:snap-grids="true"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="false"
inkscape:snap-object-midpoints="false"
inkscape:snap-center="true"
inkscape:lockguides="false"
showguides="true"
inkscape:measure-start="48,204"
inkscape:measure-end="148,204">
<inkscape:grid
type="xygrid"
id="grid2086"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata876">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Stem"
style="display:inline">
<path
style="display:inline;opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.23613441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 98.320039,142.20403 c 11.856411,11.4641 20.009021,20.99496 21.712811,26.39231 l 8.78461,32.78461 c 1.37094,5.11639 -0.47256,14.25528 -5.52071,22.99184 -22.38921,7.87876 -30.871593,16.04148 -29.407491,21.50558 1.464101,5.4641 25.118461,7.81188 55.452501,-0.3161 30.33405,-8.12798 49.82953,-22.03773 48.36543,-27.50183 -1.4641,-5.4641 -12.97564,-8.24228 -36.23116,-3.90203 -8.80164,-5.02261 -14.89443,-12.05 -16.26626,-17.16977 l -8.78461,-32.78461 c -1.03366,-5.98077 3.07179,-21.32051 7.60769,-37.17691 -4.5359,15.8564 -18,31.17691 -18,31.17691 0,0 -15.8564,-4.5359 -27.712811,-16 z"
id="path4514"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccczzzcccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Lip"
style="display:inline">
<path
style="display:inline;opacity:1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.23613441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.721163,32.082784 c -0.979585,1.82215 -1.383613,3.671883 -0.821729,5.4389 l 10.99498,34.577231 c 11.856406,11.464101 35.176916,11.071796 43.712816,-11.712813 8.53589,-22.78461 17.4641,-22.248712 27.8564,-16.248712 l -7.5252,-26.72377 C 124.08013,0.16065072 64.190441,14.468554 54.721163,32.082784 Z"
id="path4520"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csczcsc" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Wine"
style="display:inline">
<path
style="display:inline;opacity:0.6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.23613441px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 64.894414,72.098915 c 10.343705,26.024136 21.569219,58.641015 33.425625,70.105115 11.856411,11.4641 22.248711,17.4641 27.712811,16 5.4641,-1.4641 13.4641,-15.32051 18,-31.17691 4.5359,-15.85641 -1.16254,-56.860863 -7.56922,-82.88973 -10.3923,-6 -19.32051,-6.535898 -27.8564,16.248712 -8.5359,22.784609 -31.85641,23.176914 -43.712816,11.712813 z"
id="path4535"
inkscape:connector-curvature="0"
sodipodi:nodetypes="czzzczc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
sodipodi:docname="winesteam-symbolic.svg"
inkscape:version="0.92.1 r15371">
<defs
id="defs873" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.5827038"
inkscape:cx="139.75641"
inkscape:cy="130.97137"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
units="px"
inkscape:window-width="1243"
inkscape:window-height="769"
inkscape:window-x="0"
inkscape:window-y="278"
inkscape:window-maximized="0"
inkscape:snap-grids="true"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="false"
inkscape:snap-midpoints="false"
inkscape:snap-object-midpoints="false"
inkscape:snap-center="true"
inkscape:lockguides="false"
showguides="true"
inkscape:measure-start="48,204"
inkscape:measure-end="148,204">
<inkscape:grid
type="xygrid"
id="grid2086"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata876">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer8"
inkscape:label="Glasston"
style="display:inline">
<path
style="display:inline;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
d="m 204.9961,47.17969 c -1.67281,0.05075 -3.08191,0.564339 -4.14257,1.625 -16.97057,16.970563 -33.9402,33.939594 -45.25391,50.910158 -11.31371,16.970562 -2.99502,30.772762 -8.48633,36.769542 l -10.54297,11.51562 16,16 11.51367,-10.54492 c 6.24654,-5.20544 19.79897,2.82934 36.76954,-8.48438 16.97056,-11.3137 33.94154,-28.2853 50.9121,-45.255862 C 262.01868,89.461802 221.16668,46.689065 204.9961,47.17969 Z m -12.62695,27.080079 c -2.82843,8.485281 5.65669,22.627257 19.79883,19.798829 14.14213,-2.828425 16.9707,5.6576 16.9707,11.314452 0,0 -19.09187,20.50473 -36.76953,31.11134 -17.67767,10.6066 -31.11328,2.83007 -31.11328,2.83007 0,0 -7.77848,-13.43561 2.82812,-31.11329 10.6066,-17.677665 28.28516,-33.941401 28.28516,-33.941401 z"
id="path2096"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:32;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 32.49508,111.91684 a 16.0016,16.0016 0 0 0 -7.160433,30.62746 l 96.001483,44.00345 a 16.0016,16.0016 0 1 0 13.33169,-29.09203 L 38.666342,113.45227 a 16.0016,16.0016 0 0 0 -6.171262,-1.53543 z"
id="path4577"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 32.000494,98.001976 c -16.521164,0 -30.0000017,13.478834 -30.0000017,30.000004 0,16.52116 13.4788377,30 30.0000017,30 16.521163,0 30.000002,-13.47884 30.000002,-30 0,-16.52117 -13.478839,-30.000008 -30.000002,-30.000004 z m 0,7.994584 c 12.197644,0 21.998031,9.80777 21.998031,22.00542 0,12.19764 -9.800387,21.99803 -21.998031,21.99803 -12.197643,0 -21.998033,-9.80039 -21.998033,-21.99803 0,-12.19765 9.80039,-22.00542 21.998033,-22.00542 z"
id="path4579"
inkscape:connector-curvature="0" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;"
d="m 128.00198,141.99804 c -16.52117,0 -30.000004,13.47884 -30.000004,30 0,16.52116 13.478834,30 30.000004,30 16.52116,0 30,-13.47884 30,-30 0,-16.52116 -13.47884,-30 -30,-30 z m 0,8.00197 c 12.19764,0 21.99803,9.80039 21.99803,21.99803 0,12.19764 -9.80039,22.00541 -21.99803,22.00541 -12.19765,0 -22.00542,-9.80777 -22.00542,-22.00541 0,-12.19764 9.80777,-21.99803 22.00542,-21.99803 z"
id="circle4581"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Wine"
style="display:inline">
<path
sodipodi:nodetypes="czczczc"
inkscape:connector-curvature="0"
id="path2101"
d="m 161.25631,139.31371 c 0,0 13.43502,7.77818 31.1127,-2.82842 17.67766,-10.60661 36.76955,-31.1127 36.76955,-31.1127 0,-5.656856 -2.82842,-14.142137 -16.97056,-11.313713 -14.14214,2.828429 -22.62742,-11.313706 -19.79899,-19.798988 0,0 -17.67768,16.263456 -28.28427,33.941131 -10.60661,17.67767 -2.82843,31.11269 -2.82843,31.11269 z"
style="display:inline;opacity:0.3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9 KiB

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Wikimedia Commons, User:Sven. Hand edited. :)-->
<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"
width="128"
height="128"
viewBox="0 0 128 128"
version="1.1"
id="root"
sodipodi:docname="xdg-symbolic.svg"
inkscape:version="0.92.1 r15371">
<metadata
id="metadata57">
<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="defs55" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1364"
inkscape:window-height="802"
id="namedview53"
showgrid="false"
fit-margin-top="11"
fit-margin-left="2"
fit-margin-right="2"
fit-margin-bottom="11"
units="px"
inkscape:zoom="4.734375"
inkscape:cx="73.741809"
inkscape:cy="64.621834"
inkscape:window-x="489"
inkscape:window-y="137"
inkscape:window-maximized="0"
inkscape:current-layer="layer2"
inkscape:snap-page="true" />
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Container"
style="display:inline">
<path
style="clip-rule:nonzero;opacity:0.2;fill-rule:nonzero;stroke:none;stroke-width:3.49699998;stroke-miterlimit:4;stroke-dasharray:none"
d="M 93.208984 16.041016 C 92.656297 16.022656 92.099878 16.028384 91.541016 16.058594 C 90.263615 16.127634 88.972853 16.326241 87.685547 16.662109 L 20.011719 34.318359 C 9.7131452 37.005341 3.5689101 47.484755 6.2558594 57.783203 L 16.847656 98.386719 C 19.534652 108.68665 30.016039 114.83147 40.314453 112.14453 L 107.98828 94.488281 C 118.28689 91.80129 124.43234 81.319748 121.74414 71.021484 L 121.17188 68.832031 L 121.17578 68.832031 L 111.15234 30.417969 C 108.94818 21.969919 101.4993 16.316462 93.208984 16.041016 z M 91.193359 21.318359 C 99.570175 21.351744 105.52971 25.963346 107.55078 34.597656 L 116.5625 69.132812 C 119.04996 80.302946 113.97896 88.504585 103.04492 91.101562 L 42.976562 106.77539 C 32.211762 110.18303 22.938638 105.09414 20.451172 94.207031 L 11.439453 59.673828 C 8.9519864 48.089828 12.448056 41.343123 24.955078 37.705078 L 85.025391 22.033203 C 87.197124 21.54627 89.260248 21.310655 91.193359 21.318359 z "
id="path34" />
<path
style="clip-rule:nonzero;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-miterlimit:4"
d="M 91.193359 21.318359 C 89.260248 21.310655 87.197124 21.54627 85.025391 22.033203 L 24.955078 37.705078 C 12.448056 41.343123 8.9519867 48.089828 11.439453 59.673828 L 20.451172 94.207031 C 22.938638 105.09414 32.211762 110.18303 42.976562 106.77539 L 103.04492 91.101562 C 113.97896 88.504587 119.04996 80.302949 116.5625 69.132812 L 107.55078 34.597656 C 105.52971 25.963346 99.570175 21.351744 91.193359 21.318359 z M 97.638672 39.621094 C 98.752321 39.55587 99.765408 40.268363 100.06055 41.398438 L 103.26758 53.699219 L 103.32422 53.917969 C 103.66096 55.206734 102.91277 56.48332 101.62305 56.820312 L 84.085938 61.394531 C 82.794148 61.731013 81.518836 60.984693 81.181641 59.693359 L 77.917969 47.175781 C 77.580724 45.884259 78.326014 44.60893 79.619141 44.271484 L 97.15625 39.697266 C 97.317605 39.655136 97.479579 39.630394 97.638672 39.621094 z M 45.013672 43.011719 C 45.23457 42.999229 45.452944 43.008913 45.666016 43.039062 C 46.944446 43.220006 48.035554 44.143261 48.384766 45.484375 L 52.386719 60.824219 C 52.852985 62.610319 51.804982 64.396675 50.017578 64.863281 L 28.525391 70.470703 C 26.736776 70.93738 24.951777 69.890088 24.486328 68.103516 L 20.484375 52.761719 C 20.01766 50.97296 21.063748 49.18937 22.851562 48.722656 L 44.345703 43.117188 C 44.56935 43.058839 44.792773 43.024199 45.013672 43.011719 z M 75.1875 50.566406 L 76.078125 53.984375 L 54.853516 56.429688 L 53.962891 53.013672 L 75.1875 50.566406 z M 79.810547 63.658203 C 80.755455 64.414109 81.920796 64.880608 83.150391 64.955078 L 75.060547 77.132812 C 74.362642 76.438226 73.458676 75.966729 72.478516 75.820312 C 72.241312 75.784876 71.999029 75.782056 71.755859 75.785156 L 79.810547 63.658203 z M 50.833984 68.263672 L 61.298828 78.361328 L 58.625 79.058594 L 58.623047 79.058594 C 58.213692 79.165833 57.843976 79.343588 57.494141 79.548828 L 46.871094 69.296875 L 50.833984 68.263672 z M 71.988281 79.273438 C 72.408369 79.330048 72.758375 79.629728 72.875 80.078125 L 75.060547 88.457031 L 75.119141 88.675781 C 75.275835 89.276051 74.941874 89.84336 74.341797 90 L 62.298828 93.140625 C 61.699559 93.296637 61.131546 92.96506 60.974609 92.363281 L 58.732422 83.769531 L 58.732422 83.767578 C 58.577974 83.17005 58.909324 82.601717 59.507812 82.443359 L 71.550781 79.300781 C 71.700286 79.261861 71.848252 79.254566 71.988281 79.273438 z "
id="path36" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 93.316406,12.552734 c -0.652426,-0.02257 -1.309455,-0.01729 -1.96875,0.01758 -1.50696,0.0797 -3.029028,0.313476 -4.544922,0.708985 L 19.128906,30.933594 C 7.0018799,34.097634 -0.29102585,46.538865 2.8730469,58.666016 L 13.464844,99.269531 C 16.62887,111.39804 29.070079,118.69142 41.197266,115.52734 L 108.87109,97.871094 c 11.39673,-2.973499 18.4079,-14.143134 16.59766,-25.542969 h 0.23242 L 114.53516,29.535156 C 111.93964,19.587206 103.10279,12.891235 93.316406,12.552734 Z m -0.107422,3.488282 c 8.290316,0.275446 15.739196,5.928903 17.943356,14.376953 l 10.02344,38.414062 h -0.004 l 0.57226,2.189453 c 2.6882,10.298264 -3.45725,20.779806 -13.75586,23.466797 L 40.314453,112.14453 C 30.016039,114.83147 19.534652,108.68665 16.847656,98.386719 L 6.2558594,57.783203 C 3.5689101,47.484755 9.7131454,37.005341 20.011719,34.318359 l 67.673828,-17.65625 c 1.287306,-0.335868 2.578068,-0.534475 3.855469,-0.603515 0.558862,-0.0302 1.115281,-0.03594 1.667968,-0.01758 z"
id="path4592"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Links"
style="display:inline">
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.5;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 75.1875,50.566406 -21.224609,2.447266 0.890625,3.416016 21.224609,-2.445313 z m 4.623047,13.091797 -8.054688,12.126953 c 0.24317,-0.0031 0.485453,-2.76e-4 0.722657,0.03516 0.98016,0.146417 1.884126,0.617914 2.582031,1.3125 l 8.089844,-12.177734 c -1.229595,-0.07447 -2.394936,-0.540969 -3.339844,-1.296875 z m -28.976563,4.605469 -3.96289,1.033203 10.623047,10.251953 c 0.349835,-0.20524 0.719551,-0.382995 1.128906,-0.490234 h 0.002 l 2.673828,-0.697266 z"
id="path40"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Screens"
style="display:inline">
<path
style="clip-rule:nonzero;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-miterlimit:4;opacity:0.2"
d="m 97.638672,39.621094 c -0.159093,0.0093 -0.321067,0.03404 -0.482422,0.07617 l -17.537109,4.574218 c -1.293127,0.337446 -2.038417,1.612775 -1.701172,2.904297 l 3.263672,12.517578 c 0.337195,1.291334 1.612508,2.037654 2.904297,1.701172 L 101.62305,56.82031 c 1.28972,-0.336992 2.03791,-1.613578 1.70117,-2.902343 l -0.0566,-0.21875 -3.20703,-12.300781 C 99.765457,40.268362 98.752321,39.55587 97.638672,39.621094 Z"
id="path42"
inkscape:connector-curvature="0" />
<path
style="clip-rule:nonzero;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-miterlimit:4;opacity:0.2"
d="m 45.013672,43.011719 c -0.220899,0.01248 -0.444322,0.04712 -0.667969,0.105469 l -21.494141,5.605468 c -1.787814,0.466714 -2.833902,2.250304 -2.367187,4.039063 l 4.001953,15.341797 c 0.465449,1.786572 2.250448,2.833864 4.039063,2.367187 l 21.492187,-5.607422 c 1.787404,-0.466606 2.835407,-2.252962 2.369141,-4.039062 L 48.384766,45.484375 c -0.349212,-1.341114 -1.44032,-2.26437 -2.71875,-2.445313 -0.213072,-0.03015 -0.431446,-0.03983 -0.652344,-0.02734 z"
id="path44"
inkscape:connector-curvature="0" />
<path
style="clip-rule:nonzero;fill-rule:nonzero;stroke:none;stroke-width:3.49696016;stroke-miterlimit:4;opacity:0.2"
d="m 71.988281,79.273438 c -0.140029,-0.01887 -0.287995,-0.01158 -0.4375,0.02734 l -12.042969,3.142578 c -0.59849,0.158358 -0.929838,0.726691 -0.77539,1.324219 v 0.002 l 2.242187,8.59375 c 0.156937,0.601779 0.72495,0.933356 1.324219,0.777344 L 74.341797,90 c 0.600077,-0.15664 0.934038,-0.723949 0.777344,-1.324219 L 75.060547,88.457031 72.875,80.078125 c -0.116625,-0.448397 -0.466631,-0.748077 -0.886719,-0.804687 z"
id="path46"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="256"
height="256"
viewBox="0 0 256 256"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="zdoom-symbolic.svg">
<defs
id="defs4517" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.5078125"
inkscape:cx="128"
inkscape:cy="128"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="508"
inkscape:window-y="196"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4482"
empspacing="4"
spacingx="8"
spacingy="8" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:label="Z"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26666)">
<path
style="opacity:1;fill-rule:evenodd;stroke:none"
d="M 0,0 V 96 H 72 L 0,160 v 96 H 256 V 160 H 184 L 256,96 V 0 Z M 24,24 H 232 V 80 L 112,184 h 120 v 48 H 24 V 176 L 144,72 H 24 Z"
transform="translate(0,229.26666)"
id="path4483"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccccccccc" />
<path
sodipodi:nodetypes="ccccccccccc"
inkscape:connector-curvature="0"
id="path4485"
d="m 24,253.26666 v 48 h 120 l -120,104 v 56 h 208 v -48 H 112 l 120,-104 v -56 z"
style="opacity:0.7;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

View file

@ -0,0 +1,697 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="90.000000"
inkscape:export-xdpi="90.000000"
inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
width="48px"
height="48px"
id="svg11300"
sodipodi:version="0.32"
inkscape:version="0.45"
sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/apps"
sodipodi:docname="web-browser.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs3">
<linearGradient
inkscape:collect="always"
id="linearGradient4873">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop4875" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop4877" />
</linearGradient>
<linearGradient
id="linearGradient4845">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop4847" />
<stop
style="stop-color:#b6b6b6;stop-opacity:1;"
offset="1"
id="stop4849" />
</linearGradient>
<radialGradient
r="10.625"
fy="4.625"
fx="62.625"
cy="4.625"
cx="62.625"
gradientTransform="matrix(1,0,0,0.341176,1.298961e-14,3.047059)"
gradientUnits="userSpaceOnUse"
id="radialGradient9169"
xlink:href="#linearGradient8838"
inkscape:collect="always" />
<linearGradient
id="linearGradient8838"
inkscape:collect="always">
<stop
id="stop8840"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop8842"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
r="9.7552835"
fy="-8.7256308"
fx="62.200352"
cy="-8.7256308"
cx="62.200352"
gradientTransform="matrix(1.122354,-2.185101e-15,2.185149e-15,1.122379,-7.610472,1.067717)"
gradientUnits="userSpaceOnUse"
id="radialGradient9171"
xlink:href="#linearGradient8647"
inkscape:collect="always" />
<linearGradient
id="linearGradient8647">
<stop
id="stop8649"
offset="0"
style="stop-color:#8fb1dc;stop-opacity:1;" />
<stop
id="stop8651"
offset="1"
style="stop-color:#3465a4;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient8740"
inkscape:collect="always">
<stop
id="stop8742"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop8744"
offset="1"
style="stop-color:#ffffff;stop-opacity:0;" />
</linearGradient>
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.618775e-13,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8752"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-6.799488e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient9173"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.906811e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8760"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.960516e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient9175"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.965096e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8766"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-2.68581e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient9177"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.618775e-13,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8774"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-6.799488e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient9179"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-2.257223e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8782"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-2.79498e-14,0.79739)"
gradientUnits="userSpaceOnUse"
id="radialGradient9181"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-8.035238e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8788"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-4.638683e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient9183"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="8.61745"
fy="18.944481"
fx="24.652485"
cy="18.94449"
cx="24.652573"
gradientTransform="matrix(7.657394e-2,2.760516,-1.969551,5.463895e-2,60.09901,-55.47179)"
gradientUnits="userSpaceOnUse"
id="radialGradient9185"
xlink:href="#linearGradient8924"
inkscape:collect="always" />
<linearGradient
id="linearGradient8924">
<stop
style="stop-color:#cee14b"
offset="0"
id="stop8926" />
<stop
style="stop-color:#9db029"
offset="1"
id="stop8928" />
</linearGradient>
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-4.23828e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8812"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="8.61745"
fy="18.944481"
fx="24.652485"
cy="18.94449"
cx="24.652573"
gradientTransform="matrix(6.822876e-2,2.459669,-1.754905,4.868429e-2,55.12882,-46.82188)"
gradientUnits="userSpaceOnUse"
id="radialGradient9187"
xlink:href="#linearGradient8924"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(0.891018,0,0,0.828854,1.579517,2.39052)"
gradientUnits="userSpaceOnUse"
id="radialGradient9189"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="4.13475"
fy="14.542329"
fx="25.135332"
cy="14.542349"
cx="25.135374"
gradientTransform="matrix(0.159592,5.753335,-0.8072,2.23703e-2,32.87305,-131.6974)"
gradientUnits="userSpaceOnUse"
id="radialGradient9191"
xlink:href="#linearGradient8930"
inkscape:collect="always" />
<linearGradient
id="linearGradient8930">
<stop
style="stop-color:#cee14b"
offset="0"
id="stop8932" />
<stop
style="stop-color:#9db029"
offset="1"
id="stop8934" />
</linearGradient>
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-5.087595e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8816"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="4.13475"
fy="14.542329"
fx="25.135332"
cy="14.542349"
cx="25.135374"
gradientTransform="matrix(0.159592,5.753335,-0.8072,2.23703e-2,32.87305,-130.867)"
gradientUnits="userSpaceOnUse"
id="radialGradient9193"
xlink:href="#linearGradient8930"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-3.093343e-14,0.589884)"
gradientUnits="userSpaceOnUse"
id="radialGradient9195"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="2.97195"
fy="17.573889"
fx="24.478539"
cy="17.573915"
cx="24.478569"
gradientTransform="matrix(0.222034,8.004376,-0.597156,1.656095e-2,29.5454,-182.3268)"
gradientUnits="userSpaceOnUse"
id="radialGradient9197"
xlink:href="#linearGradient8912"
inkscape:collect="always" />
<linearGradient
id="linearGradient8912">
<stop
id="stop8914"
offset="0"
style="stop-color:#cee14b" />
<stop
id="stop8916"
offset="1"
style="stop-color:#9db029" />
</linearGradient>
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-1.223188e-13,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8820"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="2.97195"
fy="17.573889"
fx="24.478539"
cy="17.573915"
cx="24.478569"
gradientTransform="matrix(0.222034,8.004376,-0.597156,1.656095e-2,29.85665,-181.6002)"
gradientUnits="userSpaceOnUse"
id="radialGradient9199"
xlink:href="#linearGradient8912"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,0.311259,0.486131)"
gradientUnits="userSpaceOnUse"
id="radialGradient9201"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="9.82225"
fy="17.257843"
fx="25.968998"
cy="17.257854"
cx="25.969097"
gradientTransform="matrix(6.718136e-2,2.42191,-1.629357,4.51789e-2,52.36869,-50.34012)"
gradientUnits="userSpaceOnUse"
id="radialGradient9203"
xlink:href="#linearGradient8918"
inkscape:collect="always" />
<linearGradient
id="linearGradient8918">
<stop
style="stop-color:#cee14b"
offset="0"
id="stop8920" />
<stop
style="stop-color:#9db029"
offset="1"
id="stop8922" />
</linearGradient>
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(1,0,0,0.930233,-3.15581e-14,-0.240141)"
gradientUnits="userSpaceOnUse"
id="radialGradient8824"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
r="9.82225"
fy="17.257843"
fx="25.968998"
cy="17.257854"
cx="25.969097"
gradientTransform="matrix(6.168149e-2,2.223638,-1.495968,4.148028e-2,50.51125,-44.50839)"
gradientUnits="userSpaceOnUse"
id="radialGradient9205"
xlink:href="#linearGradient8918"
inkscape:collect="always" />
<radialGradient
r="10.081216"
fy="-3.4420195"
fx="62.225393"
cy="-3.4420195"
cx="62.225393"
gradientTransform="matrix(0.918134,0,0,0.854079,2.429764,1.490099)"
gradientUnits="userSpaceOnUse"
id="radialGradient9207"
xlink:href="#linearGradient8740"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4845"
id="radialGradient4851"
cx="17.81411"
cy="24.149399"
fx="17.81411"
fy="24.149399"
r="9.125"
gradientTransform="matrix(2.643979,-2.026629e-16,-2.93653e-8,2.534421,-28.97514,-41.1733)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4873"
id="linearGradient4879"
x1="63.397362"
y1="-9.3832779"
x2="68.910904"
y2="16.839214"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
stroke="#555753"
fill="#eeeeec"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.25490196"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="1.5669947"
inkscape:cy="22.472776"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="false"
inkscape:window-width="750"
inkscape:window-height="546"
inkscape:window-x="234"
inkscape:window-y="201" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:title>Web Browser</dc:title>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
inkscape:label="Layer 1"
id="g3020"
transform="matrix(1.673435,0,0,1.673435,-3.189256,-2.668541)">
<g
transform="matrix(1.284706,0,0,1.284706,-63.89629,19.96894)"
id="g8936"
style="display:inline">
<path
sodipodi:type="arc"
style="opacity:0.56043958;color:#000000;fill:url(#radialGradient9169);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path8836"
sodipodi:cx="62.625"
sodipodi:cy="4.625"
sodipodi:rx="10.625"
sodipodi:ry="3.625"
d="M 73.25 4.625 A 10.625 3.625 0 1 1 52,4.625 A 10.625 3.625 0 1 1 73.25 4.625 z"
transform="matrix(1,0,0,1.192473,-0.590821,-2.378705)" />
<path
style="fill:url(#radialGradient9171);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:0.46514398;stroke-miterlimit:4;stroke-dasharray:none"
d="M 71.455637,-3.5111605 C 71.455637,1.6006722 67.3116,5.7446615 62.20047,5.7446615 C 57.088872,5.7446615 52.94507,1.6006253 52.94507,-3.5111605 C 52.94507,-8.6227588 57.088872,-12.766327 62.20047,-12.766327 C 67.3116,-12.766327 71.455637,-8.6227588 71.455637,-3.5111605 L 71.455637,-3.5111605 z "
id="path6495" />
<path
id="path8655"
d="M 70.945908,-3.5111451 C 70.945908,1.3191267 67.030126,5.234864 62.200518,5.234864 C 57.370468,5.234864 53.454907,1.3190823 53.454907,-3.5111451 C 53.454907,-8.3411954 57.370468,-12.256535 62.200518,-12.256535 C 67.030126,-12.256535 70.945908,-8.3411954 70.945908,-3.5111451 L 70.945908,-3.5111451 z "
style="opacity:0.52747253;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4879);stroke-width:0.46514425;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
transform="matrix(0.468894,0,0,0.468894,50.39042,-14.57365)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8752);stroke-miterlimit:4"
id="g6532">
<path
d="M 26.0703,9.2363 L 25.9971,9.7295 L 26.5069,10.0586 L 27.378,9.4829 L 26.9425,8.9892 L 26.3605,9.3188 L 26.0705,9.2363"
id="path6534"
style="fill:#9db029;stroke:url(#radialGradient9173)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,49.7717,-14.57365)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8760);stroke-miterlimit:4"
id="g6548">
<path
d="M 28.833,12.7749 L 28.542,12.0337 L 28.0322,12.1987 L 28.1787,13.103 L 28.833,12.7749"
id="path6550"
style="fill:#9db029;stroke:url(#radialGradient9175)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,49.94848,-14.57365)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8766);stroke-miterlimit:4"
id="g6556">
<path
d="M 29.123,12.6089 L 28.9775,13.5972 L 29.7773,13.4322 L 30.3584,12.857 L 29.8496,12.3629 C 29.6787,11.9078 29.4824,11.483 29.2685,11.0465 L 28.833,11.0465 L 28.833,11.5397 L 29.123,11.8688 L 29.123,12.609"
id="path6558"
style="fill:#9db029;stroke:url(#radialGradient9177)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.39042,-14.57365)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8774);stroke-miterlimit:4"
id="g6572">
<path
d="M 16.7656,9.5649 L 17.4922,10.0586 L 18.0742,10.0586 L 18.0742,9.4829 L 17.3476,9.1538 L 16.7656,9.5649"
id="path6574"
style="fill:#9db029;stroke:url(#radialGradient9179)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.96494,-14.52946)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8782);stroke-miterlimit:4"
id="g6608">
<path
d="M 17.4922,7.887132 L 17.856,7.558532 L 18.5831,7.393932 C 19.0811,7.151732 19.5811,6.988632 20.1095,6.817732 L 19.8195,6.324032 L 18.881,6.458832 L 18.4376,6.900732 L 17.7066,7.006732 L 17.0567,7.311932 L 16.7408,7.464732 L 16.5479,7.723032 L 17.4922,7.887132"
id="path6610"
style="fill:#9db029;stroke:url(#radialGradient9181)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.56718,-14.30851)"
style="fill:#9db029;fill-rule:nonzero;stroke:url(#radialGradient8788);stroke-miterlimit:4"
id="g6616">
<path
d="M 18.7285,14.6665 L 19.165,14.0083 L 18.5102,13.5151 L 18.7285,14.6665"
id="path6618"
style="fill:#9db029;stroke:url(#radialGradient9183)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.74397,-14.61784)"
style="fill:url(#radialGradient9185);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8812);stroke-miterlimit:4"
id="g6564">
<path
d="M 17.943241,27.768799 L 17.424668,26.742079 L 16.453191,26.522353 L 15.935064,25.130138 L 14.639881,25.276354 L 13.539117,24.470606 L 12.372685,25.496524 L 12.372685,25.658333 C 12.019842,25.55649 11.586095,25.54259 11.271922,25.349417 L 11.012635,24.616733 L 11.012635,23.810095 L 10.235579,23.883158 C 10.300445,23.369754 10.364776,22.85724 10.430088,22.343925 L 9.9762924,22.343925 L 9.523388,22.930393 L 9.0695925,23.149672 L 8.4217333,22.784177 L 8.3568672,21.977538 L 8.4865103,21.097836 L 9.4584328,20.365152 L 10.23549,20.365152 L 10.364687,19.9249 L 11.336164,20.144179 L 12.0488,21.024772 L 12.178443,19.557711 L 13.409207,18.531793 L 13.862557,17.431921 L 14.769256,17.065623 L 15.287383,16.332939 L 16.452924,16.111966 L 17.036363,15.233155 C 16.45337,15.233155 15.870376,15.233155 15.287383,15.233155 L 16.388503,14.719751 L 17.165115,14.719751 L 18.26668,14.352562 L 18.396323,13.914003 L 18.007394,13.546815 L 17.554044,13.399797 L 17.683687,12.960347 L 17.35998,12.300815 L 16.582478,12.593158 L 16.712121,12.007136 L 15.805421,11.493731 L 15.093231,12.739285 L 15.157651,13.179537 L 14.445461,13.473662 L 13.991665,14.426428 L 13.797601,13.546726 L 12.566838,13.033321 L 12.372329,12.37379 L 13.991665,11.420133 L 14.704301,10.760601 L 14.769167,9.9544084 L 14.380684,9.7342382 L 13.862557,9.6607292 L 13.53885,10.467367 C 13.53885,10.467367 12.9972,10.573488 12.857934,10.607881 C 11.079373,12.246819 7.4857189,15.784785 6.650835,22.463945 C 6.6838918,22.618804 7.2560145,23.516772 7.2560145,23.516772 L 8.6160643,24.322519 L 9.9761142,24.689708 L 10.559553,25.423194 L 11.465807,26.082725 L 11.983934,26.009662 L 12.372418,26.184569 L 12.372418,26.302896 L 11.854647,27.695557 L 11.465718,28.282025 L 11.595361,28.57615 L 11.271654,29.674241 L 12.437641,31.800833 L 13.603181,32.827553 L 14.121754,33.560237 L 14.056531,35.100362 L 14.445461,35.979173 L 14.056531,37.665514 C 14.056531,37.665514 14.026058,37.655089 14.075688,37.823848 C 14.125763,37.992695 16.150958,39.116893 16.27971,39.021198 C 16.408017,38.92372 16.517701,38.83845 16.517701,38.83845 L 16.388503,38.472954 L 16.906274,37.95955 L 17.100783,37.446145 L 17.943063,37.15202 L 18.590476,35.538832 L 18.396413,35.100273 L 18.848871,34.440741 L 19.820794,34.219769 L 20.339366,33.046833 L 20.209723,31.581554 L 20.98678,30.481681 L 21.116423,29.381808 C 20.053082,28.854504 18.998473,28.311518 17.943063,27.76862"
id="path6566"
style="fill:url(#radialGradient9187);fill-opacity:1;stroke:url(#radialGradient9189)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.523,-14.44107)"
style="fill:url(#radialGradient9191);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8816);stroke-miterlimit:4"
id="g6540">
<path
d="M 26.8701,6.6933256 L 24.9795,5.9526256 L 22.7998,6.1992256 L 20.1094,6.9394256 L 19.6006,7.4335256 L 21.2725,8.5849256 L 21.2725,9.2431256 L 20.6182,9.9013256 L 21.4912,11.630324 L 22.0713,11.300224 L 22.7998,10.148825 C 23.9228,9.8016256 24.9297,9.4081256 25.9971,8.9144256 L 26.8701,6.6932256"
id="path6542"
style="fill:url(#radialGradient9193);fill-opacity:1;stroke:url(#radialGradient9195)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.83236,-14.75043)"
style="fill:url(#radialGradient9197);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8820);stroke-miterlimit:4"
id="g6580">
<path
d="M 15.187259,9.6334723 L 14.823459,10.538271 L 15.550559,10.538271 L 15.914359,9.7154723 C 16.227859,9.4937723 16.539859,9.2706723 16.859159,9.0572723 L 17.586259,9.3043723 C 18.070659,9.6334723 18.555059,9.9625723 19.039859,10.291172 L 19.767359,9.6334723 L 18.967059,9.3043723 L 18.603259,8.5636723 L 17.222359,8.3990723 L 17.149559,7.9874723 L 16.495259,8.1524723 L 16.204859,8.7282723 L 15.841059,7.9875723 L 15.696059,8.3166723 L 15.768859,9.1394723 L 15.187259,9.6334723"
id="path6582"
style="fill:url(#radialGradient9199);fill-opacity:1;stroke:url(#radialGradient9201)" />
</g>
<g
transform="matrix(0.468894,0,0,0.468894,50.12526,-14.48526)"
style="fill:url(#radialGradient9203);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8824);stroke-miterlimit:4"
id="g6626">
<path
d="M 42.893123,20.729176 C 42.893123,20.97037 42.893123,20.729176 42.893123,20.729176 L 42.392832,21.295848 C 42.086175,20.934471 41.741875,20.630568 41.392249,20.313169 L 40.624781,20.4261 L 39.923602,19.633475 L 39.923602,20.614409 L 40.524337,21.068977 L 40.924185,21.521801 L 41.458539,20.917485 C 41.593045,21.169421 41.725716,21.421357 41.859304,21.673293 L 41.859304,22.428275 L 41.257651,23.107877 L 40.156625,23.863685 L 39.322775,24.69579 L 38.788421,24.089638 L 39.055598,23.410035 L 38.522071,22.80572 L 37.621014,20.87975 L 36.853546,20.011838 L 36.652658,20.237791 L 36.953898,21.333492 L 37.52057,21.975451 C 37.844212,22.909744 38.164366,23.802721 38.58937,24.69579 C 39.248406,24.69579 39.869708,24.625828 40.524245,24.54338 L 40.524245,25.072409 L 39.723541,27.036481 L 38.989217,27.86675 L 38.388482,29.152504 C 38.388482,29.857264 38.388482,30.562024 38.388482,31.266692 L 38.58937,32.098797 L 38.255812,32.475415 L 37.52057,32.929065 L 36.753102,33.571024 L 37.3879,34.288362 L 36.519988,35.045089 L 36.686721,35.534638 L 35.384807,37.008702 L 34.517813,37.008702 L 33.783489,37.462352 L 33.315425,37.462352 L 33.315425,36.858036 L 33.116373,35.647568 C 32.858102,34.889006 32.589181,34.13586 32.315668,33.382715 C 32.315668,32.826785 32.348813,32.276272 32.382049,31.720433 L 32.716526,30.965452 L 32.248461,30.05806 L 32.282524,28.811785 L 31.647726,28.094447 L 31.965125,27.056129 L 31.448674,26.470176 L 30.5467,26.470176 L 30.246378,26.130375 L 29.345321,26.697506 L 28.978619,26.28104 L 28.143851,26.998746 C 27.577179,26.356327 27.009588,25.714368 26.44209,25.072409 L 25.774974,23.485414 L 26.375709,22.579859 L 26.042151,22.202414 L 26.775556,20.463835 C 27.378127,19.714271 28.007508,18.995188 28.644142,18.273443 L 29.779231,17.971285 L 31.047083,17.820619 L 31.914995,18.04749 L 33.14961,19.292847 L 33.583611,18.80238 L 34.183428,18.727093 L 35.318517,19.104538 L 36.18643,19.104538 L 36.787165,18.575509 L 37.054342,18.198064 L 36.452688,17.820619 L 35.451188,17.745332 C 35.173269,17.359808 34.914998,16.954543 34.58502,16.611988 L 34.250544,16.762653 L 34.116955,17.745332 L 33.51622,17.065729 L 33.38355,16.309003 L 32.716434,15.781811 L 32.448339,15.781811 L 33.116281,16.536792 L 32.849104,17.216395 L 32.315577,17.367061 L 32.649135,16.687458 L 32.047481,16.386218 L 31.514872,15.781903 L 30.512453,16.007855 L 30.379783,16.309095 L 29.779048,16.687458 L 29.44549,17.518645 L 28.61164,17.933733 L 28.24402,17.518645 L 27.844172,17.518645 L 27.844172,16.158521 L 28.712084,15.704871 L 29.3792,15.704871 L 29.244694,15.176761 L 28.712084,14.647732 L 29.612315,14.458504 L 30.112606,13.89275 L 30.512453,13.212229 L 31.247695,13.212229 L 31.046807,12.684119 L 31.514872,12.381961 L 31.514872,12.986276 L 32.515454,13.212229 L 33.516037,12.381961 L 33.583244,12.003598 L 34.450238,11.399741 C 34.13642,11.438762 33.822602,11.467407 33.515945,11.550866 L 33.515945,10.870437 L 33.849503,10.114996 L 33.515945,10.114996 L 32.782907,10.794599 L 32.582019,11.172503 L 32.782907,11.701991 L 32.448431,12.607546 L 31.914903,12.305388 L 31.448674,11.777278 L 30.713433,12.305388 L 30.446256,11.097216 L 31.714107,10.266488 L 31.714107,9.8128376 L 32.515638,9.284268 L 33.783489,8.981651 L 34.651401,9.284268 L 36.252719,9.5864259 L 35.852871,10.03925 L 34.984959,10.03925 L 35.852871,10.945724 L 36.519988,10.190742 L 36.72262,9.8585606 C 36.72262,9.8585606 39.281551,12.15206 40.743955,14.660861 C 42.206359,17.170489 42.893123,20.128441 42.893123,20.729176 z "
id="path6628"
style="fill:url(#radialGradient9205);fill-opacity:1;stroke:url(#radialGradient9207)" />
</g>
</g>
</g>
<path
sodipodi:type="arc"
style="opacity:0.35714285;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.79999995;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path3066"
sodipodi:cx="18"
sodipodi:cy="18.125"
sodipodi:rx="6"
sodipodi:ry="6"
d="M 24 18.125 A 6 6 0 1 1 12,18.125 A 6 6 0 1 1 24 18.125 z"
transform="matrix(0.714286,0,0,0.714286,6.267857,6.428571)" />
<path
transform="matrix(1.406854,0,0,1.406854,-6.198359,-6.124216)"
d="M 24 18.125 A 6 6 0 1 1 12,18.125 A 6 6 0 1 1 24 18.125 z"
sodipodi:ry="6"
sodipodi:rx="6"
sodipodi:cy="18.125"
sodipodi:cx="18"
id="path3941"
style="opacity:0.35714285;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.71080581;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:0.35714285;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.24375159;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path3943"
sodipodi:cx="18"
sodipodi:cy="18.125"
sodipodi:rx="6"
sodipodi:ry="6"
d="M 24 18.125 A 6 6 0 1 1 12,18.125 A 6 6 0 1 1 24 18.125 z"
transform="matrix(2.051269,0,0,2.051269,-17.79782,-17.80423)" />
<path
style="opacity:1;color:#000000;fill:url(#radialGradient4851);fill-opacity:1.0;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 19.25,17.75 L 2.25,34.25 L 10,34.5 C 10,34.5 6.75,41.25 6.75,41.25 C 5.75,44.25 10.25,45.375 11,43.125 C 11,43.125 14,36.375 14,36.375 L 19.5,42.25 L 19.25,17.75 z "
id="path3970"
sodipodi:nodetypes="cccssccc" />
<path
sodipodi:nodetypes="cccssccc"
id="path4853"
d="M 18.092765,20.19141 L 4.617219,33.377203 L 11.53908,33.654662 C 11.53908,33.654662 7.6669437,41.411229 7.6669437,41.411229 C 7.264213,43.061363 9.6952192,43.823794 10.174044,42.564096 C 10.174044,42.564096 13.857109,34.719141 13.857109,34.719141 L 18.281836,39.427475 L 18.092765,20.19141 z "
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,306 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="600"
height="240"
viewBox="0 0 600 240"
version="1.1"
id="root"
inkscape:version="0.92.1 r15371"
sodipodi:docname="dgen.svg">
<title
id="title4796">DGen Logo</title>
<defs
id="defs4517">
<linearGradient
inkscape:collect="always"
id="linearGradient4730">
<stop
style="stop-color:#000080;stop-opacity:1"
offset="0"
id="stop4726" />
<stop
style="stop-color:#00c4ff;stop-opacity:1"
offset="1"
id="stop4728" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4722">
<stop
style="stop-color:#c4c4c4;stop-opacity:1"
offset="0"
id="stop4718" />
<stop
id="stop4742"
offset="0.47620216"
style="stop-color:#fefefe;stop-opacity:1" />
<stop
style="stop-color:#808080;stop-opacity:1"
offset="1"
id="stop4720" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4722"
id="linearGradient4724"
x1="320"
y1="20"
x2="320"
y2="210"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4732"
x1="150"
y1="30"
x2="30"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4734"
x1="150"
y1="30"
x2="30"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4750"
x1="280"
y1="30"
x2="150"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4752"
x1="280"
y1="30"
x2="150"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4760"
x1="400"
y1="30"
x2="290"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4762"
x1="400"
y1="30"
x2="290"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4764"
x1="400"
y1="30"
x2="290"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4772"
x1="550"
y1="30"
x2="410"
y2="200"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4730"
id="linearGradient4774"
x1="550"
y1="30"
x2="410"
y2="200"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4792"
x="-0.032345865"
width="1.0646917"
y="-0.093016216"
height="1.1860324">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="7.17"
id="feGaussianBlur4794" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4283333"
inkscape:cx="293.51954"
inkscape:cy="102.52454"
inkscape:document-units="px"
inkscape:current-layer="layer7"
showgrid="true"
units="px"
inkscape:pagecheckerboard="true"
inkscape:window-width="1428"
inkscape:window-height="855"
inkscape:window-x="274"
inkscape:window-y="136"
inkscape:window-maximized="0"
inkscape:object-nodes="true"
inkscape:snap-nodes="true"
inkscape:snap-others="true">
<inkscape:grid
type="xygrid"
id="grid4512" />
</sodipodi:namedview>
<metadata
id="metadata4520">
<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>DGen Logo</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:creator>
<cc:Agent>
<dc:title></dc:title>
</cc:Agent>
</dc:creator>
<dc:source></dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer7"
inkscape:label="Background"
style="display:inline">
<path
inkscape:connector-curvature="0"
id="path4776"
d="m 26,27 v 9 20 9 2 16 13 116 h 74 c 16.3,0 30.64484,-3.56352 40.90625,-13.18359 5.2905,-4.95984 9.11143,-11.29142 11.59766,-18.77539 C 162.51007,200.55987 182.40377,212 200,212 h 88 V 186.46484 C 298.45548,202.09916 315.938,212 335,212 h 61 12 16 11 28 v -47.1543 l 9.75195,22.75391 0.0234,0.0547 C 478.48368,200.49796 494,212 517,212 c 13.45,0 24.43565,-8.10323 31.08789,-18.53516 C 554.74014,183.03291 558,170.06522 558,157 V 27 h -28 -11 -28 v 9 31.82227 l -7.9043,-16.755864 -0.0449,-0.0918 C 477.57501,40.023059 467.13071,33.812573 456.74805,30.890625 446.36538,27.968677 435.69591,27.925498 426.67578,30.884766 419.23404,33.326207 412.9491,37.914696 408,44.167969 V 27 h -76 c -13.15,0 -26.15866,6.432099 -36.36328,16.636719 -3.22061,3.220605 -6.115,6.908893 -8.63672,10.916015 V 27 h -85.02539 -0.0273 C 180.77744,27.121758 162.21516,39.845328 152.7207,59.246094 150.39464,52.152789 146.87822,45.970833 142.05078,41.021484 132.78998,31.526808 119.59153,27.08362 105.05273,27 h -0.0273 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:18;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter4792);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient4724);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:18;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 26,21 v 9 20 9 2 16 13 116 h 74 c 16.3,0 30.64484,-3.56352 40.90625,-13.18359 5.2905,-4.95984 9.11143,-11.29142 11.59766,-18.77539 C 162.51007,194.55987 182.40377,206 200,206 h 88 V 180.46484 C 298.45548,196.09916 315.938,206 335,206 h 61 12 16 11 28 v -47.1543 l 9.75195,22.75391 0.0234,0.0547 C 478.48368,194.49796 494,206 517,206 c 13.45,0 24.43565,-8.10323 31.08789,-18.53516 C 554.74014,177.03291 558,164.06522 558,151 V 21 h -28 -11 -28 v 9 31.822266 l -7.9043,-16.75586 -0.0449,-0.0918 C 477.57501,34.023059 467.13071,27.812573 456.74805,24.890625 446.36538,21.968677 435.69591,21.925498 426.67578,24.884766 419.23404,27.326207 412.9491,31.914696 408,38.167969 V 21 h -76 c -13.15,0 -26.15866,6.432099 -36.36328,16.636719 -3.22061,3.220605 -6.115,6.908893 -8.63672,10.916015 V 21 h -85.02539 -0.0273 C 180.77744,21.121758 162.21516,33.845328 152.7207,53.246094 150.39464,46.152789 146.87822,39.970833 142.05078,35.021484 132.78998,25.526808 119.59153,21.08362 105.05273,21 h -0.0273 z"
id="path4716"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="D"
style="display:inline">
<path
style="opacity:1;fill:url(#linearGradient4734);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 35,30 h 70 c 25.62168,0.147363 42,15 42,45 v 75 c 0,34 -17,47 -47,47 H 35 V 86 h 20 v 89 h 50 c 12,0 21,-9 21,-20 V 72 C 126,62 118,52 105,52 H 35 Z"
id="path4518"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccc" />
<path
style="opacity:1;fill:url(#linearGradient4732);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 35,59 h 68 c 11,0 17,7 17,16 v 79 c 0,9 -7,14 -15,14 H 62 V 86 h 23 v 56 c 0,3 1,4 3,4 h 8 c 2,0 3,-1 3,-3 V 85 c 0,-3 -1,-4 -3,-4 H 35 Z"
id="path4520"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="G"
style="display:inline">
<path
sodipodi:nodetypes="ccccccccccccccccc"
inkscape:connector-curvature="0"
id="path4523"
d="m 279,30 h -77 c -25.62168,0.147363 -47,22 -47,53 v 62 c 0,34 26,52 45,52 h 79 V 88 h -70 v 22 h 51 v 65 h -55 c -16,0 -28,-13 -28,-30 V 82 c 0,-16 11,-30 27,-30 h 75 z"
style="display:inline;opacity:1;fill:url(#linearGradient4752);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccccccsccccccc"
inkscape:connector-curvature="0"
id="path4525"
d="m 279,59 h -73 c -13,0 -23,11 -23,24 v 61 c 0,13 10,24 24,24 h 46 v -51 h -44 v 21 h 17 c 2,0 3,1 3,4 0,3 -1,4 -3,4 h -19 c -2,0 -3,-1 -3,-3 V 85 c 0,-3 1,-4 3,-4 h 72 z"
style="display:inline;opacity:1;fill:url(#linearGradient4750);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="E"
style="display:inline">
<path
sodipodi:nodetypes="ccccccccccccc"
inkscape:connector-curvature="0"
id="path4536"
d="m 399,30 h -67 c -20,0 -45,21 -45,49 v 70 c 1,28 23,48 48,48 h 64 v -22 h -65 c -14,0 -26,-14 -26,-30 V 80 c 0,-13 13,-28 27,-28 h 64 z"
style="display:inline;opacity:1;fill:url(#linearGradient4764);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccccccc"
inkscape:connector-curvature="0"
id="path4538"
d="m 399,59 h -63 c -12,0 -21,14 -21,24 v 27 h 70 V 88 h -49 v -4 c 0,-2 2,-3 4,-3 h 59 z"
style="display:inline;opacity:1;fill:url(#linearGradient4762);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="display:inline;opacity:1;fill:url(#linearGradient4760);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 399,168 h -63 c -12,0 -21,-14 -21,-24 v -27 h 70 v 22 h -49 v 4 c 0,2 2,3 4,3 h 59 z"
id="path4540"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="N"
style="display:inline">
<path
style="display:inline;opacity:1;fill:url(#linearGradient4774);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 405,197 h 21 V 73 c 0,-7 4.87939,-16.203883 12.38983,-18.84658 C 447,51.123764 457,54 460,62 l 44,94 c 2,5 6,8 9,8 3,0 8,-7 8,-19 V 30 h -21 v 72 L 475,49 C 467,33 443,29 429.48003,33.435549 414.56203,38.329756 405,53 405,78 Z"
id="path4548"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccscczcccccscc" />
<path
style="display:inline;opacity:1;fill:url(#linearGradient4772);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 433,197 h 21 v -82 l 27,63 c 4,9 16,19 36,19 20,0 32,-23 32,-46 V 30 h -21 v 120 c 0,10 -6,23 -14,23 -8,0 -13.27719,-5.30684 -16,-11 L 453,65 c -2,-3 -5,-5 -10,-5 -5,0 -10,7 -10,16 z"
id="path4550"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccczcccczcczcc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="2048" height="2048" viewBox="0 0 2048 2048">
<linearGradient id="g" gradientUnits="userSpaceOnUse" x1="0" y1="506" x2="0" y2="1588">
<stop offset="0" stop-color="#46D4FF"/>
<stop offset="1" stop-color="#1792FF"/>
</linearGradient>
<path fill="#0057ab" d="m2046.8,1538.65 c-6.813,-22.834 -49.283,-160.537 -120.831,-292.567 -94.261,-173.943 -175.33,-298.279 -310.402,-424.563 -43.445,-40.618 -84.6,-76.916 -127.448,-109.498 l0.047,0 c0,0 -0.329,-0.232 -0.926,-0.673 -0.801,-0.607 -1.602,-1.214 -2.403,-1.818 -15.987,-12.352 -83.345,-69.109 -59.382,-131.767 8.031,-21 27.421,-38.45 50.479,-52.569 l124.091,-1.011 v-46 l-0.03,10e-4 c10e-4,0 0.016,-0.003 0.016,-0.003 0,0 -72.661,-24.686 -199.807,-16.53 -119.328,7.655 -226.545,77.432 -246.588,87.241 -64.265,-18.396 -137.59,-34.619 -223.344,-49.168 -296.609,-50.323 -547.639,29.896 -673.604,117.325 -165.101,114.592 -160.533,221.368 -174.144,274.776 -8.431,33.085 -83.408,94.263 -82.51,137.183 v45.18 l15.489,15.96 58.397,-19.849 6.985,-24.359 c24.022,-8.59 50.325,-20.532 74.217,-30.359 59.615,-24.521 64.209,-37.858 227.133,-62.167 74.956,-11.184 153.843,-14.393 212.575,-14.886 22.855,48.26 79.68,147.46 178.133,195.042 64.027,30.944 135.739,46.795 192.883,54.915 l-7.493,37.679 113.668,16.846 v-45.969 l-0.087,-0.035 c0.022,0 0.035,0 0.035,0 0,0 -95.434,-39.648 -154.146,-98.356 -39.956,-39.953 -49.518,-100.64 -51.552,-135.342 l0.359,0.033 c96.193,18.278 180.215,31.468 381.156,108.425 37.166,14.233 71.829,29.835 103.407,45.589 l-5.935,3.35 90.575,73.044 108.183,89.527 v-45.969 l-0.358,-0.332 c-1.596,-1.983 -124.799,-154.603 -331.827,-256.712 -171.102,-84.392 -311.585,-126.087 -506.229,-135.527 -212.756,-10.319 -369.522,16.999 -369.522,16.999 0,0 4.385,-94.537 165.003,-169.88 139.666,-65.516 359.388,-76.481 611.558,-12.15 356.261,90.886 477.766,245.646 631.012,405.573 97.226,101.465 186.606,244.229 242.951,343.009 l-9.49,-4.259 29.19,75.387 41.753,89.096 v-46.264 l-1.237,-3.603 z"/>
<path fill="url(#g)" d="m1926,1292 c-94.261,-173.943 -175.33,-298.279 -310.402,-424.563 -43.446,-40.619 -84.601,-76.917 -127.45,-109.499 l0.049,0.01 c0,0 -0.34,-0.24 -0.962,-0.699 -0.773,-0.586 -1.547,-1.172 -2.321,-1.757 -15.904,-12.279 -83.413,-69.084 -59.428,-131.801 26.32,-68.822 174.556,-99.582 174.556,-99.582 0,0 -72.661,-24.686 -199.807,-16.53 -119.328,7.655 -226.545,77.432 -246.588,87.241 -64.265,-18.396 -137.59,-34.619 -223.344,-49.168 -296.609,-50.323 -547.639,29.896 -673.604,117.325 -165.101,114.592 -160.533,221.368 -174.144,274.776 -9.794,38.432 -109.389,114.772 -75.534,156.367 21.122,25.95 91.411,-9.289 148.113,-32.611 59.615,-24.521 64.209,-37.859 227.133,-62.168 74.956,-11.184 153.843,-14.393 212.575,-14.886 22.855,48.26 79.68,147.46 178.133,195.042 132.934,64.246 299.005,63.438 299.005,63.438 0,0 -95.434,-39.648 -154.146,-98.356 -39.956,-39.953 -49.518,-100.64 -51.552,-135.342 l0.359,0.033 c96.193,18.278 180.215,31.468 381.156,108.425 175.815,67.334 295.91,165.256 295.91,165.256 0,0 -123.479,-153.98 -331.865,-256.76 -171.102,-84.391 -311.585,-126.086 -506.229,-135.526 -212.756,-10.319 -369.522,16.999 -369.522,16.999 0,0 4.385,-94.537 165.003,-169.88 139.666,-65.516 359.388,-76.481 611.558,-12.15 356.261,90.886 477.766,245.646 631.012,405.573 163.107,170.22 304.146,456.685 304.146,456.685 0,0 -43.489,-151.357 -121.81,-295.887 z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Some files were not shown because too many files have changed in this diff Show more