initial commit

This commit is contained in:
Ward from fusion-voyager-3 2024-09-27 18:15:29 +03:00
parent 70a74f454f
commit dc8160512d
288 changed files with 25717 additions and 9255 deletions

View File

@ -1 +1 @@
1 1

View File

@ -1 +1 @@
4 1

View File

@ -1,4 +1,4 @@
gnome-shell-extension-just-perfection (46.0-101pika1) pika; urgency=medium gnome-shell-extension-arc-menu (61-101pika1) pika; urgency=medium
* Initial Creation * Initial Creation

View File

@ -0,0 +1,32 @@
Source: gnome-shell-extension-arc-menu
Section: gnome
Priority: optional
Maintainer: Marco Trevisan <marco@ubuntu.com>
Build-Depends: debhelper (>= 10),
eslint <!nocheck>,
libglib2.0-bin,
node-chalk <!nocheck>,
node-js-yaml <!nocheck>,
node-strip-ansi <!nocheck>,
libgettextpo-dev,
gettext,
sassc
Standards-Version: 4.1.1
Package: gnome-shell-extension-arc-menu
Architecture: all
Depends:
gnome-shell (>= 45~),
gnome-shell (<< 48~),
gir1.2-gmenu-3.0,
${misc:Depends},
${shlibs:Depends},
Description: shell extension designed to replace the standard menu found in GNOME
Arc Menu is a GNOME shell extension designed to replace the standard menu
found in GNOME 3 this application menu extension has some added benefits
over the standard menu found in GNOME 3, these include the long awaited
search functionality as well as quick access to files on your system and
also the current logged in user along with quick access to the software
centre and system settings and other features which can be accessed from the
settings menu.

View File

@ -0,0 +1,33 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: ArcMenu
Source: https://gitlab.com/arcmenu/ArcMenu
Files: *
Copyright: 2019-2021 Andrew Zaech
2017-2020 LinxGem33 (https://gitlab.com/LinxGem33)
2017 Alexander Rüedlinger
2016 Zorin OS
2015 Giovanni Campagna
License: GPL-2+
Files: debian/*
Copyright: 2019-2021 Jonathan Carter <jcc@debian.org>
License: GPL-2+
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

View File

@ -0,0 +1,809 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="arcmenu">
<enum id='org.gnome.shell.extensions.arcmenu.menulayout'>
<value value='0' nick='Default'/>
<value value='1' nick='Brisk'/>
<value value='2' nick='Whisker'/>
<value value='3' nick='GnomeMenu'/>
<value value='4' nick='Mint'/>
<value value='5' nick='Elementary'/>
<value value='6' nick='GnomeOverview'/>
<value value='7' nick='Redmond'/>
<value value='8' nick='Unity'/>
<value value='9' nick='Budgie'/>
<value value='10' nick='Insider'/>
<value value='11' nick='Runner'/>
<value value='12' nick='Chromebook'/>
<value value='13' nick='Raven'/>
<value value='14' nick='Tognee'/>
<value value='15' nick='Plasma'/>
<value value='16' nick='Windows'/>
<value value='17' nick='Eleven'/>
<value value='18' nick='AZ'/>
<value value='19' nick='Enterprise'/>
<value value='20' nick='Pop'/>
<value value='21' nick='Sleek'/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.forcemenulocation'>
<value value='0' nick='Off'/>
<value value='1' nick='TopCentered'/>
<value value='2' nick='BottomCentered'/>
<value value='3' nick='MonitorCentered'/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.menu-position'>
<value value="0" nick="Left"/>
<value value="1" nick="Center"/>
<value value="2" nick="Right"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.menu-button-click-action'>
<value value="0" nick="ArcMenu"/>
<value value="1" nick="ContextMenu"/>
<value value="2" nick="None"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.raven-position'>
<value value="0" nick="Left"/>
<value value="1" nick="Right"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.menu-button-appearance'>
<value value="0" nick="Icon"/>
<value value="1" nick="Text"/>
<value value="2" nick="Icon_Text"/>
<value value="3" nick="Text_Icon"/>
<value value="4" nick="None"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.avatar-style'>
<value value="0" nick="Round"/>
<value value="1" nick="Square"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.menu-button-icon'>
<value value="0" nick="Menu_Icon"/>
<value value="1" nick="Distro_Icon"/>
<value value="2" nick="Custom_Icon"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.default-menu-view'>
<value value="0" nick="Pinned_Apps"/>
<value value="1" nick="Categories_List"/>
<value value="2" nick="Frequent_Apps"/>
<value value="3" nick="All_Programs"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.all-apps-button-action'>
<value value="0" nick="Categories_List"/>
<value value="1" nick="All_Programs"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.default-menu-view-tognee'>
<value value="0" nick="Categories_List"/>
<value value="1" nick="All_Programs"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.default-menu-view-redmond'>
<value value="0" nick="All_Programs"/>
<value value="1" nick="Pinned_Apps"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.runner-position'>
<value value="0" nick="Top"/>
<value value="1" nick="Centered"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.search-display-style'>
<value value="0" nick="List"/>
<value value="1" nick="Grid"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.searchbar-location'>
<value value="0" nick="Bottom"/>
<value value="1" nick="Top"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.menuitem-location'>
<value value="0" nick="Bottom"/>
<value value="1" nick="Top"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.power-display-style'>
<value value="0" nick="Default"/>
<value value="1" nick="In_Line"/>
<value value="2" nick="Menu"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.icon-sizes'>
<value value="0" nick="Default"/>
<value value="1" nick="ExtraSmall"/>
<value value="2" nick="Small"/>
<value value="3" nick="Medium"/>
<value value="4" nick="Large"/>
<value value="5" nick="Extralarge"/>
<value value="6" nick="Hidden"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.grid-icon-sizes'>
<value value="0" nick="Default"/>
<value value="1" nick="Small"/>
<value value="2" nick="Medium"/>
<value value="3" nick="Large"/>
<value value="4" nick="Small_Rect"/>
<value value="5" nick="Medium_Rect"/>
<value value="6" nick="Large_Rect"/>
<value value="7" nick="Custom"/>
</enum>
<enum id='org.gnome.shell.extensions.arcmenu.category-icon-type'>
<value value="0" nick="Full_Color"/>
<value value="1" nick="Symbolic"/>
</enum>
<schema id="org.gnome.shell.extensions.arcmenu.pinned-apps-folders">
<key name="pinned-apps" type="aa{ss}">
<default>[]</default>
<summary>Pinned Apps in the folder</summary>
</key>
</schema>
<schema path="/org/gnome/shell/extensions/arcmenu/" id="org.gnome.shell.extensions.arcmenu">
<key type="i" name="menu-position-alignment">
<default>50</default>
<summary>Menu position alignment</summary>
</key>
<key name="menu-layout" enum="org.gnome.shell.extensions.arcmenu.menulayout">
<default>'Default'</default>
<summary>menu layout</summary>
</key>
<key type="b" name="override-menu-theme">
<default>false</default>
<summary>Override ArcMenu theme</summary>
</key>
<key type="s" name="menu-background-color">
<default>"rgba(48,48,49,0.98)"</default>
<summary>ArcMenu background color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-foreground-color">
<default>"rgb(223,223,223)"</default>
<summary>ArcMenu foreground color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-border-color">
<default>"rgb(60,60,60)"</default>
<summary>ArcMenu border color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="i" name="menu-border-width">
<default>1</default>
<summary>ArcMenu border width. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="i" name="menu-border-radius">
<default>14</default>
<summary>ArcMenu border radius. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="i" name="menu-font-size">
<default>11</default>
<summary>ArcMenu font size. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-separator-color">
<default>"rgba(255,255,255,0.1)"</default>
<summary>ArcMenu separator color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-item-hover-bg-color">
<default>"rgb(21,83,158)"</default>
<summary>ArcMenu menu item hover bg color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-item-hover-fg-color">
<default>"rgb(255,255,255)"</default>
<summary>ArcMenu menu item hover fg color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-item-active-bg-color">
<default>"rgb(25,98,163)"</default>
<summary>ArcMenu menu item active bg color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="s" name="menu-item-active-fg-color">
<default>"rgb(255,255,255)"</default>
<summary>ArcMenu menu item active fg color. Active when 'override-menu-theme' enabled.</summary>
</key>
<key type="(bi)" name="menu-arrow-rise">
<default>(false, 6)</default>
<summary>ArcMenu distance from panel and screen edge.</summary>
</key>
<key type="(bs)" name="menu-button-fg-color">
<default>(false, "rgb(242,242,242)")</default>
<summary>ArcMenu menu button fg color.</summary>
</key>
<key type="(bs)" name="menu-button-bg-color">
<default>(false, "rgba(242,242,242,0.2)")</default>
<summary>ArcMenu menu button bg color.</summary>
</key>
<key type="(bi)" name="menu-button-border-radius">
<default>(false, 20)</default>
<summary>ArcMenu menu button border radius.</summary>
</key>
<key type="(bi)" name="menu-button-border-width">
<default>(false, 3)</default>
<summary>ArcMenu menu button border radius.</summary>
</key>
<key type="(bs)" name="menu-button-border-color">
<default>(false, "transparent")</default>
<summary>ArcMenu menu button hover bg color.</summary>
</key>
<key type="(bs)" name="menu-button-hover-bg-color">
<default>(false, "rgba(242,242,242,0.15)")</default>
<summary>ArcMenu menu button hover bg color.</summary>
</key>
<key type="(bs)" name="menu-button-hover-fg-color">
<default>(false, "rgb(242,242,242)")</default>
<summary>ArcMenu menu button hover fg color.</summary>
</key>
<key type="(bs)" name="menu-button-active-bg-color">
<default>(false, "rgba(242,242,242,0.2)")</default>
<summary>ArcMenu menu button active bg color.</summary>
</key>
<key type="(bs)" name="menu-button-active-fg-color">
<default>(false, "rgb(242,242,242)")</default>
<summary>ArcMenu menu button active fg color.</summary>
</key>
<key name="menu-themes" type="aas">
<!--Order of elements in a theme:
[Theme Name, menuBGColor, menuFGColor, menuBorderColor, menuBorderWidth, menuBorderRadius,
menuFontSize, menuSeparatorColor, itemHoverBGColor, itemHoverFGColor, itemActiveBGColor, itemActiveFGColor]-->
<default>[['ArcMenu Style', 'rgba(48,48,49,0.98)', 'rgb(223,223,223)', 'rgb(60,60,60)', '1', '14', '11',
'rgba(255,255,255,0.1)', 'rgb(21,83,158)', 'rgb(255,255,255)', 'rgb(25,98,163)', 'rgb(255,255,255)'],
['Simply Dark', 'rgba(28,28,28,0.98)', 'rgb(211,218,227)', 'rgb(63,62,64)', '1', '14', '11',
'rgb(63,62,64)', 'rgba(238,238,236,0.08)', 'rgb(255,255,255)', 'rgba(228,228,226,0.15)', 'rgb(255,255,255)'],
['Dark Blue', 'rgb(30,37,41)', 'rgb(189,230,251)', 'rgb(41,50,55)', '1', '14', '11',
'rgba(99,99,98,0.56)', 'rgba(189,230,251,0.08)', 'rgb(189,230,251)', 'rgba(189,230,251,0.15)', 'rgb(189,230,251)'],
['Light Blue', 'rgb(245,247,250)', 'rgb(18,51,84)', 'rgba(18,51,84,0.2)', '1', '14', '11',
'rgba(18,51,84,0.15)', 'rgba(18,51,84,0.08)', 'rgb(18,51,84)', 'rgba(18,51,84,0.15)', 'rgb(18,51,84)']]</default>
<summary>List of color-themes</summary>
</key>
<key name="force-menu-location" enum="org.gnome.shell.extensions.arcmenu.forcemenulocation">
<default>'Off'</default>
<summary>Force the menu to a specific location</summary>
</key>
<key type="i" name="settings-width">
<default>750</default>
<summary>ArcMenu Settings Width</summary>
</key>
<key type="i" name="settings-height">
<default>800</default>
<summary>ArcMenu Settings Height</summary>
</key>
<key name="raven-search-display-style" enum="org.gnome.shell.extensions.arcmenu.search-display-style">
<default>'Grid'</default>
<summary>Raven Layout Search Display Style</summary>
</key>
<key name="raven-position" enum="org.gnome.shell.extensions.arcmenu.raven-position">
<default>'Left'</default>
<summary>Raven layout position. 'Left' or 'Right' side of screen</summary>
</key>
<key type="b" name="enable-weather-widget-raven">
<default>true</default>
<summary>Enable Weather Widget raven layout</summary>
</key>
<key type="b" name="enable-clock-widget-raven">
<default>true</default>
<summary>Enable Clocks Widget raven layout</summary>
</key>
<key type="b" name="enable-weather-widget-unity">
<default>false</default>
<summary>Enable Weather Widget Unity layout</summary>
</key>
<key type="b" name="enable-clock-widget-unity">
<default>false</default>
<summary>Enable Clocks Widget Unity layout</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.category-icon-type" name="category-icon-type">
<default>'Symbolic'</default>
<summary>Category icon type. Full_Color or Symbolic</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.category-icon-type" name="shortcut-icon-type">
<default>'Symbolic'</default>
<summary>Shortcut icon type. Full_Color or Symbolic</summary>
</key>
<key type="b" name="disable-scrollview-fade-effect">
<default>false</default>
<summary>disable the fade effect on scrollviews</summary>
</key>
<key type="b" name="apps-show-extra-details">
<default>false</default>
<summary>Show a larger icon and extra app details</summary>
</key>
<key type="i" name="max-search-results">
<default>5</default>
<summary>The amount of search results to display.</summary>
</key>
<key type="b" name="highlight-search-result-terms">
<default>false</default>
<summary>Highlight search results terms</summary>
</key>
<key type="b" name="show-search-result-details">
<default>false</default>
<summary>Show search result description label</summary>
</key>
<key type="b" name="search-provider-open-windows">
<default>false</default>
<summary>Show custom search provider - open windows</summary>
</key>
<key type="b" name="search-provider-recent-files">
<default>false</default>
<summary>Show custom search provider - recent files</summary>
</key>
<key type="(bi)" name="search-entry-border-radius">
<default>(true, 25)</default>
<summary>Search entry border radius</summary>
</key>
<key type="b" name="show-hidden-recent-files">
<default>false</default>
<summary>Show hidden recent files</summary>
</key>
<key type="b" name="activate-on-hover">
<default>false</default>
<summary>Activate Categories on Hover</summary>
</key>
<key type="b" name="disable-recently-installed-apps">
<default>false</default>
<summary>disable recently installed apps</summary>
</key>
<key type="b" name="disable-tooltips">
<default>false</default>
<summary>disable tooltips</summary>
</key>
<key type="b" name="show-category-sub-menus">
<default>false</default>
<summary>Show category sub menus.</summary>
</key>
<key type="b" name="alphabetize-all-programs">
<default>true</default>
<summary>Separate All Programs by a Character Listing</summary>
</key>
<key type="b" name="multi-lined-labels">
<default>true</default>
<summary>Multi-lined labels for large icon application grid layouts</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.default-menu-view" name="default-menu-view">
<default>'Pinned_Apps'</default>
<summary>Set ArcMenu Layout Default View</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.menu-button-click-action" name="menu-button-left-click-action">
<default>'ArcMenu'</default>
<summary>Left Click Action on the Menu Button</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.menu-button-click-action" name="menu-button-right-click-action">
<default>'ContextMenu'</default>
<summary>Right Click Action on the Menu Button</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.menu-button-click-action" name="menu-button-middle-click-action">
<default>'ArcMenu'</default>
<summary>Middle Click Action on the Menu Button</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.default-menu-view-tognee" name="default-menu-view-tognee">
<default>'Categories_List'</default>
<summary>Set Tognee Layout Default View</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.default-menu-view-redmond" name="default-menu-view-redmond">
<default>'All_Programs'</default>
<summary>Set Redmond Layout Default View</summary>
</key>
<key type="b" name="enable-unity-homescreen">
<default>true</default>
<summary>Set Unity layout to display "Home Screen" as default</summary>
</key>
<key type="b" name="disable-user-avatar">
<default>false</default>
<summary>Disable the user avatar icon from the menu</summary>
</key>
<key type="b" name="enable-activities-shortcut">
<default>false</default>
<summary>Enable an Activitities Overview Shortcut</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.searchbar-location" name="searchbar-default-bottom-location">
<default>'Bottom'</default>
<summary>Searchbar location for layouts with default searchbar on bottom</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.searchbar-location" name="searchbar-default-top-location">
<default>'Top'</default>
<summary>Searchbar location for layouts with default searchbar on top</summary>
</key>
<key type="b" name="enable-horizontal-flip">
<default>false</default>
<summary>Flip menu horizontally</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.all-apps-button-action" name="all-apps-button-action">
<default>'Categories_List'</default>
<summary>ArcMenu layout - 'All Apps' button action</summary>
</key>
<key type="b" name="windows-disable-frequent-apps">
<default>false</default>
<summary>Windows layout - disable frequent apps</summary>
</key>
<key type="b" name="windows-disable-pinned-apps">
<default>false</default>
<summary>Windows layout - disable pinned apps</summary>
</key>
<key type="b" name="gnome-dash-show-applications">
<default>false</default>
<summary>GNOME Dash Layout - Show Applications</summary>
</key>
<key type="b" name="plasma-enable-hover">
<default>true</default>
<summary>Plasma Menu Hover to activate item</summary>
</key>
<key type="b" name="runner-show-frequent-apps">
<default>false</default>
<summary>Runner layout - show frequent apps</summary>
</key>
<key type="i" name="runner-menu-height">
<default>400</default>
<summary>Runner layout - menu height</summary>
</key>
<key type="i" name="runner-menu-width">
<default>500</default>
<summary>Runner layout - menu width</summary>
</key>
<key type="i" name="runner-font-size">
<default>0</default>
<summary>Runner layout - font size</summary>
</key>
<key type="b" name="eleven-disable-frequent-apps">
<default>false</default>
<summary>Eleven Layout - disable frequent apps</summary>
</key>
<key type="b" name="vert-separator">
<default>false</default>
<summary>Enable a vertical separator</summary>
</key>
<key type="i" name="menu-height">
<default>550</default>
<summary>Menu Height</summary>
</key>
<key type="i" name="menu-width-adjustment">
<default>0</default>
<summary>Menu Width Adjustement.</summary>
</key>
<key type="i" name="left-panel-width">
<default>290</default>
<summary>Menu width</summary>
</key>
<key type="i" name="right-panel-width">
<default>205</default>
<summary>Right Panel width</summary>
</key>
<key type="b" name="show-external-devices">
<default>false</default>
<summary>Show External Devices</summary>
</key>
<key type="b" name="show-bookmarks">
<default>false</default>
<summary>Show Bookmarks</summary>
</key>
<key name="power-options" type="a(ib)">
<default>[(0, true), (1, true), (2, true), (3, true), (4, false), (5, false), (6, false), (7, false)]</default>
<summary>Power Options</summary>
</key>
<key name="power-display-style" enum="org.gnome.shell.extensions.arcmenu.power-display-style">
<default>'Default'</default>
<summary>Display type for power options</summary>
</key>
<key type="b" name="multi-monitor">
<default>false</default>
<summary>Display on all monitors</summary>
</key>
<key type="b" name="show-activities-button">
<default>false</default>
<summary>Show/Hide Activities Button in panel</summary>
</key>
<key name="arcmenu-hotkey" type="as">
<default>['Super_L']</default>
<summary>Keybind to open ArcMenu</summary>
</key>
<key name="runner-hotkey" type="as">
<default>[]</default>
<summary>Keybind to open standalone runner menu. Setting a keybind enables the standalone runner menu.</summary>
</key>
<key type="b" name="hotkey-open-primary-monitor">
<default>false</default>
<summary>Show ArcMenu on primary monitor when using hotkey</summary>
</key>
<key type="b" name="runner-hotkey-open-primary-monitor">
<default>false</default>
<summary>Show standalone Runner menu on primary monitor when using hotkey</summary>
</key>
<key name="position-in-panel" enum="org.gnome.shell.extensions.arcmenu.menu-position">
<default>'Left'</default>
<summary>The menu position in the panel</summary>
</key>
<key name="runner-position" enum="org.gnome.shell.extensions.arcmenu.runner-position">
<default>'Top'</default>
<summary>Runner Menu Position</summary>
</key>
<key name="runner-search-display-style" enum="org.gnome.shell.extensions.arcmenu.search-display-style">
<default>'List'</default>
<summary>Runner Search Display Style</summary>
</key>
<key name="menu-button-appearance" enum="org.gnome.shell.extensions.arcmenu.menu-button-appearance">
<default>'Icon'</default>
<summary>Appearance of the menu button.</summary>
</key>
<key name="avatar-style" enum="org.gnome.shell.extensions.arcmenu.avatar-style">
<default>'Round'</default>
<summary>Appearance of the avatar icon.</summary>
</key>
<key name="menu-item-icon-size" enum="org.gnome.shell.extensions.arcmenu.icon-sizes">
<default>'Default'</default>
<summary>Size of the menu items icon.</summary>
</key>
<key name="menu-item-category-icon-size" enum="org.gnome.shell.extensions.arcmenu.icon-sizes">
<default>'Default'</default>
<summary>Size of the category icons.</summary>
</key>
<key name="menu-item-grid-icon-size" enum="org.gnome.shell.extensions.arcmenu.grid-icon-sizes">
<default>'Default'</default>
<summary>Size of the menu grid icons.</summary>
</key>
<key name="custom-grid-icon-size" type="a{si}">
<default>{'width': 108, 'height': 108, 'iconSize': 62}</default>
<summary>Custom "grid icon" size (width, height, iconSize).</summary>
</key>
<key name="button-item-icon-size" enum="org.gnome.shell.extensions.arcmenu.icon-sizes">
<default>'Default'</default>
<summary>Size of the button items in ArcMenu.</summary>
</key>
<key name="misc-item-icon-size" enum="org.gnome.shell.extensions.arcmenu.icon-sizes">
<default>'Default'</default>
<summary>Size of misc items in ArcMenu.</summary>
</key>
<key name="quicklinks-item-icon-size" enum="org.gnome.shell.extensions.arcmenu.icon-sizes">
<default>'Default'</default>
<summary>Size of quicklink items in ArcMenu.</summary>
</key>
<key type="b" name="dash-to-panel-standalone">
<default>false</default>
<summary>Force placement of ArcMenu on GNOME top panel.</summary>
</key>
<key type="b" name="hide-overview-on-startup">
<default>false</default>
<summary>Hide overview on startup</summary>
</key>
<key type="s" name="custom-menu-button-text">
<default>'Apps'</default>
<summary>Text of the menu button.</summary>
</key>
<key name="menu-button-icon" enum="org.gnome.shell.extensions.arcmenu.menu-button-icon">
<default>'Menu_Icon'</default>
<summary>Icon type for the menu button.</summary>
</key>
<key name="arc-menu-icon" type="i">
<default>0</default>
<summary>Icon integer value for the menu button.</summary>
</key>
<key name="distro-icon" type="i">
<default>0</default>
<summary>Distro icon integer value for the menu button.</summary>
</key>
<key type="s" name="custom-menu-button-icon">
<default>''</default>
<summary>File path of the custom icon for the menu button.</summary>
</key>
<key type="d" name="custom-menu-button-icon-size">
<default>20</default>
<summary>Size of the menu buton icon.</summary>
</key>
<key type="i" name="button-padding">
<default>-1</default>
<summary>Menu Button Padding.</summary>
</key>
<key type="i" name="menu-button-position-offset">
<default>0</default>
<summary>Menu button position offset for main panel</summary>
</key>
<key name="extra-categories" type="a(ib)">
<default>[(0, true), (1, true), (2, false), (3, false), (4, false)]</default>
<summary>Array of extra categories. See Constants.js - Categories</summary>
</key>
<key name="arcmenu-extra-categories-links" type="a(ib)">
<default>[(0, false), (1, false), (2, false), (3, false), (4, false)]</default>
<summary>Array of extra categories links for ArcMenu layout. See Constants.js - Categories</summary>
</key>
<key enum="org.gnome.shell.extensions.arcmenu.menuitem-location" name="arcmenu-extra-categories-links-location">
<default>'Bottom'</default>
<summary>Display extra categories quick links on ArcMenu Layout home page</summary>
</key>
<key name="recently-installed-apps" type="as">
<default>[]</default>
<summary>List of recently installed apps</summary>
</key>
<key type="i" name="sleek-layout-panel-width">
<default>225</default>
<summary>Sleek layout right panel width.</summary>
</key>
<child name='pinned-apps-folders' schema='org.gnome.shell.extensions.arcmenu.pinned-apps-folders'/>
<key name="pinned-apps" type="aa{ss}">
<default>
[
{'id': 'firefox.desktop'},
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'gnome-extensions prefs arcmenu@arcmenu.com', 'name': 'ArcMenu Settings', 'icon': 'ArcMenu_ArcMenuIcon'}
]
</default>
<summary>Pinned Apps</summary>
</key>
<key name="directory-shortcuts" type="aa{ss}">
<default>
[
{'id': 'ArcMenu_Home', 'name': 'Home', 'icon': 'ArcMenu_Home'},
{'id': 'ArcMenu_Documents', 'name': 'Documents', 'icon': 'ArcMenu_Documents'},
{'id': 'ArcMenu_Downloads', 'name': 'Downloads', 'icon': 'ArcMenu_Downloads'},
{'id': 'ArcMenu_Music', 'name': 'Music', 'icon': 'ArcMenu_Music'},
{'id': 'ArcMenu_Pictures', 'name': 'Pictures', 'icon': 'ArcMenu_Pictures'},
{'id': 'ArcMenu_Videos', 'name': 'Videos', 'icon': 'ArcMenu_Videos'}
]
</default>
<summary>Array of directory shortcuts data.</summary>
</key>
<key name="application-shortcuts" type="aa{ss}">
<default>
[
{'id': 'ArcMenu_Software', 'name': 'Software'},
{'id': 'org.gnome.Settings.desktop'},
{'id': 'org.gnome.tweaks.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'ArcMenu_ActivitiesOverview', 'name': 'Activities Overview', 'icon': 'view-fullscreen-symbolic'}
]
</default>
<summary>Array of application shortcuts data.</summary>
</key>
<key name="az-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'org.gnome.Settings.desktop'}
]
</default>
<summary>'AZ' layout extra shortcuts</summary>
</key>
<key name="brisk-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'ArcMenu_Software', 'name': 'Software'},
{'id': 'org.gnome.Settings.desktop'}
]
</default>
<summary>'Brisk' layout extra shortcuts</summary>
</key>
<key name="eleven-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'org.gnome.Settings.desktop'}
]
</default>
<summary>'11' layout extra shortcuts</summary>
</key>
<key name="insider-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'org.gnome.Settings.desktop'}
]
</default>
<summary>'Insider' layout extra shortcuts</summary>
</key>
<key name="mint-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'firefox.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'org.gnome.Settings.desktop'},
{'id': 'ArcMenu_Software', 'name': 'Software'},
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'ArcMenu_Separator', 'name': 'Separator', 'icon': 'list-remove-symbolic'},
{'id': 'ArcMenu_LogOut', 'name': 'Log Out...', 'icon': 'system-log-out-symbolic'},
{'id': 'ArcMenu_Lock', 'name': 'Lock', 'icon': 'changes-prevent-symbolic'},
{'id': 'ArcMenu_PowerOff', 'name': 'Power Off...', 'icon': 'system-shutdown-symbolic'}
]
</default>
<summary>'Mint' layout extra shortcuts</summary>
</key>
<key name="sleek-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'ArcMenu_Home', 'name': 'Home', 'icon': 'ArcMenu_Home'},
{'id': 'ArcMenu_Documents', 'name': 'Documents', 'icon': 'ArcMenu_Documents'},
{'id': 'ArcMenu_Downloads', 'name': 'Downloads', 'icon': 'ArcMenu_Downloads'},
{'id': 'ArcMenu_Music', 'name': 'Music', 'icon': 'ArcMenu_Music'},
{'id': 'ArcMenu_Pictures', 'name': 'Pictures', 'icon': 'ArcMenu_Pictures'},
{'id': 'ArcMenu_Software', 'name': 'Software'},
{'id': 'org.gnome.Settings.desktop'},
{'id': 'org.gnome.Terminal.desktop'}
]
</default>
<summary>'Sleek' layout extra shortcuts</summary>
</key>
<key name="unity-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'ArcMenu_Home', 'name': 'Home', 'icon': 'ArcMenu_Home'},
{'id': 'ArcMenu_Documents', 'name': 'Documents', 'icon': 'ArcMenu_Documents'},
{'id': 'ArcMenu_Downloads', 'name': 'Downloads', 'icon': 'ArcMenu_Downloads'},
{'id': 'ArcMenu_Software', 'name': 'Software'},
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'ArcMenu_Separator', 'name': 'Separator', 'icon': 'list-remove-symbolic'},
{'id': 'ArcMenu_LogOut', 'name': 'Log Out...', 'icon': 'system-log-out-symbolic'},
{'id': 'ArcMenu_Lock', 'name': 'Lock', 'icon': 'changes-prevent-symbolic'},
{'id': 'ArcMenu_PowerOff', 'name': 'Power Off...', 'icon': 'system-shutdown-symbolic'}
]
</default>
<summary>'Unity' layout extra shortcuts</summary>
</key>
<key name="windows-layout-extra-shortcuts" type="aa{ss}">
<default>
[
{'id': 'org.gnome.Nautilus.desktop'},
{'id': 'org.gnome.Terminal.desktop'},
{'id': 'org.gnome.Settings.desktop'}
]
</default>
<summary>'Windows' layout extra shortcuts</summary>
</key>
<key name="context-menu-items" type="aa{ss}">
<default>
[
{'id': 'org.gnome.Extensions.desktop'},
{'id': 'ArcMenu_Settings', 'name': 'ArcMenu Settings', 'icon': 'ArcMenu_ArcMenuIcon'},
{'id': 'ArcMenu_PanelExtensionSettings', 'name': 'Panel Extension Settings', 'icon': 'application-x-addon-symbolic'},
{'id': 'ArcMenu_Separator', 'name': 'Separator', 'icon': 'list-remove-symbolic'},
{'id': 'ArcMenu_PowerOptions', 'name': 'Power Options', 'icon': 'system-shutdown-symbolic'},
{'id': 'ArcMenu_ActivitiesOverview', 'name': 'Activities Overview', 'icon': 'view-fullscreen-symbolic'},
{'id': 'ArcMenu_ShowDesktop', 'name': 'Show Desktop', 'icon': 'computer-symbolic'}
]
</default>
<summary>Context menu shortcut items</summary>
</key>
<!-- DEPRACATED -->
<!-- Keep for one release in order to convert old setting to new setting format -->
<key name="pinned-app-list" type="as">
<default>[]</default>
<summary>List of Apps Pinned to Menu</summary>
</key>
<key name="directory-shortcuts-list" type="aas">
<default>[]</default>
<summary>List of default directory paths used for links on the right side of ArcMenu</summary>
</key>
<key name="application-shortcuts-list" type="aas">
<default>[]</default>
<summary>List of default directory paths used for links on the right side of ArcMenu</summary>
</key>
<key name="az-extra-buttons" type="aas">
<default>[]</default>
<summary>List of AZ Layout extra buttons</summary>
</key>
<key name="eleven-extra-buttons" type="aas">
<default>[]</default>
<summary>List of Eleven Layout extra buttons</summary>
</key>
<key name="insider-extra-buttons" type="aas">
<default>[]</default>
<summary>List of Insider Layout extra buttons</summary>
</key>
<key name="windows-extra-buttons" type="aas">
<default>[]</default>
<summary>List of Windows Layout extra buttons</summary>
</key>
<key name="unity-extra-buttons" type="aas">
<default>[]</default>
<summary>List of Unity Layout extra buttons</summary>
</key>
<key name="brisk-extra-shortcuts" type="aas">
<default>[]</default>
<summary>List of Brisk Layout extra shortcuts</summary>
</key>
<key name="mint-extra-buttons" type="aas">
<default>[]</default>
<summary>List of Mint Layout extra buttons</summary>
</key>
<key name="context-menu-shortcuts" type="aas">
<default>[]</default>
<summary>List of shortcuts on ArcMenu button context menu</summary>
</key>
<!-- END DEPRACATED -->
<key name="pop-folders-data" type="a{ss}">
<default>{}</default>
<summary>List of org.gnome.desktop.app-folders id:name</summary>
</key>
<key name="pop-default-view" type="s">
<default>'Library Home'</default>
<summary>The folder to display when opening the POP layout</summary>
</key>
<key name="prefs-visible-page" type="i">
<default>0</default>
<summary>Handles which page to open in ArcMenu Settings</summary>
</key>
</schema>
</schemalist>

View File

@ -0,0 +1,341 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -0,0 +1,170 @@
![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/ArcMenu_WideBanner.png)
-----
![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/ArcMenu_Banner.png)
-----
### Introduction
ArcMenu is an application menu for GNOME Shell, designed to provide a more familiar user experience and workflow. This extension has many features, including various menu layout styles, GNOME search, quick access to system shortcuts, and much more!
**For ArcMenu to work properly, you may need [these dependencies](https://gitlab.com/arcmenu/ArcMenu/-/wikis/ArcMenu-Dependencies).**
-----
### Support ArcMenu
ArcMenu is provided free of charge. If you enjoy using ArcMenu and wish to help support the project, feel free to use the link below!
[![Donate via Paypal](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/paypal_donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=53CWA7NR743WC&item_name=Support+ArcMenu&currency_code=USD&source=url)
-----
### Installation
#### Visit the [GNOME Extensions](https://extensions.gnome.org/extension/3628/arcmenu/) website to install the most recent release of ArcMenu.
- **To install ArcMenu from source**: Please see the [Install From Source wiki Guide](https://gitlab.com/arcmenu/ArcMenu/-/wikis/Install-From-Source-Guide).
<p align="left">
<a href="https://extensions.gnome.org/extension/3628/arcmenu/" >
<img src="https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/get-it-ego.png" width="240" style="margin-left: 4px"/>
</a>
-----
### Credits
**@[AndrewZaech](https://gitlab.com/AndrewZaech)** (2019 - current) Project Maintainer and Developer
**@[AndyC](https://gitlab.com/LinxGem33)** (2017 - 2020) ArcMenu Founder, Former Maintainer, Digital Art Designer
**@[Alexander Rüedlinger](https://github.com/lexruee)** (2017) - Former Developer
**Additional Credits**:
* The 'ArcMenu' layout design is insipired by the Zorin OS menu extension.
* ArcMenu utilizes various code from GNOME Shell and the GNOME Shell extensions package.
* ArcMenu Logo and other ArcMenu icon assets created by [AndyC](https://gitlab.com/LinxGem33). Licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
* Fallback category icons included in ArcMenu are copied from [Ubuntu Yaru Icons](https://github.com/ubuntu/yaru) and licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
-----
### History
ArcMenu was first released in 2017 by [AndyC](https://gitlab.com/LinxGem33). The original ArcMenu project can be found [here](https://gitlab.com/LinxGem33/Arc-Menu).
In 2017, ArcMenu _started_ as a fork of the Zorin menu extension by Zorin OS. As it's own separate project, ArcMenu rapidly began developing innovative features and quickly diverged away from Zorin menu thanks to the works of [AndyC](https://gitlab.com/LinxGem33) (2017 - 2020), [AndrewZaech](https://gitlab.com/AndrewZaech) (2019 - current), [Alexander Rüedlinger](https://github.com/lexruee) (2017), and other contributors. ArcMenu has been rewritten from the ground up since it's inception and has it's own separate, original, and unique code base, unrelated to that of Zorin menu.
-----
### Contributors
**@[Thomas Ingvarsson](https://gitlab.com/tingvarsson)** | **@[fishears](https://github.com/fishears)** | **@[JasonLG1979](https://github.com/JasonLG1979)** | **@[itmitica](https://github.com/itmitica)** | **@[vikaig](https://gitlab.com/vikaig)** | **@[MagneFire](https://gitlab.com/MagneFire)**
**@[tognee](https://gitlab.com/tognee)** | **@[hlechner](https://gitlab.com/hlechner)** | **@[vanillajonathan](https://gitlab.com/vanillajonathan)** | **@[epskampie](https://gitlab.com/epskampie)** | **@[GnomeBook](https://gitlab.com/GnomeBook)**
**@[charlesg99](https://github.com/charlesg99)** | **@[harshadgavali](https://gitlab.com/harshadgavali)** | **@[O. Giesmann ](https://gitlab.com/Etamuk)** | **@[aleayr ](https://gitlab.com/aleayr)**
**@[JasonLG1979](https://github.com/JasonLG1979)** | **@[lexruee](https://github.com/lexruee)** | **@[aleayr](https://gitlab.com/aleayr)** | **@[osmancoskun](https://gitlab.com/osmancoskun) !184** | **@[Balló György](https://gitlab.com/City-busz) !189, !215**
-----
### Translators
| Language | Translators |
| ------ | ------ |
| **Belarusian** | **@[Latgardi](https://gitlab.com/Latgardi)** |
| **Brazilian Portuguese** | **@[frnogueira](https://gitlab.com/frnogueira), @[Z Bed](https://gitlab.com/zbed), @[perry.werneck](https://gitlab.com/perry.werneck)** |
| **Catalan** | **@[jordim](https://gitlab.com/jordim)** |
| **Chinese (Taiwan)** | **@[plesry](https://gitlab.com/plesry)** |
| **Czech** | **@[jiri.doubravsky](https://gitlab.com/jiri.doubravsky), @[panmourovaty](https://gitlab.com/panmourovaty), @[Amerey ](https://gitlab.com/Amerey.eu)** |
| **Danish** | **@[cbsvitzer](https://gitlab.com/cbsvitzer)** |
| **Dutch** | **@[Vistaus](https://gitlab.com/Vistaus), @[vinno97](https://gitlab.com/vinno97)** |
| **Estonian** | **@[rimasx](https://gitlab.com/rimasx)** |
| **Finnish** | **@[artnay](https://gitlab.com/artnay)** |
| **French** | **@[Nilvus](https://gitlab.com/Nilvus), @[steve.kossouho](https://gitlab.com/steve.kossouho)** |
| **German** | **@[Etamuk](https://gitlab.com/Etamuk), @[daPhipz](https://gitlab.com/daPhipz)** |
| **Hebrew** | **@[omeritzics](https://gitlab.com/omeritzics)** |
| **Hungarian** | **@[stevendobay](https://gitlab.com/stevendobay), @[Balázs Meskó](https://gitlab.com/meskobalazs)** |
| **Italian** | **@[Vombato](https://gitlab.com/Vombato), @[matguidi](https://gitlab.com/matguidi)** |
| **Japanese** | **@[Hayao0819](https://gitlab.com/Hayao0819)** |
| **Korean** | **@[HyeonWol](https://gitlab.com/hyeonwol123)** |
| **Norwegian** | **@[sigbjokj](https://gitlab.com/sigbjokj), @[sssandum](https://gitlab.com/sssandum)** |
| **Occitan** | **@[Mejans](https://gitlab.com/Mejans), @[Quentin](https://gitlab.com/quenty_occitania)** |
| **Polish** | **@[alex4401](https://gitlab.com/alex4401), @[Karpfly](https://gitlab.com/MacKarp), @[Piotr Strebski](https://gitlab.com/strebski), @[Adam Lewicki](https://gitlab.com/a.lewicki95)** |
| **Russian** | **@[Ivan](https://gitlab.com/vantu5z), @[Ser82-png](https://gitlab.com/Ser82-png)** |
| **Silesian** | **@[gkkulik](https://gitlab.com/gkkulik)** |
| **Simplified Chinese** | **@[skygmin](https://gitlab.com/skygmin), @[doufu3344](https://gitlab.com/doufu3344), @[wxtewx](https://gitlab.com/wxtewx), @[Anduin2017](https://gitlab.com/Anduin2017)** |
| **Sinhalese** | **@[sayuri](https://gitlab.com/sayuri-), @[helabasa](https://gitlab.com/helabasa)** |
| **Slovak** | **@[prescott66](https://gitlab.com/prescott66)** |
| **Spanish** | **@[juanlucer](https://gitlab.com/juanlucer), @[pjunyent](https://gitlab.com/pjunyent), @[Sergio](https://gitlab.com/IngrownMink4), @[Luis Zurro](https://gitlab.com/nyaran)** |
| **Swedish** | **@[MorganAntonsson](https://gitlab.com/MorganAntonsson)** |
| **Turkish** | **@[aylinux](https://gitlab.com/aylinux), @[Sabri Ünal](https://gitlab.com/sabriunal)** |
| **Ukrainian** | **@[vikaig](https://gitlab.com/vikaig), @[Denys Nykula](https://gitlab.com/nykula)** |
-----
### License & Terms
ArcMenu is available under the terms of the GPL-2.0 license See [`COPYING`](https://gitlab.com/arcmenu/ArcMenu/blob/master/COPYING) for details.
-----
#### Distro Icons
Legal disclaimer for brand icons and trademarks:
*All brand icons are trademarks of their respective owners. The use of these trademarks does not indicate endorsement of the trademark holder by ArcMenu project, nor vice versa. Please do not use brand logos for any purpose except to represent the company, product, or service to which they refer.*
<details>
<summary><b>Read More...</b></summary>
<p>
* **UBUNTU ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - Ubuntu name and Ubuntu logo is a trademark of Canonical ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) Ltd.
* **FEDORA ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - Fedora and the Infinity design logo are trademarks of Red Hat, Inc.
* **DEBIAN ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - is a registered trademark owned by Software in the Public Interest, Inc. Debian trademark is a registered United States trademark of Software in the Public Interest, Inc., managed by the Debian project.
* **MANJARO ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - (logo) and name is a trademark of Manjaro GmbH & Co. KG
* **POP_OS! ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - Name and (logo) is a trademark of system 76 ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) Inc.
* **ARCH LINUX ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** - The stylized Arch Linux logo are recognised trademarks of Arch Linux, copyright 2002-2017 Judd Vinet and Aaron Griffin
* **SOLUS** - name and logo is Copyright ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) 2014-2018 by Solus Project
* **KALI LINUX** - logo and name is part of ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) OffSec Services Limited 2020
* **PUREOS** - name and logo is developed by members of the Purism community
* **RASPBERRY PI** ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) - Logo and name is part of Raspberry Pi Foundation
UK Registered Charity 1129409
* **Gentoo Authors![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** 20012020
Gentoo is a trademark of the Gentoo Foundation, Inc.
* **Voyager ![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg) Linux**
(name) and (logo)
* **MXLinux![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** 2020 -
Linux - is the registered trademark of Linus Torvalds in the U.S. and other countries.
* **Red Hat, Inc.![](https://gitlab.com/arcmenu/arcmenu-assets/raw/master/images/copyright2.svg)** Copyright 2020
(name) and (logo)
* **ZORIN OS** - The "Z" logomark is a registered trademark of Zorin Technology Group Ltd. Copyright © 2019 - 2021 Zorin Technology Group Ltd
* **Pardus** - Pardus is a trademark of the TUBITAK ULAKBIM. Copyright © 20032023 TUBITAK ULAKBIM
* **NixOS** - The logo is made available under a <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY license</a>. Logo designed by Tim Cuthbertson.
</p>
</details>
-----

View File

@ -0,0 +1,457 @@
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import St from 'gi://St';
import {AppMenu} from 'resource:///org/gnome/shell/ui/appMenu.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import * as Utils from './utils.js';
const DESKTOP_ICONS_UUIDS = [
'ding@rastersoft.com', 'gtk4-ding@smedius.gitlab.com',
'desktopicons-neo@darkdemon',
];
/**
*
* @param {Actor} child
*/
function isPopupMenuItemVisible(child) {
if (child._delegate instanceof PopupMenu.PopupMenuSection) {
if (child._delegate.isEmpty())
return false;
}
return child.visible;
}
export const AppContextMenu = class ArcMenuAppContextMenu extends AppMenu {
constructor(sourceActor, menuLayout) {
super(sourceActor, St.Side.TOP);
this._settings = menuLayout.settings;
this._menuButton = menuLayout.menuButton;
this._menuLayout = menuLayout;
this._enableFavorites = true;
this._showSingleWindows = true;
this.actor.add_style_class_name('arcmenu-menu app-menu');
this._pinnedAppData = this.sourceActor.pinnedAppData;
this._scrollBox = new St.ScrollView({
clip_to_allocation: true,
hscrollbar_policy: St.PolicyType.NEVER,
vscrollbar_policy: St.PolicyType.AUTOMATIC,
});
this._boxPointer.bin.set_child(this._scrollBox);
Utils.addChildToParent(this._scrollBox, this.box);
Main.uiGroup.add_child(this.actor);
this._menuLayout.contextMenuManager.addMenu(this);
this.sourceActor.connect('destroy', () => {
if (this.isOpen)
this.close();
Main.uiGroup.remove_child(this.actor);
this.destroy();
});
this.actor.connect('key-press-event', this._menuKeyPress.bind(this));
this._newWindowItem.connect('activate', () => this.closeMenus());
this._onGpuMenuItem.connect('activate', () => this.closeMenus());
this._detailsItem.connect('activate', () => this.closeMenus());
this._arcMenuPinnedItem = this._createMenuItem(_('Pin to ArcMenu'), 8, () => {
this.close();
if (this._pinnedAppData) {
let sourceSettings;
const isFolder = this.sourceActor.folderSettings;
if (isFolder)
sourceSettings = this.sourceActor.folderSettings;
else
sourceSettings = this._settings;
const pinnedAppsList = sourceSettings.get_value('pinned-apps').deepUnpack();
for (let i = 0; i < pinnedAppsList.length; i++) {
if (pinnedAppsList[i].id === this._app.get_id()) {
pinnedAppsList.splice(i, 1);
sourceSettings.set_value('pinned-apps', new GLib.Variant('aa{ss}', pinnedAppsList));
break;
}
}
} else {
const pinnedAppsList = this._settings.get_value('pinned-apps').deepUnpack();
const newPinnedAppData = {
id: this._app.get_id(),
};
pinnedAppsList.push(newPinnedAppData);
this._settings.set_value('pinned-apps', new GLib.Variant('aa{ss}', pinnedAppsList));
}
});
this._createDesktopShortcutItem = this._createMenuItem(_('Create Desktop Shortcut'), 7, () => {
const [exists, src, dst] = this.getDesktopShortcut();
if (exists && src && dst) {
try {
dst.delete(null);
} catch (e) {
log(`Failed to delete shortcut: ${e.message}`);
}
} else if (src && dst) {
try {
src.copy(dst, Gio.FileCopyFlags.OVERWRITE, null, null);
} catch (e) {
log(`Failed to copy to desktop: ${e.message}`);
}
}
this.close();
this._updateDesktopShortcutItem();
});
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem(), 8);
this._settings.connectObject('changed::pinned-apps', () => this._updateArcMenuPinnedItem(), this.actor);
this.desktopExtensionStateChangedId =
Main.extensionManager.connect('extension-state-changed', (data, changedExtension) => {
if (DESKTOP_ICONS_UUIDS.includes(changedExtension.uuid))
this._updateDesktopShortcutItem();
});
this.connect('active-changed', () => this._activeChanged());
this.connect('destroy', () => this._onDestroy());
}
_activeChanged() {
if (this._activeMenuItem)
Utils.ensureActorVisibleInScrollView(this._activeMenuItem);
}
open(animate) {
if (this._menuButton.tooltipShowingID) {
GLib.source_remove(this._menuButton.tooltipShowingID);
this._menuButton.tooltipShowingID = null;
this._menuButton.tooltipShowing = false;
}
if (this.sourceActor.tooltip) {
this.sourceActor.tooltip.hide();
this._menuButton.tooltipShowing = false;
}
// clear the max height style for next recalculation
this._scrollBox.style = null;
const {needsScrollbar, maxHeight} = this._needsScrollbar();
this._scrollBox.style = `max-height: ${maxHeight}px;`;
this._scrollBox.vscrollbar_policy =
needsScrollbar ? St.PolicyType.AUTOMATIC : St.PolicyType.NEVER;
if (needsScrollbar)
this.actor.add_style_pseudo_class('scrolled');
else
this.actor.remove_style_pseudo_class('scrolled');
super.open(animate);
this.sourceActor.add_style_pseudo_class('active');
}
_needsScrollbar() {
const monitorIndex = Main.layoutManager.findIndexForActor(this.sourceActor);
this._sourceExtents = this.sourceActor.get_transformed_extents();
this._workArea = Main.layoutManager.getWorkAreaForMonitor(monitorIndex);
const sourceTopLeft = this._sourceExtents.get_top_left();
const sourceBottomRight = this._sourceExtents.get_bottom_right();
const [, , , boxHeight] = this._scrollBox.get_preferred_size();
const workarea = this._workArea;
switch (this._arrowSide) {
case St.Side.TOP: {
const maxHeight = (workarea.y + workarea.height) - sourceBottomRight.y - 16;
if (sourceBottomRight.y + boxHeight > workarea.y + workarea.height)
return {needsScrollbar: true, maxHeight};
return {needsScrollbar: false, maxHeight};
}
case St.Side.BOTTOM: {
const maxHeight = sourceTopLeft.y - workarea.y - 16;
if (sourceTopLeft.y - boxHeight < workarea.y)
return {needsScrollbar: true, maxHeight};
return {needsScrollbar: false, maxHeight};
}
default:
return {needsScrollbar: false, maxHeight: 0};
}
}
_onDestroy() {
this.destroyed = true;
this._disconnectSignals();
if (this.desktopExtensionStateChangedId) {
Main.extensionManager.disconnect(this.desktopExtensionStateChangedId);
this.desktopExtensionStateChangedId = null;
}
}
closeMenus() {
this.close();
this._menuLayout.arcMenu.toggle();
}
_createMenuItem(labelText, position, callback) {
const item = new PopupMenu.PopupMenuItem(labelText);
item.connect('activate', () => callback());
this.addMenuItem(item, position);
return item;
}
setApp(app) {
if (this._app === app)
return;
this._app?.disconnectObject(this);
if (this.destroyed)
return;
this._app = app;
this._app?.connectObject('windows-changed',
() => this._queueUpdateWindowsSection(), this);
this._updateWindowsSection();
const appInfo = app?.app_info;
const actions = appInfo?.list_actions() ?? [];
this._actionSection.removeAll();
actions.forEach(action => {
const label = appInfo.get_action_name(action);
this._actionSection.addAction(label, event => {
if (action === 'new-window')
this._animateLaunch();
this._app.launch_action(action, event.get_time(), -1);
this.closeMenus();
});
});
this._updateQuitItem();
this._updateNewWindowItem();
this._updateFavoriteItem();
this._updateGpuItem();
this._updateArcMenuPinnedItem();
this._updateDesktopShortcutItem();
}
isDesktopActive() {
let hasActiveDesktop = false;
DESKTOP_ICONS_UUIDS.forEach(uuid => {
const extension = Main.extensionManager.lookup(uuid);
if (extension?.state === Utils.ExtensionState.ACTIVE)
hasActiveDesktop = true;
});
return hasActiveDesktop;
}
getDesktopShortcut() {
if (!this._app)
return [false, null, null];
const fileDestination = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP);
const src = Gio.File.new_for_path(this._app.get_app_info().get_filename());
const dst = Gio.File.new_for_path(GLib.build_filenamev([fileDestination, src.get_basename()]));
const exists = dst.query_exists(null);
return [exists, src, dst];
}
_updateDesktopShortcutItem() {
const isDesktopActive = this.isDesktopActive();
if (!this._app || !isDesktopActive) {
this._createDesktopShortcutItem.visible = false;
return;
}
this._createDesktopShortcutItem.visible = true;
const [exists, src_, dst_] = this.getDesktopShortcut();
this._createDesktopShortcutItem.label.text = exists ? _('Delete Desktop Shortcut')
: _('Create Desktop Shortcut');
}
// For Custom Shortcuts in Pinned Apps category. ie ArcMenu Settings
addUnpinItem(id, folder = null) {
this._disconnectSignals();
this.removeAll();
this._id = id;
this._arcMenuPinnedItem = this._createMenuItem(_('Unpin from ArcMenu'), 0, () => {
this.close();
let sourceSettings;
if (!folder && this.sourceActor.folderSettings)
sourceSettings = this.sourceActor.folderSettings;
else
sourceSettings = this._settings;
// Unpinned the folder, reset all folder settings keys
if (folder) {
let keys = folder.settings_schema.list_keys();
for (const key of keys)
folder.reset(key);
return;
}
const pinnedAppsList = sourceSettings.get_value('pinned-apps').deepUnpack();
for (let i = 0; i < pinnedAppsList.length; i++) {
if (pinnedAppsList[i].id === this._id) {
pinnedAppsList.splice(i, 1);
sourceSettings.set_value('pinned-apps', new GLib.Variant('aa{ss}', pinnedAppsList));
break;
}
}
});
}
_updateArcMenuPinnedItem() {
if (!this._app) {
this._arcMenuPinnedItem.visible = false;
return;
}
this._arcMenuPinnedItem.visible = this._menuLayout.hasPinnedApps;
this._arcMenuPinnedItem.label.text = this._pinnedAppData ? _('Unpin from ArcMenu') : _('Pin to ArcMenu');
}
_updateWindowsSection() {
if (this._updateWindowsLaterId) {
const laters = global.compositor.get_laters();
laters.remove(this._updateWindowsLaterId);
}
this._updateWindowsLaterId = 0;
this._windowSection.removeAll();
this._openWindowsHeader.hide();
if (!this._app)
return;
const minWindows = this._showSingleWindows ? 1 : 2;
const windows = this._app.get_windows().filter(w => !w.skip_taskbar);
if (windows.length < minWindows)
return;
this._openWindowsHeader.show();
windows.forEach(window => {
const title = window.title || this._app.get_name();
const item = this._windowSection.addAction(title, event => {
this.closeMenus();
Main.activateWindow(window, event.get_time());
});
window.connectObject('notify::title', () => {
item.label.text = window.title || this._app.get_name();
}, item);
});
}
setFolderPath(path) {
this._disconnectSignals();
this.removeAll();
this._openFolderLocationItem = this._createMenuItem(_('Open Folder Location'), 0, () => {
const file = Gio.File.new_for_path(path);
const context = global.create_app_launch_context(Clutter.get_current_event().get_time(), -1);
new Promise((resolve, reject) => {
Gio.AppInfo.launch_default_for_uri_async(file.get_uri(), context, null, (o, res) => {
try {
Gio.AppInfo.launch_default_for_uri_finish(res);
resolve();
} catch (e) {
reject(e);
}
});
});
this.closeMenus();
});
}
addAdditionalAction(name, action) {
if (!this._openFolderLocationItem) {
this._disconnectSignals();
this.removeAll();
} else {
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
}
this._additionalAction = new PopupMenu.PopupMenuItem(_(name));
this._additionalAction.connect('activate', () => {
this.close();
action();
});
this.addMenuItem(this._additionalAction);
}
isEmpty() {
if (!this._app && !this._openFolderLocationItem && !this._id && !this._additionalAction)
return true;
const hasVisibleChildren = this.box.get_children().some(child => {
if (child._delegate instanceof PopupMenu.PopupSeparatorMenuItem)
return false;
return isPopupMenuItemVisible(child);
});
return !hasVisibleChildren;
}
centerBoxPointerPosition() {
this._boxPointer.setSourceAlignment(.50);
this._arrowAlignment = .5;
this._boxPointer._border.queue_repaint();
}
rightBoxPointerPosition() {
this._arrowSide = St.Side.LEFT;
this._boxPointer._arrowSide = St.Side.LEFT;
this._boxPointer._userArrowSide = St.Side.LEFT;
this._boxPointer.setSourceAlignment(.50);
this._arrowAlignment = .5;
this._boxPointer._border.queue_repaint();
}
_disconnectSignals() {
this._settings.disconnectObject(this.actor);
this._appSystem.disconnectObject(this.actor);
this._parentalControlsManager.disconnectObject(this.actor);
this._appFavorites.disconnectObject(this.actor);
global.settings.disconnectObject(this.actor);
global.disconnectObject(this.actor);
}
close(animate) {
super.close(animate);
this.sourceActor.remove_style_pseudo_class('active');
this.sourceActor.sync_hover();
}
_menuKeyPress(actor, event) {
const symbol = event.get_key_symbol();
if (symbol === Clutter.KEY_Menu) {
this.toggle();
this.sourceActor.sync_hover();
}
}
_onKeyPress() {
return Clutter.EVENT_PROPAGATE;
}
};

View File

@ -0,0 +1,35 @@
export class ArcMenuManager {
constructor(extension) {
if (ArcMenuManager._singleton)
throw new Error('ArcMenu has been already initialized');
ArcMenuManager._singleton = extension;
}
static getDefault() {
return ArcMenuManager._singleton;
}
static get customStylesheet() {
return ArcMenuManager.getDefault().customStylesheet;
}
static set customStylesheet(stylesheet) {
ArcMenuManager.getDefault().customStylesheet = stylesheet;
}
static get extension() {
return ArcMenuManager.getDefault();
}
static get settings() {
return ArcMenuManager.getDefault().settings;
}
static get settingsControllers() {
return ArcMenuManager.getDefault().settingsControllers;
}
destroy() {
ArcMenuManager._singleton = null;
}
}

View File

@ -0,0 +1,623 @@
import {domain} from 'gettext';
const {gettext: _} = domain('arcmenu');
export const DASH_TO_PANEL_UUID = 'dash-to-panel@jderose9.github.com';
export const AZTASKBAR_UUID = 'aztaskbar@aztaskbar.gitlab.com';
export const SearchbarLocation = {
BOTTOM: 0,
TOP: 1,
};
export const MenuItemLocation = {
BOTTOM: 0,
TOP: 1,
};
export const DisplayType = {
LIST: 0,
GRID: 1,
BUTTON: 2,
};
export const AvatarStyle = {
ROUND: 0,
SQUARE: 1,
};
export const CategoryType = {
FAVORITES: 0,
FREQUENT_APPS: 1,
ALL_PROGRAMS: 2,
PINNED_APPS: 3,
RECENT_FILES: 4,
HOME_SCREEN: 5,
SEARCH_RESULTS: 6,
CATEGORIES_LIST: 7,
};
export const DefaultMenuView = {
PINNED_APPS: 0,
CATEGORIES_LIST: 1,
FREQUENT_APPS: 2,
ALL_PROGRAMS: 3,
};
export const SettingsPage = {
MAIN: 0,
MENU_LAYOUT: 1,
BUTTON_APPEARANCE: 2,
LAYOUT_TWEAKS: 3,
ABOUT: 4,
CUSTOMIZE_MENU: 5,
RUNNER_TWEAKS: 6,
GENERAL: 7,
MENU_THEME: 8,
DIRECTORY_SHORTCUTS: 9,
APPLICATION_SHORTCUTS: 10,
SEARCH_OPTIONS: 11,
POWER_OPTIONS: 12,
EXTRA_CATEGORIES: 13,
PINNED_APPS: 14,
};
export const DefaultMenuViewTognee = {
CATEGORIES_LIST: 0,
ALL_PROGRAMS: 1,
};
export const AllAppsButtonAction = {
CATEGORIES_LIST: 0,
ALL_PROGRAMS: 1,
};
export const DefaultMenuViewRedmond = {
ALL_PROGRAMS: 0,
PINNED_APPS: 1,
};
export const SoftwareManagerIDs = ['org.manjaro.pamac.manager.desktop', 'pamac-manager.desktop',
'io.elementary.appcenter.desktop', 'snap-store_ubuntu-software.desktop', 'snap-store_snap-store.desktop',
'org.gnome.Software.desktop', 'tr.org.pardus.software.desktop'];
export const Categories = [
{CATEGORY: CategoryType.FAVORITES, NAME: _('Favorites'), ICON: 'emblem-favorite-symbolic'},
{CATEGORY: CategoryType.FREQUENT_APPS, NAME: _('Frequent Apps'), ICON: 'user-bookmarks-symbolic'},
{CATEGORY: CategoryType.ALL_PROGRAMS, NAME: _('All Apps'), ICON: 'view-app-grid-symbolic'},
{CATEGORY: CategoryType.PINNED_APPS, NAME: _('Pinned Apps'), ICON: 'view-pin-symbolic'},
{CATEGORY: CategoryType.RECENT_FILES, NAME: _('Recent Files'), ICON: 'document-open-recent-symbolic'},
];
export const TooltipLocation = {
TOP_CENTERED: 0,
BOTTOM_CENTERED: 1,
BOTTOM: 2,
};
export const ContextMenuLocation = {
DEFAULT: 0,
BOTTOM_CENTERED: 1,
RIGHT: 2,
};
export const SeparatorAlignment = {
VERTICAL: 0,
HORIZONTAL: 1,
};
export const SeparatorStyle = {
SHORT: 0,
MEDIUM: 1,
LONG: 2,
MAX: 3,
HEADER_LABEL: 4,
NORMAL: 5,
EMPTY: 6,
};
export const CaretPosition = {
END: -1,
START: 0,
MIDDLE: 2,
};
export const CategoryIconType = {
FULL_COLOR: 0,
SYMBOLIC: 1,
};
export const ForcedMenuLocation = {
OFF: 0,
TOP_CENTERED: 1,
BOTTOM_CENTERED: 2,
MONITOR_CENTERED: 3,
};
export const IconSize = {
DEFAULT: 0,
EXTRA_SMALL: 1,
SMALL: 2,
MEDIUM: 3,
LARGE: 4,
EXTRA_LARGE: 5,
HIDDEN: 6,
};
export const GridIconSize = {
DEFAULT: 0,
SMALL: 1,
MEDIUM: 2,
LARGE: 3,
SMALL_RECT: 4,
MEDIUM_RECT: 5,
LARGE_RECT: 6,
CUSTOM: 7,
EXTRA_LARGE: 8,
};
export const GridIconInfo = [
{ENUM: GridIconSize.SMALL, WIDTH: 80, HEIGHT: 80, ICON_SIZE: 36},
{ENUM: GridIconSize.MEDIUM, WIDTH: 87, HEIGHT: 87, ICON_SIZE: 42},
{ENUM: GridIconSize.LARGE, WIDTH: 95, HEIGHT: 95, ICON_SIZE: 52},
{ENUM: GridIconSize.SMALL_RECT, WIDTH: 85, HEIGHT: 70, ICON_SIZE: 28},
{ENUM: GridIconSize.MEDIUM_RECT, WIDTH: 92, HEIGHT: 78, ICON_SIZE: 34},
{ENUM: GridIconSize.LARGE_RECT, WIDTH: 95, HEIGHT: 85, ICON_SIZE: 42},
{ENUM: GridIconSize.EXTRA_LARGE, WIDTH: 148, HEIGHT: 148, ICON_SIZE: 68},
];
export const ICON_HIDDEN = 0;
export const EXTRA_SMALL_ICON_SIZE = 16;
export const SMALL_ICON_SIZE = 20;
export const MEDIUM_ICON_SIZE = 25;
export const LARGE_ICON_SIZE = 30;
export const EXTRA_LARGE_ICON_SIZE = 35;
export const MISC_ICON_SIZE = 24;
export const SUPER_L = 'Super_L';
export const SECTIONS = [
'devices',
'network',
'bookmarks',
];
export const Direction = {
GO_NEXT: 0,
GO_PREVIOUS: 1,
};
export const MenuPosition = {
LEFT: 0,
CENTER: 1,
RIGHT: 2,
};
export const RavenPosition = {
LEFT: 0,
RIGHT: 1,
};
export const DiaglogType = {
DEFAULT: 0,
OTHER: 1,
APPLICATIONS: 2,
DIRECTORIES: 3,
};
export const MenuSettingsListType = {
PINNED_APPS: 0,
APPLICATIONS: 1,
DIRECTORIES: 2,
EXTRA_SHORTCUTS: 3,
POWER_OPTIONS: 4,
EXTRA_CATEGORIES: 5,
QUICK_LINKS: 6,
CONTEXT_MENU: 7,
FOLDER_PINNED_APPS: 8,
};
export const MenuButtonAppearance = {
ICON: 0,
TEXT: 1,
ICON_TEXT: 2,
TEXT_ICON: 3,
NONE: 4,
};
export const MenuButtonClickAction = {
ARCMENU: 0,
CONTEXT_MENU: 1,
NONE: 2,
};
export const PowerType = {
LOGOUT: 0,
LOCK: 1,
RESTART: 2,
POWER_OFF: 3,
SUSPEND: 4,
HYBRID_SLEEP: 5,
HIBERNATE: 6,
SWITCH_USER: 7,
};
export const PowerDisplayStyle = {
DEFAULT: 0,
IN_LINE: 1,
MENU: 2,
};
export const PowerOptions = [
{TYPE: PowerType.LOGOUT, ICON: 'system-log-out-symbolic', NAME: _('Log Out...')},
{TYPE: PowerType.LOCK, ICON: 'changes-prevent-symbolic', NAME: _('Lock')},
{TYPE: PowerType.RESTART, ICON: 'system-reboot-symbolic', NAME: _('Restart...')},
{TYPE: PowerType.POWER_OFF, ICON: 'system-shutdown-symbolic', NAME: _('Power Off...')},
{TYPE: PowerType.SUSPEND, ICON: 'media-playback-pause-symbolic', NAME: _('Suspend')},
{TYPE: PowerType.HYBRID_SLEEP, ICON: 'weather-clear-night-symbolic', NAME: _('Hybrid Sleep')},
{TYPE: PowerType.HIBERNATE, ICON: 'document-save-symbolic', NAME: _('Hibernate')},
{TYPE: PowerType.SWITCH_USER, ICON: 'system-switch-user-symbolic', NAME: _('Switch User')},
];
// Icon type for the menu button
// set 'menu-button-icon' enum setting to value of desired icon type.
export const MenuIconType = {
MENU_ICON: 0,
DISTRO_ICON: 1,
CUSTOM: 2,
};
// Object order in MenuIcons array corresponds to the integer value of 'arc-menu-icon' setting
// i.e 'arc-menu-icon' value of 0 is arcmenu-logo-symbolic.
export const MenuIcons = [
{PATH: 'icon-arcmenu-logo-symbolic'},
{PATH: 'icon-arcmenu-logo-alt-symbolic'},
{PATH: 'icon-arcmenu-old-symbolic'},
{PATH: 'icon-arcmenu-old-alt-symbolic'},
{PATH: 'icon-arcmenu-oldest-symbolic'},
{PATH: 'icon-curved-a-symbolic'},
{PATH: 'icon-focus-symbolic'},
{PATH: 'icon-triple-dash-symbolic'},
{PATH: 'icon-whirl-symbolic'},
{PATH: 'icon-whirl-circle-symbolic'},
{PATH: 'icon-sums-symbolic'},
{PATH: 'icon-arrow-symbolic'},
{PATH: 'icon-lins-symbolic'},
{PATH: 'icon-diamond-square-symbolic'},
{PATH: 'icon-octo-maze-symbolic'},
{PATH: 'icon-search-glass-symbolic'},
{PATH: 'icon-transform-symbolic'},
{PATH: 'icon-toxic2-symbolic'},
{PATH: 'icon-alien-symbolic'},
{PATH: 'icon-cloud-symbolic'},
{PATH: 'icon-dragon-symbolic'},
{PATH: 'icon-fly-symbolic'},
{PATH: 'icon-pacman-symbolic'},
{PATH: 'icon-peaks-symbolic'},
{PATH: 'icon-pie-symbolic'},
{PATH: 'icon-pointer-symbolic'},
{PATH: 'icon-toxic-symbolic'},
{PATH: 'icon-tree-symbolic'},
{PATH: 'icon-zegon-symbolic'},
{PATH: 'icon-apps-symbolic'},
{PATH: 'icon-bug-symbolic'},
{PATH: 'icon-cita-symbolic'},
{PATH: 'icon-dragonheart-symbolic'},
{PATH: 'icon-eclipse-symbolic'},
{PATH: 'icon-football-symbolic'},
{PATH: 'icon-heddy-symbolic'},
{PATH: 'icon-helmet-symbolic'},
{PATH: 'icon-paint-palette-symbolic'},
{PATH: 'icon-peeks-symbolic'},
{PATH: 'icon-record-symbolic'},
{PATH: 'icon-saucer-symbolic'},
{PATH: 'icon-step-symbolic'},
{PATH: 'icon-vancer-symbolic'},
{PATH: 'icon-vibe-symbolic'},
{PATH: 'icon-start-box-symbolic'},
{PATH: 'icon-dimond-win-symbolic'},
{PATH: 'icon-dolphin-symbolic'},
{PATH: 'icon-dota-symbolic'},
{PATH: 'icon-football2-symbolic'},
{PATH: 'icon-loveheart-symbolic'},
{PATH: 'icon-pyrimid-symbolic'},
{PATH: 'icon-rewind-symbolic'},
{PATH: 'icon-snap-symbolic'},
{PATH: 'icon-time-symbolic'},
{PATH: 'icon-3d-symbolic'},
{PATH: 'icon-a-symbolic'},
{PATH: 'icon-app-launcher-symbolic'},
{PATH: 'icon-bat-symbolic'},
{PATH: 'icon-dra-symbolic'},
{PATH: 'icon-equal-symbolic'},
{PATH: 'icon-gnacs-symbolic'},
{PATH: 'icon-groove-symbolic'},
{PATH: 'icon-kaaet-symbolic'},
{PATH: 'icon-launcher-symbolic'},
{PATH: 'icon-pac-symbolic'},
{PATH: 'icon-robots-symbolic'},
{PATH: 'icon-sheild-symbolic'},
{PATH: 'icon-somnia-symbolic'},
{PATH: 'icon-utool-symbolic'},
{PATH: 'icon-swirl-symbolic'},
{PATH: 'icon-round-symbolic'},
{PATH: 'view-app-grid-symbolic'},
];
// Object order in DistroIcons array corresponds to the integer value of 'distro-icon' setting
// i.e 'distro-icon' value of 3 is manjaro-logo.
export const DistroIcons = [
{PATH: 'distro-gnome-symbolic', NAME: 'GNOME'},
{PATH: 'distro-debian-symbolic', NAME: 'Debian'},
{PATH: 'distro-fedora-symbolic', NAME: 'Fedora'},
{PATH: 'distro-manjaro-symbolic', NAME: 'Manjaro'},
{PATH: 'distro-pop-os-symbolic', NAME: 'Pop!_OS'},
{PATH: 'distro-ubuntu-symbolic', NAME: 'Ubuntu'},
{PATH: 'distro-arch-symbolic', NAME: 'Arch'},
{PATH: 'distro-opensuse-symbolic', NAME: 'OpenSUSE'},
{PATH: 'distro-raspbian-symbolic', NAME: 'Raspbian'},
{PATH: 'distro-kali-linux-symbolic', NAME: 'Kali Linux'},
{PATH: 'distro-pureos-symbolic', NAME: 'PureOS'},
{PATH: 'distro-solus-symbolic', NAME: 'Solus'},
{PATH: 'distro-budgie-symbolic', NAME: 'Budgie'},
{PATH: 'distro-gentoo-symbolic', NAME: 'Gentoo'},
{PATH: 'distro-mx-symbolic', NAME: 'MX Linux'},
{PATH: 'distro-redhat-symbolic', NAME: 'Redhat'},
{PATH: 'distro-voyager-symbolic', NAME: 'Voyager'},
{PATH: 'distro-zorin-symbolic', NAME: 'Zorin OS'},
{PATH: 'distro-endeavour-symbolic', NAME: 'Endeavour'},
{PATH: 'distro-nobara-symbolic', NAME: 'Nobara'},
{PATH: 'distro-pardus-symbolic', NAME: 'Pardus'},
{PATH: 'distro-cachyos-symbolic', NAME: 'CachyOS'},
{PATH: 'distro-nixos-symbolic', NAME: 'NixOS'},
{PATH: 'distro-oreon-symbolic', NAME: 'Oreon OS'},
];
export const MenuLayout = {
ARCMENU: 0,
BRISK: 1,
WHISKER: 2,
GNOME_MENU: 3,
MINT: 4,
ELEMENTARY: 5,
GNOME_OVERVIEW: 6,
REDMOND: 7,
UNITY: 8,
BUDGIE: 9,
INSIDER: 10,
RUNNER: 11,
CHROMEBOOK: 12,
RAVEN: 13,
TOGNEE: 14,
PLASMA: 15,
WINDOWS: 16,
ELEVEN: 17,
AZ: 18,
ENTERPRISE: 19,
POP: 20,
SLEEK: 21,
};
export const TraditionalMenus = [
{
LAYOUT: MenuLayout.ARCMENU,
TITLE: _('ArcMenu'),
IMAGE: 'menu-arcmenu-symbolic',
},
{
LAYOUT: MenuLayout.BRISK,
TITLE: _('Brisk'),
IMAGE: 'menu-brisk-symbolic',
},
{
LAYOUT: MenuLayout.WHISKER,
TITLE: _('Whisker'),
IMAGE: 'menu-whisker-symbolic',
},
{
LAYOUT: MenuLayout.GNOME_MENU,
TITLE: _('GNOME Menu'),
IMAGE: 'menu-gnomemenu-symbolic',
},
{
LAYOUT: MenuLayout.MINT,
TITLE: _('Mint'),
IMAGE: 'menu-mint-symbolic',
},
{
LAYOUT: MenuLayout.BUDGIE,
TITLE: _('Budgie'),
IMAGE: 'menu-budgie-symbolic',
},
];
export const ModernMenus = [
{
LAYOUT: MenuLayout.UNITY,
TITLE: _('Unity'),
IMAGE: 'menu-unity-symbolic',
},
{
LAYOUT: MenuLayout.PLASMA,
TITLE: _('Plasma'),
IMAGE: 'menu-plasma-symbolic',
},
{
LAYOUT: MenuLayout.TOGNEE,
TITLE: _('tognee'),
IMAGE: 'menu-tognee-symbolic',
},
{
LAYOUT: MenuLayout.INSIDER,
TITLE: _('Insider'),
IMAGE: 'menu-insider-symbolic',
},
{
LAYOUT: MenuLayout.REDMOND,
TITLE: _('Redmond'),
IMAGE: 'menu-redmond-symbolic',
},
{
LAYOUT: MenuLayout.WINDOWS,
TITLE: _('Windows'),
IMAGE: 'menu-windows-symbolic',
},
{
LAYOUT: MenuLayout.ELEVEN,
TITLE: _('11'),
IMAGE: 'menu-eleven-symbolic',
},
{
LAYOUT: MenuLayout.AZ,
TITLE: _('a.z.'),
IMAGE: 'menu-az-symbolic',
},
{
LAYOUT: MenuLayout.ENTERPRISE,
TITLE: _('Enterprise'),
IMAGE: 'menu-enterprise-symbolic',
},
{
LAYOUT: MenuLayout.POP,
TITLE: _('Pop'),
IMAGE: 'menu-pop-symbolic',
},
{
LAYOUT: MenuLayout.SLEEK,
TITLE: _('Sleek'),
IMAGE: 'menu-sleek-symbolic',
},
];
export const TouchMenus = [
{
LAYOUT: MenuLayout.ELEMENTARY,
TITLE: _('Elementary'),
IMAGE: 'menu-elementary-symbolic',
},
{
LAYOUT: MenuLayout.CHROMEBOOK,
TITLE: _('Chromebook'),
IMAGE: 'menu-chromebook-symbolic',
},
];
export const LauncherMenus = [
{
LAYOUT: MenuLayout.RUNNER,
TITLE: _('Runner'),
IMAGE: 'menu-runner-symbolic',
},
{
LAYOUT: MenuLayout.GNOME_OVERVIEW,
TITLE: _('GNOME Overview'),
IMAGE: 'menu-gnomeoverview-symbolic',
},
];
export const AlternativeMenus = [
{
LAYOUT: MenuLayout.RAVEN,
TITLE: _('Raven'),
IMAGE: 'menu-raven-symbolic',
},
];
export const MenuStyles = [
{
MENU_TYPE: TraditionalMenus,
TITLE: _('Traditional'),
IMAGE: 'menustyle-traditional-symbolic',
},
{
MENU_TYPE: ModernMenus,
TITLE: _('Modern'),
IMAGE: 'menustyle-modern-symbolic',
},
{
MENU_TYPE: TouchMenus,
TITLE: _('Touch'),
IMAGE: 'menustyle-touch-symbolic',
},
{
MENU_TYPE: LauncherMenus,
TITLE: _('Launcher'),
IMAGE: 'menustyle-launcher-symbolic',
},
{
MENU_TYPE: AlternativeMenus,
TITLE: _('Alternative'),
IMAGE: 'menustyle-alternative-symbolic',
},
];
export const ArcMenuLogoSymbolic = '/icons/arcmenu-logo-symbolic.svg';
export const TranslatableSettingsStrings = [_('Software'), _('Settings'), _('Tweaks'), _('Terminal'),
_('Activities Overview'), _('ArcMenu Settings'), _('Files')];
export const ShortcutCommands = {
SUSPEND: 'ArcMenu_Suspend',
LOG_OUT: 'ArcMenu_LogOut',
POWER_OFF: 'ArcMenu_PowerOff',
LOCK: 'ArcMenu_Lock',
RESTART: 'ArcMenu_Restart',
HYBRID_SLEEP: 'ArcMenu_HybridSleep',
HIBERNATE: 'ArcMenu_Hibernate',
SWITCH_USER: 'ArcMenu_SwitchUser',
COMPUTER: 'ArcMenu_Computer',
NETWORK: 'ArcMenu_Network',
RECENT: 'ArcMenu_Recent',
SOFTWARE: 'ArcMenu_Software',
HOME: 'ArcMenu_Home',
DOCUMENTS: 'ArcMenu_Documents',
DOWNLOADS: 'ArcMenu_Downloads',
MUSIC: 'ArcMenu_Music',
PICTURES: 'ArcMenu_Pictures',
VIDEOS: 'ArcMenu_Videos',
ARCMENU_SETTINGS: 'gnome-extensions prefs arcmenu@arcmenu.com',
FOLDER: 'ArcMenu_Folder',
OVERVIEW: 'ArcMenu_ActivitiesOverview',
SHOW_APPS: 'ArcMenu_ShowAllApplications',
RUN_COMMAND: 'ArcMenu_RunCommand',
SEPARATOR: 'ArcMenu_Separator',
SPACER: 'ArcMenu_Spacer',
SETTINGS: 'ArcMenu_Settings',
SHOW_DESKTOP: 'ArcMenu_ShowDesktop',
POWER_OPTIONS: 'ArcMenu_PowerOptions',
SETTINGS_MENU: 'ArcMenu_SettingsMenu',
SETTINGS_LAYOUT: 'ArcMenu_SettingsLayout',
SETTINGS_BUTTON: 'ArcMenu_SettingsButton',
SETTINGS_ABOUT: 'ArcMenu_SettingsAbout',
SETTINGS_THEME: 'ArcMenu_SettingsTheme',
PANEL_EXTENSION_SETTINGS: 'ArcMenu_PanelExtensionSettings',
ARCMENU_ICON: 'ArcMenu_ArcMenuIcon',
};
export const DistroIconsDisclaimer = '<i>All brand icons are trademarks of their respective owners.' +
' The use of these trademarks does not indicate endorsement of the trademark holder ' +
'by ArcMenu project, nor vice versa.' +
' Please do not use brand logos for any purpose except to represent the company, ' +
'product, or service to which they refer.</i>' +
'\n\n• <b>GNOME®</b> - The GNOME name and logo are trademarks of the GNOME Foundation.' +
'\n\n• <b>Ubuntu®</b> - Ubuntu name and Ubuntu logo are trademarks of Canonical© Ltd.' +
'\n\n• <b>Fedora®</b> - Fedora and the Infinity design logo are trademarks of Red Hat, Inc.' +
'\n\n• <b>Debian®</b> - is a registered trademark owned by Software in the Public Interest.' +
'\n\n• <b>Manjaro®</b> - logo and name are trademarks of Manjaro GmbH &amp; Co. KG' +
'\n\n• <b>Pop_OS!®</b> - logo and name are trademarks of system 76© Inc.' +
'\n\n• <b>Arch Linux™</b> - The stylized Arch Linux logo is a recognized trademark of Arch Linux, ' +
'copyright 20022017 Judd Vinet and Aaron Griffin.' +
'\n\n• <b>openSUSE®</b> - logo and name 20012020 SUSE LLC, © 20052020 openSUSE Contributors &amp; others.' +
'\n\n• <b>Raspberry Pi®</b> - logo and name are part of Raspberry Pi Foundation UK Registered Charity 1129409' +
'\n\n• <b>Kali Linux™</b> - logo and name are part of © OffSec Services Limited 2020' +
'\n\n• <b>PureOS</b> - logo and name are developed by members of the Purism community' +
'\n\n• <b>Solus</b> - logo and name are copyright © 20142018 by Solus Project' +
'\n\n• <b>Gentoo Authors©</b> - 20012020 Gentoo is a trademark of the Gentoo Foundation, Inc.' +
'\n\n• <b>Voyager© Linux</b> - name and logo' +
'\n\n• <b>MX Linux©</b> - 2020 - Linux - is the registered trademark of Linus Torvalds ' +
'in the U.S. and other countries.' +
'\n\n• <b>Red Hat, Inc.©</b> - Copyright 2020 name and logo' +
'\n\n• <b>Pardus</b> - name and logo are copyright © 2003-2023 by TUBITAK ULAKBIM' +
'\n\n• <b>ZORIN OS</b> - The "Z" logomark is a registered trademark of Zorin Technology Group Ltd. ' +
'Copyright © 2019 - 2021 Zorin Technology Group Ltd' +
'\n\n• <b>NixOS</b> - The logo is made available under a <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY license</a>. ' +
'Logo designed by Tim Cuthbertson (@timbertson)';

View File

@ -0,0 +1,535 @@
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import Shell from 'gi://Shell';
import {InputSourceManager} from 'resource:///org/gnome/shell/ui/status/keyboard.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {ArcMenuManager} from './arcmenuManager.js';
import * as Constants from './constants.js';
import * as Keybinder from './keybinder.js';
import {MenuButton} from './menuButton.js';
import * as Theming from './theming.js';
import {StandaloneRunner} from './standaloneRunner.js';
import * as Utils from './utils.js';
export const MenuSettingsController = class {
constructor(panelInfo, monitorIndex) {
this.panelInfo = panelInfo;
this.panel = panelInfo.panel;
this.monitorIndex = monitorIndex;
this.isPrimaryPanel = panelInfo.isPrimaryPanel;
this._extension = ArcMenuManager.extension;
this._settingsControllers = ArcMenuManager.settingsControllers;
this._settings = ArcMenuManager.settings;
// Allow other extensions and DBus command to open/close ArcMenu
if (!global.toggleArcMenu) {
global.toggleArcMenu = () => this.toggleMenus();
this._service = new Utils.DBusService();
this._service.ToggleArcMenu = () => {
this.toggleMenus();
};
}
this._settingsConnections = new Utils.SettingsConnectionsHandler(this._settings);
this._menuButton = new MenuButton(panelInfo, this.monitorIndex);
if (this.isPrimaryPanel) {
this._overrideOverlayKey = new Keybinder.OverrideOverlayKey();
this._customKeybinding = new Keybinder.CustomKeybinding(this._settings);
this._appSystem = Shell.AppSystem.get_default();
this._updateHotKeyBinder();
this._initRecentAppsTracker();
this._inputSourceManagerOverride();
}
this._setButtonAppearance();
this._setButtonText();
this._setButtonIcon();
this._setButtonIconSize();
this._setButtonIconPadding();
this._configureActivitiesButton();
}
_inputSourceManagerOverride() {
// Add ArcMenu as a valid option for "per window" input source switching.
this._inputSourcesSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.input-sources'});
this._perWindowChangedId = this._inputSourcesSettings.connect('changed::per-window', () => {
if (this._inputSourcesSettings.get_boolean('per-window'))
return;
const menus = this._getAllMenus();
menus.forEach(menu => {
delete menu._inputSources;
delete menu._currentSource;
});
});
this._inputSourceManagerProto = InputSourceManager.prototype;
this._origGetCurrentWindow = this._inputSourceManagerProto._getCurrentWindow;
this._inputSourceManagerProto._getCurrentWindow = () => {
const openedArcMenu = this._getOpenedArcMenu();
if (openedArcMenu)
return openedArcMenu;
else if (Main.overview.visible)
return Main.overview;
else
return global.display.focus_window;
};
}
_getOpenedArcMenu() {
const menus = this._getAllMenus();
for (let i = 0; i < menus.length; i++) {
if (menus[i].isOpen)
return menus[i];
}
return null;
}
_getAllMenus() {
const menus = [];
for (let i = 0; i < this._settingsControllers.length; i++) {
const menuButton = this._settingsControllers[i]._menuButton;
menus.push(menuButton.arcMenu);
}
if (this.runnerMenu)
menus.push(this.runnerMenu.arcMenu);
return menus;
}
connectSettingsEvents() {
this._settingsConnections.connect('override-menu-theme', 'menu-background-color', 'menu-foreground-color',
'menu-border-color', 'menu-border-width', 'menu-border-radius', 'menu-font-size', 'menu-separator-color',
'menu-item-hover-bg-color', 'menu-item-hover-fg-color', 'menu-item-active-bg-color',
'menu-item-active-fg-color', 'menu-button-fg-color', 'menu-button-bg-color',
'menu-button-hover-bg-color', 'menu-button-hover-fg-color', 'menu-button-active-bg-color',
'menu-button-active-fg-color', 'menu-button-border-radius', 'menu-button-border-width',
'menu-button-border-color', 'menu-arrow-rise', 'search-entry-border-radius',
this._overrideMenuTheme.bind(this));
this._settingsConnections.connect('arcmenu-hotkey', 'runner-hotkey', this._updateHotKeyBinder.bind(this));
this._settingsConnections.connect('position-in-panel', 'menu-button-position-offset',
this._setButtonPosition.bind(this));
this._settingsConnections.connect('menu-button-icon', 'distro-icon', 'arc-menu-icon', 'custom-menu-button-icon',
this._setButtonIcon.bind(this));
this._settingsConnections.connect('directory-shortcuts', 'application-shortcuts', 'extra-categories',
'power-options', 'show-external-devices', 'show-bookmarks', 'disable-user-avatar',
'avatar-style', 'enable-activities-shortcut', 'enable-horizontal-flip', 'power-display-style',
'searchbar-default-bottom-location', 'searchbar-default-top-location', 'multi-lined-labels',
'apps-show-extra-details', 'show-search-result-details', 'search-provider-open-windows',
'search-provider-recent-files', 'misc-item-icon-size', 'windows-disable-pinned-apps',
'disable-scrollview-fade-effect', 'windows-disable-frequent-apps', 'default-menu-view',
'default-menu-view-tognee', 'alphabetize-all-programs', 'menu-item-grid-icon-size',
'menu-item-icon-size', 'button-item-icon-size', 'quicklinks-item-icon-size',
'menu-item-category-icon-size', 'category-icon-type', 'shortcut-icon-type',
'arcmenu-extra-categories-links', 'arcmenu-extra-categories-links-location',
'runner-show-frequent-apps', 'default-menu-view-redmond', 'disable-recently-installed-apps',
'runner-search-display-style', 'raven-search-display-style', 'custom-grid-icon-size', 'show-category-sub-menus',
this._recreateMenuLayout.bind(this));
this._settingsConnections.connect('left-panel-width', 'right-panel-width', 'menu-width-adjustment',
this._updateMenuWidth.bind(this));
this._settingsConnections.connect('pinned-apps', 'enable-weather-widget-unity', 'enable-clock-widget-unity',
'enable-weather-widget-raven', 'enable-clock-widget-raven', this._updatePinnedApps.bind(this));
this._settingsConnections.connect('menu-position-alignment', this._setMenuPositionAlignment.bind(this));
this._settingsConnections.connect('menu-button-appearance', this._setButtonAppearance.bind(this));
this._settingsConnections.connect('custom-menu-button-text', this._setButtonText.bind(this));
this._settingsConnections.connect('custom-menu-button-icon-size', this._setButtonIconSize.bind(this));
this._settingsConnections.connect('button-padding', this._setButtonIconPadding.bind(this));
this._settingsConnections.connect('menu-height', this._updateMenuHeight.bind(this));
this._settingsConnections.connect('enable-unity-homescreen', this._setDefaultMenuView.bind(this));
this._settingsConnections.connect('menu-layout', this._changeMenuLayout.bind(this));
this._settingsConnections.connect('runner-position', this._updateLocation.bind(this));
this._settingsConnections.connect('show-activities-button', this._configureActivitiesButton.bind(this));
this._settingsConnections.connect('force-menu-location', this._forceMenuLocation.bind(this));
}
_overrideMenuTheme() {
if (!this.isPrimaryPanel)
return;
if (this._writeTimeoutId)
GLib.source_remove(this._writeTimeoutId);
this._writeTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 300, () => {
Theming.updateStylesheet();
this._writeTimeoutId = null;
return GLib.SOURCE_REMOVE;
});
}
_recreateMenuLayout() {
this._menuButton.createMenuLayout();
if (this.runnerMenu)
this.runnerMenu.createMenuLayout();
}
_forceMenuLocation() {
this._menuButton.forceMenuLocation();
}
_initRecentAppsTracker() {
this._appList = this._listAllApps();
this._reloadApplicationsWorkId = Main.initializeDeferredWork(this._menuButton, () => this._reloadApplications());
this._installedChangedId = this._appSystem.connect('installed-changed', () => {
Main.queueDeferredWork(this._reloadApplicationsWorkId);
});
}
_reloadApplications() {
const isDisabled = this._settings.get_boolean('disable-recently-installed-apps');
const appList = this._listAllApps();
// Filter to find if a new application has been installed
const newAppsList = appList.filter(app => !this._appList.includes(app));
this._appList = appList;
if (newAppsList.length && !isDisabled) {
// A new app has been installed, Save it in settings
const recentApps = this._settings.get_strv('recently-installed-apps');
const newRecentApps = [...new Set(recentApps.concat(newAppsList))];
this._settings.set_strv('recently-installed-apps', newRecentApps);
}
for (let i = 0; i < this._settingsControllers.length; i++) {
const menuButton = this._settingsControllers[i]._menuButton;
menuButton.reloadApplications();
}
if (this.runnerMenu)
this.runnerMenu.reloadApplications();
}
_listAllApps() {
const appList = this._appSystem.get_installed().filter(appInfo => {
try {
appInfo.get_id(); // catch invalid file encodings
} catch (e) {
return false;
}
return appInfo.should_show();
});
return appList.map(app => app.get_id());
}
_updateLocation() {
this._menuButton.updateLocation();
if (this.runnerMenu)
this.runnerMenu.updateLocation();
}
_changeMenuLayout() {
this._menuButton.createMenuLayout();
}
_setDefaultMenuView() {
this._menuButton.setDefaultMenuView();
}
toggleStandaloneRunner() {
this._closeAllArcMenus();
if (this.runnerMenu)
this.runnerMenu.toggleMenu();
}
toggleMenus() {
if (this.runnerMenu && this.runnerMenu.arcMenu.isOpen)
this.runnerMenu.toggleMenu();
if (global.dashToPanel || global.azTaskbar) {
const MultipleArcMenus = this._settingsControllers.length > 1;
const ShowArcMenuOnPrimaryMonitor = this._settings.get_boolean('hotkey-open-primary-monitor');
if (MultipleArcMenus && ShowArcMenuOnPrimaryMonitor)
this._toggleMenuOnMonitor(Main.layoutManager.primaryMonitor);
else if (MultipleArcMenus && !ShowArcMenuOnPrimaryMonitor)
this._toggleMenuOnMonitor(Main.layoutManager.currentMonitor);
else
this._menuButton.toggleMenu();
} else {
this._menuButton.toggleMenu();
}
}
_toggleMenuOnMonitor(monitor) {
let currentMonitorIndex = 0;
for (let i = 0; i < this._settingsControllers.length; i++) {
const menuButton = this._settingsControllers[i]._menuButton;
const {monitorIndex} = this._settingsControllers[i];
if (monitor.index === monitorIndex) {
currentMonitorIndex = i;
} else {
if (menuButton.arcMenu.isOpen)
menuButton.toggleMenu();
menuButton.closeContextMenu();
}
}
// open the current monitors menu
this._settingsControllers[currentMonitorIndex]._menuButton.toggleMenu();
}
_closeAllArcMenus() {
for (let i = 0; i < this._settingsControllers.length; i++) {
const menuButton = this._settingsControllers[i]._menuButton;
if (menuButton.arcMenu.isOpen)
menuButton.toggleMenu();
menuButton.closeContextMenu();
}
}
_updateMenuHeight() {
this._menuButton.updateHeight();
}
_updateMenuWidth() {
this._menuButton.updateWidth();
}
_updatePinnedApps() {
this._menuButton.loadPinnedApps();
}
_updateHotKeyBinder() {
if (!this.isPrimaryPanel)
return;
const [runnerHotkey] = this._settings.get_strv('runner-hotkey');
const [menuHotkey] = this._settings.get_strv('arcmenu-hotkey');
this._customKeybinding.unbind('ToggleArcMenu');
this._customKeybinding.unbind('ToggleRunnerMenu');
this._overrideOverlayKey.disable();
if (runnerHotkey) {
if (!this.runnerMenu)
this.runnerMenu = new StandaloneRunner();
if (runnerHotkey === Constants.SUPER_L) {
this._overrideOverlayKey.enable(() => this.toggleStandaloneRunner());
} else {
this._customKeybinding.bind('ToggleRunnerMenu', 'runner-hotkey',
() => this.toggleStandaloneRunner());
}
} else if (this.runnerMenu) {
this.runnerMenu.destroy();
this.runnerMenu = null;
}
if (menuHotkey === Constants.SUPER_L) {
this._overrideOverlayKey.disable();
this._overrideOverlayKey.enable(() => this.toggleMenus());
} else if (menuHotkey) {
this._customKeybinding.bind('ToggleArcMenu', 'arcmenu-hotkey',
() => this.toggleMenus());
}
}
_setButtonPosition() {
if (this._isButtonEnabled()) {
this._removeMenuButtonFromMainPanel();
this._addMenuButtonToMainPanel();
this._setMenuPositionAlignment();
}
}
_setMenuPositionAlignment() {
this._menuButton.setMenuPositionAlignment();
}
_setButtonAppearance() {
const menuButtonAppearance = this._settings.get_enum('menu-button-appearance');
const {menuButtonWidget} = this._menuButton;
this._menuButton.container.set_width(-1);
this._menuButton.container.set_height(-1);
menuButtonWidget.show();
switch (menuButtonAppearance) {
case Constants.MenuButtonAppearance.TEXT:
menuButtonWidget.showText();
menuButtonWidget.setLabelStyle(null);
break;
case Constants.MenuButtonAppearance.ICON_TEXT:
menuButtonWidget.showIconText();
menuButtonWidget.setLabelStyle('padding-left: 5px;');
break;
case Constants.MenuButtonAppearance.TEXT_ICON:
menuButtonWidget.showTextIcon();
menuButtonWidget.setLabelStyle('padding-right: 5px;');
break;
case Constants.MenuButtonAppearance.NONE:
menuButtonWidget.hide();
this._menuButton.container.set_width(0);
this._menuButton.container.set_height(0);
break;
case Constants.MenuButtonAppearance.ICON:
default:
menuButtonWidget.showIcon();
}
}
_setButtonText() {
const {menuButtonWidget} = this._menuButton;
const label = menuButtonWidget.getPanelLabel();
const customTextLabel = this._settings.get_string('custom-menu-button-text');
label.set_text(customTextLabel);
}
_setButtonIcon() {
const path = this._settings.get_string('custom-menu-button-icon');
const {menuButtonWidget} = this._menuButton;
const stIcon = menuButtonWidget.getPanelIcon();
const iconString = Utils.getMenuButtonIcon(path);
stIcon.set_gicon(Gio.icon_new_for_string(iconString));
}
_setButtonIconSize() {
const {menuButtonWidget} = this._menuButton;
const stIcon = menuButtonWidget.getPanelIcon();
const iconSize = this._settings.get_double('custom-menu-button-icon-size');
const size = iconSize;
stIcon.icon_size = size;
}
_setButtonIconPadding() {
const padding = this._settings.get_int('button-padding');
if (padding > -1)
this._menuButton.style = `-natural-hpadding: ${padding * 2}px; -minimum-hpadding: ${padding}px;`;
else
this._menuButton.style = null;
const parent = this._menuButton.get_parent();
if (!parent)
return;
const children = parent.get_children();
let actorIndex = 0;
if (children.length > 1)
actorIndex = children.indexOf(this._menuButton);
parent.remove_child(this._menuButton);
parent.insert_child_at_index(this._menuButton, actorIndex);
}
_getMenuPosition() {
const offset = this._settings.get_int('menu-button-position-offset');
switch (this._settings.get_enum('position-in-panel')) {
case Constants.MenuPosition.CENTER:
return [offset, 'center'];
case Constants.MenuPosition.RIGHT: {
// get number of childrens in rightBox (without arcmenu)
let nChildren = this.panel._rightBox.get_n_children();
nChildren -= this.panel.statusArea.ArcMenu !== undefined;
// position where icon should go,
// offset = 0, icon should be last
// offset = 1, icon should be second last
const order = Math.clamp(nChildren - offset, 0, nChildren);
return [order, 'right'];
}
case Constants.MenuPosition.LEFT:
default:
return [offset, 'left'];
}
}
_configureActivitiesButton() {
const showActivities = this._settings.get_boolean('show-activities-button');
if (this.panel.statusArea.activities)
this.panel.statusArea.activities.visible = showActivities;
}
_addMenuButtonToMainPanel() {
const [position, box] = this._getMenuPosition();
this.panel.addToStatusArea('ArcMenu', this._menuButton, position, box);
}
_removeMenuButtonFromMainPanel() {
this.panel.menuManager.removeMenu(this._menuButton.arcMenu);
this.panel.menuManager.removeMenu(this._menuButton.arcMenuContextMenu);
this.panel.statusArea['ArcMenu'] = null;
}
enableButton() {
this._addMenuButtonToMainPanel();
this._menuButton.initiate();
}
_disableButton() {
this._removeMenuButtonFromMainPanel();
if (this.panel.statusArea.activities)
this.panel.statusArea.activities.visible = true;
this._menuButton.destroy();
}
_isButtonEnabled() {
return this.panel && this.panel.statusArea['ArcMenu'] !== null;
}
destroy() {
if (this._service) {
this._service.destroy();
this._service = null;
}
if (global.toggleArcMenu)
delete global.toggleArcMenu;
if (this._inputSourceManagerProto) {
this._inputSourceManagerProto._getCurrentWindow = this._origGetCurrentWindow;
delete this._inputSourceManagerProto;
}
if (this._perWindowChangedId) {
this._inputSourcesSettings.disconnect(this._perWindowChangedId);
this._perWindowChangedId = null;
}
if (this._writeTimeoutId) {
GLib.source_remove(this._writeTimeoutId);
this._writeTimeoutId = null;
}
if (this._installedChangedId) {
this._appSystem.disconnect(this._installedChangedId);
this._installedChangedId = null;
}
if (this.runnerMenu) {
this.runnerMenu.destroy();
this.runnerMenu = null;
}
this._settingsConnections.destroy();
this._settingsConnections = null;
if (this._isButtonEnabled())
this._disableButton();
else
this._menuButton.destroy();
if (this.isPrimaryPanel) {
this._overrideOverlayKey.destroy();
this._customKeybinding.destroy();
}
this._menuButton = null;
}
};

View File

@ -0,0 +1,237 @@
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {ArcMenuManager} from './arcmenuManager.js';
import * as Constants from './constants.js';
import {MenuSettingsController} from './controller.js';
import {SearchProviderEmitter} from './searchProviders/searchProviderEmitter.js';
import * as Theming from './theming.js';
import * as Utils from './utils.js';
export default class ArcMenu extends Extension {
constructor(metaData) {
super(metaData);
this._realHasOverview = Main.sessionMode.hasOverview;
}
enable() {
this._arcmenuManager = new ArcMenuManager(this);
this.settings = this.getSettings();
this._convertOldSettings(this.settings);
this.searchProviderEmitter = new SearchProviderEmitter();
const hideOverviewOnStartup = this.settings.get_boolean('hide-overview-on-startup');
if (hideOverviewOnStartup && Main.layoutManager._startingUp) {
Main.sessionMode.hasOverview = false;
Main.layoutManager.connectObject('startup-complete', () => {
Main.sessionMode.hasOverview = this._realHasOverview;
}, this);
// handle Ubuntu's method
if (Main.layoutManager.startInOverview)
Main.layoutManager.startInOverview = false;
}
this.settings.connectObject('changed::multi-monitor', () => this._reload(), this);
this.settings.connectObject('changed::dash-to-panel-standalone', () => this._reload(), this);
this.settingsControllers = [];
Theming.createStylesheet();
this._enableButtons();
// dash to panel might get enabled after ArcMenu
Main.extensionManager.connectObject('extension-state-changed', (data, extension) => {
const isDtp = extension.uuid === Constants.DASH_TO_PANEL_UUID;
const isAzTaskbar = extension.uuid === Constants.AZTASKBAR_UUID;
const isEnabled = extension.state === Utils.ExtensionState.ACTIVE;
const isDisabled = extension.state === Utils.ExtensionState.INACTIVE;
if ((isDtp || isAzTaskbar) && (isEnabled || isDisabled)) {
this._disconnectExtensionSignals();
this._connectExtensionSignals();
this._reload();
}
}, this);
// listen to dash to panel if they are compatible and already enabled
this._connectExtensionSignals();
}
disable() {
this.searchProviderEmitter.destroy();
delete this.searchProviderEmitter;
Main.sessionMode.hasOverview = this._realHasOverview;
Theming.deleteStylesheet();
this._disconnectExtensionSignals();
this._disableButtons();
this.settingsControllers = null;
this._arcmenuManager.destroy();
this._arcmenuManager = null;
Main.layoutManager.disconnectObject(this);
Main.extensionManager.disconnectObject(this);
this.settings.disconnectObject(this);
this.settings = null;
}
// Following settings changed in v52.
// Keep this for a few releases to convert old settings to new format
_convertOldSettings(settings) {
Utils.convertOldSetting(settings, 'pinned-app-list', 'pinned-apps');
Utils.convertOldSetting(settings, 'directory-shortcuts-list', 'directory-shortcuts');
Utils.convertOldSetting(settings, 'application-shortcuts-list', 'application-shortcuts');
Utils.convertOldSetting(settings, 'az-extra-buttons', 'az-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'eleven-extra-buttons', 'eleven-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'insider-extra-buttons', 'insider-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'windows-extra-buttons', 'windows-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'unity-extra-buttons', 'unity-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'brisk-extra-shortcuts', 'brisk-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'mint-extra-buttons', 'mint-layout-extra-shortcuts');
Utils.convertOldSetting(settings, 'context-menu-shortcuts', 'context-menu-items');
}
_isExtensionActive(uuid) {
const extension = Main.extensionManager.lookup(uuid);
if (extension?.state === Utils.ExtensionState.ACTIVE)
return true;
return false;
}
/**
*
* @param {*} panel Dash to Panel's 'panel'
* @param {boolean} panelExtensionEnabled is Dash to Panel enabled
* @returns {boolean}
* @description Returns true if `panel` isPrimary and isStandalone\
* and ArcMenu setting 'dash-to-panel-standalone' is enabled.
*/
_isPrimaryStandalonePanel(panel, panelExtensionEnabled) {
const standalone = this.settings.get_boolean('dash-to-panel-standalone');
if (!standalone)
return false;
const dtpEnabled = global.dashToPanel && panelExtensionEnabled;
if (!dtpEnabled)
return false;
const isPrimaryStandalone = panel.isPrimary && panel.isStandalone;
if (isPrimaryStandalone)
return true;
return false;
}
_connectExtensionSignals() {
const dtpActive = this._isExtensionActive(Constants.DASH_TO_PANEL_UUID);
if (dtpActive && global.dashToPanel)
global.dashToPanel._panelsCreatedId = global.dashToPanel.connect('panels-created', () => this._reload());
const azTaskbarActive = this._isExtensionActive(Constants.AZTASKBAR_UUID);
if (azTaskbarActive && global.azTaskbar)
global.azTaskbar._panelsCreatedId = global.azTaskbar.connect('panels-created', () => this._reload());
}
_disconnectExtensionSignals() {
if (global.dashToPanel?._panelsCreatedId) {
global.dashToPanel.disconnect(global.dashToPanel._panelsCreatedId);
delete global.dashToPanel._panelsCreatedId;
}
if (global.azTaskbar?._panelsCreatedId) {
global.azTaskbar.disconnect(global.azTaskbar._panelsCreatedId);
delete global.azTaskbar._panelsCreatedId;
}
}
_reload() {
this._disableButtons();
this._enableButtons();
}
_enableButtons() {
const multiMonitor = this.settings.get_boolean('multi-monitor');
let panelExtensionEnabled = false;
let panels;
const azTaskbarActive = this._isExtensionActive(Constants.AZTASKBAR_UUID);
const dtpActive = this._isExtensionActive(Constants.DASH_TO_PANEL_UUID);
if (dtpActive && global.dashToPanel?.panels) {
panels = global.dashToPanel.panels.filter(p => p);
panelExtensionEnabled = true;
} else if (azTaskbarActive && global.azTaskbar?.panels) {
panels = global.azTaskbar.panels.filter(p => p);
panelExtensionEnabled = true;
} else {
panels = [Main.panel];
}
const panelsCount = multiMonitor ? panels.length : Math.min(panels.length, 1);
for (var i = 0; i < panelsCount; i++) {
if (!panels[i]) {
console.log(`ArcMenu Error: panel ${i} not found. Skipping...`);
continue;
}
let panel, panelBox, panelParent;
if (panelExtensionEnabled) {
panel = panels[i].panel;
panelBox = dtpActive ? panels[i].panelBox : panels[i];
panelParent = panels[i];
} else {
panel = panels[i];
panelBox = Main.layoutManager.panelBox;
panelParent = Main.panel;
}
const isPrimaryStandalone = this._isPrimaryStandalonePanel(panelParent, panelExtensionEnabled);
if (isPrimaryStandalone)
panel = Main.panel;
const primaryPanelIndex = Main.layoutManager.primaryMonitor?.index;
let monitorIndex = 0;
if (panelParent.monitor) // App Icons Taskbar 'panelParent' may be Main.panel, which doesnt have a 'monitor' property.
monitorIndex = panelParent.monitor.index;
else if (panel === Main.panel)
monitorIndex = primaryPanelIndex ?? 0;
const isPrimaryPanel = monitorIndex === primaryPanelIndex;
const panelInfo = {panel, panelBox, panelParent, isPrimaryPanel};
const settingsController = new MenuSettingsController(panelInfo, monitorIndex);
if (panelExtensionEnabled)
panel._amDestroyId = panel.connect('destroy', () => this._disableButton(settingsController));
settingsController.enableButton();
settingsController.connectSettingsEvents();
this.settingsControllers.push(settingsController);
}
}
_disableButtons() {
for (let i = this.settingsControllers.length - 1; i >= 0; --i) {
const sc = this.settingsControllers[i];
this._disableButton(sc);
}
}
_disableButton(controller) {
if (controller.panel?._amDestroyId) {
controller.panel.disconnect(controller.panel._amDestroyId);
delete controller.panel._amDestroyId;
}
this.settingsControllers.splice(this.settingsControllers.indexOf(controller), 1);
controller.destroy();
}
}

View File

@ -0,0 +1,587 @@
import Clutter from 'gi://Clutter';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import St from 'gi://St';
import {ArcMenuManager} from './arcmenuManager.js';
import * as MW from './menuWidgets.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Params from 'resource:///org/gnome/shell/misc/params.js';
export const DragLocation = {
INVALID: 0,
START_EDGE: 1,
ON_ICON: 2,
END_EDGE: 3,
EMPTY_SPACE: 4,
TOP_EDGE: 5,
BOTTOM_EDGE: 6,
};
// eslint-disable-next-line jsdoc/require-jsdoc
function swap(value, length) {
return length - value - 1;
}
// eslint-disable-next-line jsdoc/require-jsdoc
function animateIconPosition(icon, box, nChangedIcons) {
if (!icon.has_allocation() || icon.allocation.equal(box) || icon.opacity === 0) {
icon.allocate(box);
return false;
}
icon.save_easing_state();
icon.set_easing_mode(Clutter.AnimationMode.EASE_OUT_QUAD);
icon.set_easing_delay(nChangedIcons * 10);
icon.allocate(box);
icon.restore_easing_state();
return true;
}
export const IconGridLayout = GObject.registerClass({
Properties: {
'column-spacing': GObject.ParamSpec.int('column-spacing',
'Column spacing', 'Column spacing',
GObject.ParamFlags.READWRITE,
0, GLib.MAXINT32, 0),
'row-spacing': GObject.ParamSpec.int('row-spacing',
'Row spacing', 'Row spacing',
GObject.ParamFlags.READWRITE,
0, GLib.MAXINT32, 0),
'columns': GObject.ParamSpec.int('columns',
'Columns', 'Columns',
GObject.ParamFlags.READWRITE,
1, GLib.MAXINT32, 1),
'force-columns': GObject.ParamSpec.int('force-columns',
'Force Columns', 'Force Columns',
GObject.ParamFlags.READWRITE,
0, GLib.MAXINT32, 0),
'halign': GObject.ParamSpec.enum('halign',
'Horizontal page align',
'Horizontal page align',
GObject.ParamFlags.READWRITE,
Clutter.ActorAlign.$gtype,
Clutter.ActorAlign.FILL),
'first-row-align': GObject.ParamSpec.enum('first-row-align',
'First row align', 'First row align',
GObject.ParamFlags.READWRITE,
Clutter.ActorAlign.$gtype,
Clutter.ActorAlign.CENTER),
},
}, class IconGridLayout extends Clutter.LayoutManager {
_init(params = {}) {
super._init(params);
this._sizeChanged = false;
this._width = 0;
this._height = 0;
this._items = new Map();
this._children = [];
this._childrenMaxSize = null;
}
_getChildrenMaxSize() {
if (!this._childrenMaxSize) {
let minWidth = 0;
let minHeight = 0;
this._children.forEach(item => {
const childMinHeight = item.get_preferred_height(-1)[1];
const childMinWidth = item.get_preferred_width(-1)[1];
minWidth = Math.max(minWidth, childMinWidth);
minHeight = Math.max(minHeight, childMinHeight);
});
this._childrenMaxSize = [minWidth, minHeight];
}
return this._childrenMaxSize;
}
_calculateSpacing(width, childWidth) {
if (this.halign !== Clutter.ActorAlign.CENTER)
return 0;
let columns = 0;
if (this.firstRowAlign === Clutter.ActorAlign.CENTER) {
const visibleChildren = this._children.filter(child => child.visible);
// if the amount of visiblechildren is less than the amount of columns
// set columns to visiblechildren.length in order to center the items
columns = visibleChildren.length < this.columns ? visibleChildren.length : this.columns;
} else {
columns = this.columns;
}
const nColumns = columns;
const usedWidth = childWidth * nColumns;
const columnSpacing = this.columnSpacing * (nColumns - 1);
const emptyHSpace = width - usedWidth - columnSpacing;
const leftEmptySpace = Math.floor(emptyHSpace / 2);
return leftEmptySpace;
}
_unlinkItem(item) {
const itemData = this._items.get(item);
item.disconnect(itemData.destroyId);
item.disconnect(itemData.visibleId);
item.disconnect(itemData.queueRelayoutId);
this._items.delete(item);
}
_removeItemData(item) {
this._unlinkItem(item);
const itemIndex = this._children.indexOf(item);
this._children.splice(itemIndex, 1);
}
_addItem(item, index) {
if (index === -1)
index = this._children.length;
this._items.set(item, {
actor: item,
destroyId: item.connect('destroy', () => this._removeItemData(item)),
visibleId: item.connect('notify::visible', () => {
this._shouldEaseItems = true;
}),
queueRelayoutId: item.connect('queue-relayout', () => {
this._childrenMaxSize = null;
}),
});
this._children.splice(index, 0, item);
}
vfunc_set_container(container) {
this._container = container;
}
vfunc_get_preferred_width() {
return [5, this._width];
}
vfunc_get_preferred_height() {
const children = this._children;
const totalColumns = this.columns;
let minRowHeight = 0;
let natRowHeight = 0;
let natHeight = 0;
let firstRow = true;
for (let i = 0; i < children.length; i += 1) {
const child = children[i];
if (!child.visible)
continue;
const [childMinHeight, childNatHeight] = child.get_preferred_height(-1);
minRowHeight = Math.max(minRowHeight, childMinHeight);
natRowHeight = Math.max(natRowHeight, childNatHeight);
const newRow = i % totalColumns === 0;
if (firstRow && newRow) {
firstRow = false;
natHeight = natRowHeight; // + this.rowSpacing + PADDING;
natRowHeight = 0;
} else if (newRow) {
natHeight += natRowHeight + this.rowSpacing;
natRowHeight = 0;
}
}
this._height = natHeight;
return [natHeight, minRowHeight];
}
vfunc_allocate() {
const children = this._children;
const shouldEaseItems = this._shouldEaseItems;
const sizeChanged = this._sizeChanged;
const isRtl = Clutter.get_default_text_direction() === Clutter.TextDirection.RTL;
const [childWidth, childHeight_] = this._getChildrenMaxSize();
const xOffset = this._calculateSpacing(this._width, childWidth);
const childBox = new Clutter.ActorBox();
let nChangedIcons = 0;
let rowHeight = 0;
let y = 0;
for (let i = 0; i < children.length; i += 1) {
const child = children[i];
let column = i % this.columns;
if (isRtl)
column = swap(column, this.columns);
const newRow = column === 0;
let [,, naturalWidth, naturalHeight] = child.get_preferred_size();
const xFill = child.x_align === Clutter.ActorAlign.FILL;
if (xFill)
naturalWidth = this._width / this.columns;
const x = xOffset + column * (naturalWidth + this.columnSpacing);
// The first item in a row will determine the row height
if (newRow) {
y += rowHeight;
rowHeight = naturalHeight + this.rowSpacing;
}
childBox.set_origin(Math.floor(x), Math.floor(y));
childBox.set_size(naturalWidth, naturalHeight);
if (!shouldEaseItems || sizeChanged)
child.allocate(childBox);
else if (animateIconPosition(child, childBox, nChangedIcons))
nChangedIcons++;
}
this._sizeChanged = false;
this._shouldEaseItems = false;
}
addItem(item, index = -1) {
if (this._items.has(item))
throw new Error(`Item ${item} already added to IconGridLayout`);
if (!this._container)
return;
this._shouldEaseItems = true;
this._container.add_child(item);
this._addItem(item, index);
}
appendChild(item) {
this.addItem(item);
}
moveItem(item, newPosition) {
if (!this._items.has(item))
throw new Error(`Item ${item} is not part of the IconGridLayout`);
this._shouldEaseItems = true;
this._removeItemData(item);
this._addItem(item, newPosition);
}
removeItem(item) {
if (!this._items.has(item))
throw new Error(`Item ${item} is not part of the IconGridLayout`);
if (!this._container)
return;
this._shouldEaseItems = true;
this._container.remove_child(item);
this._removeItemData(item);
}
removeAllItems() {
for (let i = this._children.length - 1; i >= 0; --i) {
const item = this._children[i];
this.removeItem(item);
}
}
getItemPosition(item) {
if (!this._items.has(item))
return -1;
return this._children.indexOf(item);
}
getItemAt(position) {
if (position < 0 || position >= this._children.length)
return null;
return this._children[position];
}
getDropTarget(x, y) {
const emptySpace = 5;
const isRtl = Clutter.get_default_text_direction() === Clutter.TextDirection.RTL;
const gridWidth = this._width;
const gridHeight = this._height;
const inTopEmptySpace = y < -emptySpace;
const inLeftEmptySpace = x < -emptySpace;
const inRightEmptySpace = x > emptySpace + gridWidth;
const inBottomEmptySpace = y > emptySpace + gridHeight;
if (inTopEmptySpace || inBottomEmptySpace || inRightEmptySpace || inLeftEmptySpace)
return [0, DragLocation.INVALID];
const halfHSpacing = this.rowSpacing / 2;
const halfVSpacing = this.columnSpacing / 2;
const nRows = Math.ceil(this.nChildren / this.columns);
const singleColumnGrid = this.columns === 1;
for (let i = 0; i < this._children.length; i++) {
const item = this._children[i];
// skip hidden item. the item current being dragged.
if (item.opacity === 0 || !item.visible)
continue;
const childBox = item.allocation;
const firstInRow = i % this.columns === 0;
const lastInRow = i % this.columns === this.columns - 1;
const firstInColumn = Math.floor(i / this.columns) === 0;
const lastInColumn = Math.floor(i / this.columns) === nRows - 1;
// Check icon boundaries
if (!singleColumnGrid && ((inLeftEmptySpace && firstInRow) ||
(inRightEmptySpace && lastInRow))) {
if (y < childBox.y1 - halfVSpacing ||
y > childBox.y2 + halfVSpacing)
continue;
} else if (singleColumnGrid && ((inTopEmptySpace && firstInColumn) ||
(inBottomEmptySpace && lastInColumn))) {
if (x < childBox.x1 - halfHSpacing ||
x > childBox.x2 + halfHSpacing)
continue;
} else {
// eslint-disable-next-line no-lonely-if
if (x < childBox.x1 - halfHSpacing ||
x > childBox.x2 + halfHSpacing ||
y < childBox.y1 - halfVSpacing ||
y > childBox.y2 + halfVSpacing)
continue;
}
const leftDividerLeeway = Math.round(item.get_preferred_width(-1)[1] / 5);
const rightDividerLeeway = Math.round(item.get_preferred_width(-1)[1] / 5);
const topDividerLeeway = Math.round(item.get_preferred_height(-1)[1] / 5);
const bottomDividerLeeway = Math.round(item.get_preferred_height(-1)[1] / 5);
let dragLocation;
if (!singleColumnGrid && x < childBox.x1 + leftDividerLeeway)
dragLocation = DragLocation.START_EDGE;
else if (!singleColumnGrid && x > childBox.x2 - rightDividerLeeway)
dragLocation = DragLocation.END_EDGE;
else if (singleColumnGrid && y < childBox.y1 + topDividerLeeway)
dragLocation = DragLocation.TOP_EDGE;
else if (singleColumnGrid && y > childBox.y2 - bottomDividerLeeway)
dragLocation = DragLocation.BOTTOM_EDGE;
else
dragLocation = DragLocation.ON_ICON;
if (isRtl) {
if (dragLocation === DragLocation.START_EDGE)
dragLocation = DragLocation.END_EDGE;
else if (dragLocation === DragLocation.END_EDGE)
dragLocation = DragLocation.START_EDGE;
}
return [i, dragLocation];
}
return [-1, DragLocation.EMPTY_SPACE];
}
adaptToSize(width) {
if (this._width === width)
return;
this._width = width;
this._sizeChanged = true;
}
getChildren() {
return this._children;
}
get nChildren() {
return this._children.length;
}
});
export const IconGrid = GObject.registerClass(
class IconGrid extends St.Widget {
_init(layoutParams = {}) {
const acceptDrop = layoutParams.accept_drop;
delete layoutParams.accept_drop;
layoutParams = Params.parse(layoutParams, {
columns: 1,
column_spacing: 0,
row_spacing: 0,
force_columns: 0,
halign: Clutter.ActorAlign.FILL,
first_row_align: Clutter.ActorAlign.CENTER,
});
const layoutManager = new IconGridLayout(layoutParams);
super._init({
layoutManager,
x_expand: true,
x_align: Clutter.ActorAlign.FILL,
});
this._settings = ArcMenuManager.settings;
// only need acceptDrop for the main pinned-apps grid
if (acceptDrop) {
// DND requires this to be set
this._delegate = this;
}
}
_canAccept(source) {
if (!(source instanceof MW.DraggableMenuItem))
return false;
if (this.contains(source))
return false;
if (!source.folderId)
return false;
const pinnedAppsList = this._settings.get_value('pinned-apps').deepUnpack();
for (let i = 0; i < pinnedAppsList.length; i++) {
if (pinnedAppsList[i].id === source.pinnedAppData.id)
return false;
}
return true;
}
handleDragOver(source, _actor, _x, _y) {
if (!this._canAccept(source))
return DND.DragMotionResult.CONTINUE;
return DND.DragMotionResult.MOVE_DROP;
}
acceptDrop(source, _actor, _x, _y) {
if (!this._canAccept(source))
return false;
const sourceData = source.pinnedAppData;
source.cancelActions();
// remove app from folder pinned app list
const parent = source.get_parent();
const layoutManager = parent.layout_manager;
const index = layoutManager.getItemPosition(source);
const folderSettings = source.folderSettings;
const sourceParentChildren = layoutManager.getChildren();
const folderPinnedApps = [];
for (let i = 0; i < sourceParentChildren.length; i++)
folderPinnedApps.push(sourceParentChildren[i].pinnedAppData);
folderPinnedApps.splice(index, 1);
folderSettings.set_value('pinned-apps', new GLib.Variant('aa{ss}', folderPinnedApps));
// add app to main pinned apps
const pinnedAppsList = this._settings.get_value('pinned-apps').deepUnpack();
pinnedAppsList.push(sourceData);
this._settings.set_value('pinned-apps', new GLib.Variant('aa{ss}', pinnedAppsList));
return true;
}
/**
* @param {Clutter.ActorAlign} alignment
*/
set halign(alignment) {
this.layout_manager.halign = alignment;
this.queue_relayout();
}
/**
* @param {Clutter.ActorAlign} columnSpacing
*/
set column_spacing(columnSpacing) {
this.layout_manager.column_spacing = columnSpacing;
this.queue_relayout();
}
/**
* @param {number} rowSpacing
*/
set row_spacing(rowSpacing) {
this.layout_manager.row_spacing = rowSpacing;
this.queue_relayout();
}
vfunc_allocate(box) {
const [width, height_] = box.get_size();
this.layout_manager.adaptToSize(width);
super.vfunc_allocate(box);
}
addItem(item, index = -1) {
this.layout_manager.addItem(item, index);
this.queue_relayout();
}
appendItem(item) {
this.layout_manager.addItem(item, -1);
this.queue_relayout();
}
moveItem(item, newPosition) {
this.layout_manager.moveItem(item, newPosition);
this.queue_relayout();
}
removeItem(item) {
if (!this.contains(item))
return;
this.layout_manager.removeItem(item);
}
removeAllItems() {
this.layout_manager.removeAllItems();
}
setColumns(columns) {
this.layout_manager.columns = columns;
this.queue_relayout();
}
getItemPosition(item) {
if (!this.contains(item))
return -1;
return this.layout_manager.getItemPosition(item);
}
getItemAt(position) {
return this.layout_manager.getItemAt(position);
}
getDropTarget(x, y) {
return this.layout_manager.getDropTarget(x, y);
}
});

View File

@ -0,0 +1,93 @@
<?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"
id="svg24"
version="1.1"
height="64"
width="64"
sodipodi:docname="arc-menu-symbolic.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="898"
id="namedview954"
showgrid="false"
inkscape:zoom="3.6875"
inkscape:cx="27.254237"
inkscape:cy="32"
inkscape:window-x="0"
inkscape:window-y="40"
inkscape:window-maximized="1"
inkscape:current-layer="svg24"
inkscape:document-rotation="0" />
<metadata
id="metadata30">
<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="defs28" />
<g
transform="translate(-116.94915,23.533898)"
id="g1366" />
<g
transform="matrix(1.1686692,0,0,1.1686692,-5.768325,-5.8697109)"
id="g2840">
<g
style="fill:#cccccc"
id="g1139">
<g
transform="matrix(1.48656,0,0,1.48656,-15.403652,-13.20102)"
id="g1144">
<rect
style="fill:#cccccc;stroke-width:1.64048"
width="32.809589"
height="9.8428764"
x="15.696856"
y="14.273518"
rx="1.6404794"
ry="1.6404794"
id="rect14" />
<rect
style="fill:#cccccc;stroke-width:1.64048"
width="9.8428764"
height="19.685753"
x="38.66357"
y="27.397354"
rx="1.6404794"
ry="1.6404794"
id="rect18" />
<rect
style="fill:#cccccc;stroke-width:1.64048"
width="19.685753"
height="19.685753"
x="15.696856"
y="27.397354"
rx="1.6404794"
ry="1.6404794"
id="rect22" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,7 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g fill="#808080">
<path d="m3.9922 0c-0.0502 0-0.0957 0.015-0.14453 0.0195 0.21491-3e-3 0.35727-0.0162 0.64648-0.0195zm0.51367 0c1.2582 0.0145 1.6789-0.0306 2.4316 0.38477 0.37637 0.20766 0.67323 0.55938 0.83789 0.99804 0.16471 0.43867 0.22461 0.95958 0.22461 1.6172v1h3v-0.24609c0-1.108 0.446-1.7539 1-1.7539s1 0.64592 1 1.7539v0.24609c1.108 0 2-1.392 2-2.5s-0.892-1.5-2-1.5z"/>
<path d="m4.4941 0c-1.2582 0.0145-1.6789-0.0306-2.4316 0.38477-0.37637 0.20766-0.67323 0.55938-0.83789 0.99804-0.16467 0.43867-0.22461 0.95958-0.22461 1.6172v10c0 0.65761 0.0599 1.1786 0.22461 1.6172 0.16468 0.43861 0.46153 0.78852 0.83789 0.99609 0.75272 0.41513 0.67354 0.37165 1.9316 0.38672h2e-3 0.50391 0.50391 2e-3c1.2581-0.0151 1.1789 0.0284 1.9316-0.38672 0.37636-0.20757 0.67321-0.55748 0.83789-0.99609 0.16451-0.43861 0.22451-0.95958 0.22451-1.6172v-10c0-0.65761-0.0599-1.1785-0.22461-1.6172-0.16466-0.43866-0.46152-0.79038-0.83789-0.99804-0.75275-0.41537-1.1734-0.37027-2.4316-0.38477h-4e-3 -2e-3 -2e-3zm6e-3 1c1.2585 0.0147 1.5891 0.0598 1.9551 0.26172 0.18341 0.10119 0.28716 0.21275 0.38476 0.47266 0.09728 0.25987 0.16002 0.67323 0.16002 1.2656v10c0 0.59239-0.0628 1.0058-0.16016 1.2656-0.0975 0.25982-0.20134 0.3715-0.38476 0.47266-0.36598 0.20182-0.19645 0.24652-1.4551 0.26172h-6e-3 -0.494-0.49414-0.0059c-1.2586-0.0152-1.0891-0.0599-1.455-0.26172-0.18342-0.10116-0.28722-0.21285-0.38476-0.47266-0.09738-0.25982-0.16016-0.67323-0.16016-1.2656v-10c0-0.59239 0.0626-1.0058 0.16016-1.2656 0.0976-0.25991 0.20135-0.37147 0.38476-0.47266 0.36596-0.20192 0.69655-0.24702 1.9551-0.26172zm0 1a1.5 1.5 0 0 0-1.5 1.5 1.5 1.5 0 0 0 1.5 1.5 1.5 1.5 0 0 0 1.5-1.5 1.5 1.5 0 0 0-1.5-1.5zm0 1a0.5 0.5 0 0 1 0.5 0.5 0.5 0.5 0 0 1-0.5 0.5 0.5 0.5 0 0 1-0.5-0.5 0.5 0.5 0 0 1 0.5-0.5z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m8 5v4c1 0.5 3.1054 2.3506 6 3-0.91305-3.4912-3.5-5.5-6-7zm2.5 3c0.27614 0 0.69653 0.47678 0.875 0.6875 1.2552 2.2413-0.5513 0.53677-1.375-0.1875 0-0.27614 0.22386-0.5 0.5-0.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,3 @@
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path d="M4.75 1A3.751 3.751 0 0 0 1 4.667c0 .943.247 1.679.5 2.359C2.687 9.836 5 12.184 8 15c3-2.816 5.313-5.164 6.5-7.974.253-.68.5-1.416.5-2.36A3.751 3.751 0 0 0 8 2.88 3.748 3.748 0 0 0 4.75 1z" fill="gray" overflow="visible"/>
</svg>

After

Width:  |  Height:  |  Size: 301 B

View File

@ -0,0 +1,3 @@
<svg version="1.0" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<path d="m14.168 0.50195c-0.32292 0.010507-0.67702 0.10607-0.98047 0.26562-1.0539 0.68624-3.3622 2.9529-3.5957 3.5898-0.066059 0.067542-0.083589 0.32346-0.080078 0.60938-0.44132 0.40035-0.28711 1.2075-0.28711 1.9355 0 0.34261-0.72788 0.58487-1.0195 0.65234-0.85068 0.0033-3.2683 0.12584-4.0547 1.1973-0.68686 0.93534-3.4297 5.4138-3.5996 6.3828-0.095304 0.21815-0.1582 0.39301-0.1582 0.48438 1.1484 0 9.4901-3.9524 9.918-4.3242 0.13456-0.11694 0.21713-0.26626 0.25976-0.43164 0.001005-8.64e-4 0.014733-0.008956 0.015626-0.009765 0.28578-0.25961 0.38704-0.6883 0.29102-1.2422-0.05884-0.34028-0.18072-0.69042-0.32226-0.98633-0.0071-0.017965-0.015134-0.038063-0.027344-0.058594-0.0508-0.10145-0.10462-0.19533-0.1582-0.2793-0.08274-0.17735-0.14062-0.38479-0.14062-0.65039 0-0.52708 0.023048-0.85933 0.060546-1.1074 0.012498-0.013964 0.019942-0.036196 0.033204-0.048828 0.035389-0.033739 0.067007-0.079592 0.099609-0.12109 0.41053 0.2696 1.2336 0.087563 1.459-0.10938 0.87084-0.71035 3.0707-2.9077 3.2988-3.3301 0.36446-0.53257 0.45055-1.4869 0.085937-1.8594l-0.30078-0.30859c-0.18216-0.18614-0.47395-0.26051-0.79688-0.25z" fill="#808080"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,18 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g fill="#808080">
<path d="m4.5 4c-0.277 0-0.5 0.223-0.5 0.5v7c0 0.277 0.223 0.5 0.5 0.5h7c0.277 0 0.5-0.223 0.5-0.5v-7c0-0.277-0.223-0.5-0.5-0.5zm0.5 1h6v6h-6z"/>
<rect x="4" width="2" height="3" rx=".5" ry=".5"/>
<rect x="7" width="2" height="3" rx=".5" ry=".5"/>
<rect x="10" width="2" height="3" rx=".5" ry=".5"/>
<rect x="4" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect x="7" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect x="10" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-6" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-9" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-12" y="13" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-6" y="3.6739e-16" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-9" y="5.5109e-16" width="2" height="3" rx=".5" ry=".5"/>
<rect transform="rotate(-90)" x="-12" y="7.3479e-16" width="2" height="3" rx=".5" ry=".5"/>
<path d="m4 2c-1.108 0-2 0.892-2 2v8c0 1.108 0.892 2 2 2h8c1.108 0 2-0.892 2-2v-8c0-1.108-0.892-2-2-2zm0.5 1h7c0.831 0 1.5 0.669 1.5 1.5v7c0 0.831-0.669 1.5-1.5 1.5h-7c-0.831 0-1.5-0.669-1.5-1.5v-7c0-0.831 0.669-1.5 1.5-1.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,5 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-552 -460)">
<path d="m564.45 460.09c0.39933 0 0.78638 0.0916 1.1433 0.21572l-1.8849 1.8797c-0.38734 0.38627-0.38734 1.0004 0 1.3867l0.7107 0.70874c0.38734 0.38628 1.0031 0.38628 1.3905 0l1.8849-1.8797c0.12444 0.35591 0.2163 0.74191 0.2163 1.1402 0 1.9061-1.5494 3.4513-3.4608 3.4513-0.39933 0-0.78639-0.0916-1.1433-0.2157l-1.1742 1.171c-0.0206-2.6e-4 -0.0412-2.6e-4 -0.0618 0l-2.0703-2.0646 1.2051-1.2018c-0.12444-0.35592-0.2163-0.74191-0.2163-1.1402 0-1.9061 1.5494-3.4513 3.4608-3.4513zm-2.5507 3.8886 2.0703 2.0646c-0.0109 0.0306-0.0212 0.0614-0.0309 0.0924l-5.1433 5.1402c0.12444 0.35596 0.21629 0.74196 0.21629 1.1402 0 1.9061-1.5494 3.4513-3.4608 3.4513-0.43346 0-0.85361-0.10141-1.236-0.24653l2.0085-2.003c0.38735-0.38629 0.38735-1.0312 0-1.4175l-0.67979-0.67792c-0.19368-0.19315-0.45794-0.30816-0.7107-0.30816-0.25275 0-0.51702 0.11501-0.71069 0.30816l-1.9467 1.9413c-0.10485-0.32958-0.1854-0.68351-0.1854-1.0477 0-1.9061 1.5494-3.4513 3.4608-3.4513 0.39933 0 0.78638 0.0916 1.1433 0.2157l5.2051-5.2018z" color="#000000" fill="#808080" style="text-decoration-line:none;text-indent:0;text-transform:none"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,4 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<path d="m8.9609 0c-0.40445 0.85426-0.79836 1.7203-1.1797 2.5977-0.098141 0.2258-0.19984 0.48108-0.29883 0.71289l1.0449 2.7383c0.187-0.50803 0.37942-1.0353 0.55469-1.4941 0.34667-0.87736 0.65219-1.6225 0.91797-2.2344 0.25422 0.58874 0.55372 1.3279 0.90039 2.2168 0.29698 0.76146 0.60762 1.5996 0.92188 2.4629h-2.9297l0.76367 2h2.7441c0.16178 0.48485 0.40675 1.1359 0.58008 1.5977s0.34213 0.92904 0.50391 1.4023h2.3574c-0.45067-1.2814-0.88478-2.4637-1.3008-3.5488-0.40445-1.0851-0.80242-2.1143-1.1953-3.084-0.38133-0.9697-0.7632-1.8922-1.1445-2.7695-0.38133-0.87735-0.77328-1.7434-1.1777-2.5977h-2.0625z" fill="#808080" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m6.675 4h-1.35l-4.1688 11h-1.1562v1h3v-1h-0.77539l1.1426-3h4.2305l1.1426 3h-0.74023v1h4v-1h-1.1211zm-1.1926 2.4492 1.7344 4.5508h-3.4688z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill="#808080" image-rendering="auto" shape-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,10 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-512 -460)" fill="#808080">
<path d="m516.99 460c-1.2582 0.0145-2.1789-0.0306-2.9316 0.38477-0.37637 0.20766-0.67323 0.55938-0.83789 0.99804-0.16467 0.43867-0.22461 0.95958-0.22461 1.6172v10c0 0.65761 0.0599 1.1786 0.22461 1.6172 0.16468 0.43861 0.46153 0.78852 0.83789 0.99609 0.75272 0.41513 1.6735 0.37165 2.9316 0.38672h2e-3 5.0059 4e-3c1.2582-0.0145 2.1789 0.0306 2.9316-0.38477 0.37637-0.20766 0.67322-0.55938 0.83789-0.99804 0.16453-0.43867 0.22447-0.95958 0.22447-1.6172v-10c0-0.65761-0.0599-1.1786-0.22461-1.6172-0.16468-0.43861-0.46153-0.78852-0.83789-0.99609-0.75272-0.41513-1.6736-0.37165-2.9316-0.38672h-2e-3 -5.0059zm6e-3 1h5c1.2586 0.0152 2.0891 0.0599 2.4551 0.26172 0.18342 0.10116 0.28722 0.21286 0.38476 0.47266 0.09741 0.25979 0.16002 0.67323 0.16002 1.2656v10c0 0.59239-0.0626 1.0057-0.16016 1.2656-0.0976 0.25991-0.20135 0.37147-0.38476 0.47266-0.36596 0.20192-1.1966 0.24701-2.4551 0.26172h-4.9941-0.00586c-1.2586-0.0152-2.0891-0.0599-2.4551-0.26172-0.18342-0.10116-0.28722-0.21286-0.38476-0.47266-0.09755-0.25979-0.16016-0.67323-0.16016-1.2656v-10c0-0.59239 0.0626-1.0057 0.16016-1.2656 0.0976-0.25991 0.20331-0.37147 0.38672-0.47266 0.36595-0.20191 1.1946-0.24702 2.4531-0.26172z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m515.5 462c-0.277 0-0.5 0.223-0.5 0.5v4c0 0.277 0.223 0.5 0.5 0.5h8c0.277 0 0.5-0.223 0.5-0.5v-4c0-0.277-0.223-0.5-0.5-0.5zm0.75 1h6.5c0.1385 0 0.25 0.1115 0.25 0.25v2.5c0 0.1385-0.1115 0.25-0.25 0.25h-6.5c-0.1385 0-0.25-0.1115-0.25-0.25v-2.5c0-0.1385 0.1115-0.25 0.25-0.25z"/>
<rect x="516" y="468.5" width="1" height="4" rx=".5" ry=".5"/>
<rect x="514.5" y="470" width="4" height="1" rx=".5" ry=".5"/>
<rect x="522" y="469" width="2" height="2" rx="1" ry="1"/>
<rect x="520" y="471" width="2" height="2" rx="1" ry="1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,7 @@
<svg version="1.1" viewBox="0 0 16.18 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-532 -460)" fill="#808080">
<path d="m543.5 463c-0.82843 0-1.5 0.67157-1.5 1.5s0.67157 1.5 1.5 1.5 1.5-0.67157 1.5-1.5-0.67157-1.5-1.5-1.5z" color="#000000"/>
<path d="m535.99 461c-1.2582 0.0145-2.1789-0.0306-2.9316 0.38477-0.37637 0.20766-0.67323 0.55938-0.83789 0.99804-0.16467 0.43867-0.22461 0.95958-0.22461 1.6172v4 4c0 0.65761 0.0599 1.1785 0.22461 1.6172 0.16467 0.43865 0.46152 0.79039 0.83789 0.99804 0.75275 0.41532 1.6734 0.3702 2.9316 0.38477h4e-3 2.002 4.125 2.002 4e-3c1.2582-0.0146 2.1789 0.0306 2.9316-0.38477 0.37637-0.20765 0.67322-0.55939 0.83789-0.99804 0.16453-0.43866 0.38385-0.9792 0.22443-1.6172v-4-4c0-0.65761-0.0599-1.1785-0.22461-1.6172-0.16466-0.43866-0.46152-0.79038-0.83789-0.99804-0.75275-0.41537-1.6734-0.37027-2.9316-0.38477h-4e-3 -2.0019-4.125-2.002zm2.0059 1h4.125c2 0 3.4845-0.0156 4.2266 0.22461 0.98348 0.44721 0.77344 1.7754 0.77344 2.7754-8.5e-4 2.1232-0.0362 4.677-0.125 7h-4.875-4.125-4.875c-0.0888-2.323-0.12415-4.8768-0.125-7 0-1-0.21004-2.3282 0.77344-2.7754 0.74219-0.24023 2.2266-0.22461 4.2266-0.22461z" color="#000000"/>
<path d="m538 465.5-3 5.5h2.7182 5.2818l-2.5-4.5-1 1.5z" color="#000000"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,5 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-532,-483)">
<path d="m536.75 484c-2.0431 0-3.7055 1.6336-3.75 3.666 0 0.94313 0.24728 1.6792 0.5 2.3594 0.1397 0.33073 0.29858 0.65518 0.46875 0.97461h1.6914l1.3926-4.6445c0.0631-0.20895 0.25441-0.35247 0.47266-0.35547 0.22493-3e-3 0.42393 0.14521 0.48633 0.36133l1.6055 5.5371 0.94531-2.5703c0.15167-0.41033 0.7199-0.44182 0.91602-0.0508l0.86132 1.7227h3.6914c0.17017-0.31943 0.32905-0.64388 0.46875-0.97461 0.25272-0.68013 0.5-1.4162 0.5-2.3594-0.0445-2.0324-1.7069-3.666-3.75-3.666-1.3899 0-2.6022 0.7575-3.25 1.8809-0.64775-1.1234-1.8601-1.8809-3.25-1.8809zm0.77344 4.2656-1.0137 3.3789c-0.0637 0.211-0.2581 0.3554-0.47852 0.35547h-1.4746c1.2934 2.0012 3.17 3.866 5.4434 6 2.2734-2.134 4.15-3.9988 5.4434-6h-3.4121c-0.18962-1.7e-4 -0.36287-0.10758-0.44727-0.27734l-0.48242-0.96485-1.0703 2.9141c-0.16692 0.45238-0.81432 0.42974-0.94922-0.0332z" color="#000000" fill="#808080"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,6 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-612 -180)" fill="#808080">
<path d="m617.14 181.62c-0.26735 0.11903-0.52697 0.25472-0.77734 0.40625-0.0854 1.2421-0.11186 2.4668-0.0625 3.6602 0.21136-0.1141 0.44824-0.18554 0.70312-0.18554 0.10137 0 0.20085 0.0118 0.29688 0.0312-0.0491-1.2588-0.0291-2.5564 0.082-3.8926zm6.1621 0.20703c-0.0169 0.75686-0.0849 1.5034-0.20313 2.2383 0.12973-0.037 0.26348-0.0645 0.4043-0.0645 0.21405 0 0.41639 0.0486 0.60156 0.13086 0.0849-0.54825 0.13966-1.1037 0.17578-1.6641-0.30773-0.24046-0.63504-0.45475-0.97851-0.64062zm-9.3125 2.6035c-0.17399 0.29-0.32673 0.59222-0.45703 0.9043 0.60759 0.42109 1.2256 0.84164 1.8691 1.2539-0.82208 0.3399-1.6136 0.76021-2.3887 1.2305-4e-3 0.0592-7e-3 0.11845-0.01 0.17773 3e-3 0.31507 0.027 0.62959 0.0723 0.94141 0.82021-0.52963 1.6745-0.97098 2.5586-1.3418-0.0822-0.18436-0.13093-0.38616-0.13086-0.59961-1.6e-4 -0.4774 0.23271-0.90117 0.58594-1.1758-0.71749-0.45476-1.4155-0.9214-2.0996-1.3906zm12.182 0.26758c-0.4567 0.0202-0.9247 0.0298-1.375 0.0566 0.12829 0.21999 0.20712 0.47136 0.20703 0.74219 3e-5 0.0847-0.0116 0.16708-0.0254 0.24805 0.52881-0.0302 1.0803-0.0433 1.6211-0.0645-0.11727-0.33792-0.26026-0.66636-0.42773-0.98242zm-4.0703 0.28516c-1.4669 0.16701-2.8862 0.41422-4.25 0.7832 0.29865 0.20618 0.51671 0.51806 0.60546 0.87891 1.166-0.29432 2.3816-0.50085 3.6406-0.64844-0.057-0.15726-0.0938-0.32409-0.0937-0.5-6e-5 -0.1809 0.0376-0.35266 0.0977-0.51367zm0.40039 1.6172c-0.15229 0.4736-0.32269 0.93962-0.51172 1.3984 5e-3 -4e-5 9e-3 -2e-3 0.0137-2e-3 0.35106 0 0.67262 0.12684 0.92969 0.33203 0.17948-0.44115 0.34443-0.88804 0.49219-1.3438-0.35367-0.0188-0.67535-0.15995-0.92383-0.38476zm-4.0215 0.62695c-0.0553 0.34908-0.23156 0.6569-0.48633 0.88281 0.81971 0.44481 1.6609 0.8579 2.5254 1.2285 0.0372-0.35232 0.19235-0.6709 0.4336-0.90821-0.8428-0.36186-1.6669-0.76442-2.4727-1.2031zm-0.89062 1.1426c-0.1809 0.0778-0.37807 0.12304-0.58594 0.12304-0.15664 0-0.30473-0.0327-0.44727-0.0781 0.13402 0.82273 0.32528 1.6156 0.56641 2.3789 0.24868-0.1823 0.55204-0.29297 0.88086-0.29297 0.0267 0 0.0518 6e-3 0.0781 8e-3 -0.21384-0.67907-0.36692-1.3995-0.49218-2.1387zm5.9004 0.99218c4e-3 0.0437 0.0137 0.0862 0.0137 0.13086 1.1e-4 0.31252-0.0987 0.60281-0.26562 0.84375 1.0055 0.29283 2.0383 0.50474 3.0957 0.62891 0.14779-0.31071 0.27248-0.63189 0.37304-0.96094-1.0957-0.11262-2.1683-0.33539-3.2168-0.64258zm-2.9551 0.43165c-0.48076 0.41864-1.0092 0.77559-1.5703 1.0664 0.25934 0.21882 0.44486 0.51872 0.50976 0.86328 0.55912-0.29554 1.0978-0.65159 1.5957-1.0723-0.2666-0.21473-0.46351-0.51205-0.53516-0.85742zm-4.0039 1.9473c-0.14486 0.0365-0.29311 0.0879-0.43554 0.11719-0.64334 0.13227-1.2284 0.19061-1.7656 0.22265 0.24026 0.33426 0.50953 0.64667 0.80469 0.9336 0.3743-0.044 0.75587-0.0923 1.1621-0.17578 0.13332-0.0274 0.27446-0.077 0.41015-0.10938-0.12504-0.21791-0.20321-0.4653-0.20312-0.73242-3e-5 -0.0874 0.0127-0.17244 0.0273-0.25586zm2.6172 1.207c-0.22057 0.26289-0.52394 0.45269-0.87305 0.51758 0.23556 0.40242 0.9888 1.7921 1.275 2.1619l0.79101-0.61328c-0.25879-0.3344-0.9831-1.694-1.193-2.0662z" color="#000000" color-rendering="auto" dominant-baseline="auto" fill-rule="evenodd" image-rendering="auto" opacity=".5" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m620 180a8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8 8 8 0 0 0-8-8zm0 1a7 7 0 0 1 7 7 7 7 0 0 1-7 7 7 7 0 0 1-7-7 7 7 0 0 1 7-7zm3.5 3.5039a1 0.99575 0 0 0-1 0.99609 1 0.99575 0 0 0 1 0.99609 1 0.99575 0 0 0 1-0.99609 1 0.99575 0 0 0-1-0.99609zm-6.5 1.5a1 0.99575 0 0 0-1 0.99609 1 0.99575 0 0 0 1 0.99609 1 0.99575 0 0 0 1-0.99609 1 0.99575 0 0 0-1-0.99609zm5 2.4961a1 0.99575 0 0 0-1 0.99609 1 0.99575 0 0 0 1 0.9961 1 0.99575 0 0 0 1-0.9961 1 0.99575 0 0 0-1-0.99609zm-4 2.5039a1 0.99575 0 0 0-1 0.99609 1 0.99575 0 0 0 1 0.99609 1 0.99575 0 0 0 1-0.99609 1 0.99575 0 0 0-1-0.99609z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,5 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-332 -160)">
<path d="m333 162v13h1v-1h1v1h11v-1h1v1h1v-13h-1v1h-1v-1h-11v1h-1v-1zm3 1h9v5h-9zm-2 1h1v1h-1zm12 0h1v1h-1zm-12 2h1v1h-1zm12 0h1v1h-1zm-12 2h1v1h-1zm12 0h1v1h-1zm-10 1h9v5h-9zm-2 1h1v1h-1zm12 0h1v1h-1zm-12 2h1v1h-1zm12 0h1v1h-1z" fill="gray" overflow="visible"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 391 B

View File

@ -0,0 +1,6 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
<g>
<path d="m3.9941 0c-1.258 0.015-2.1796-0.028281-2.9316 0.38672-0.377 0.207-0.67389 0.55709-0.83789 0.99609-0.165 0.438-0.22461 0.95919-0.22461 1.6172v8c1.8504e-17 0.657 0.059609 1.1802 0.22461 1.6172 0.15141 0.42194 0.44851 0.77593 0.83789 0.99805 0.752 0.415 1.6736 0.36977 2.9316 0.38477h0.0039063 0.0019531v-1c-1.259-0.015-2.0891-0.059719-2.4551-0.26172-0.183-0.101-0.28677-0.21266-0.38477-0.47266-0.097-0.26-0.16016-0.67362-0.16016-1.2656v-8c0-0.592 0.063156-1.0056 0.16016-1.2656 0.098-0.259 0.20177-0.37266 0.38477-0.47266 0.365-0.202 1.1961-0.24672 2.4551-0.26172h3v4h4v4 2h1v-6.75l-4.25-4.25h-3.7559zm-0.99414 6v1h1 4 1v-1h-6zm0 2v1h1v-1h-1zm5 0v1h1v-1h-1zm-5 2v1h1v-1h-1z" fill="#808080"/>
<path d="m14 8v7h-1v-3h-2v3h-1v-5h-2v5h-1v-7h-2v8h11v-8z" enable-background="new" fill="#808082" fill-rule="evenodd"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 915 B

View File

@ -0,0 +1,5 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-512,-484)">
<path d="m515.8 487c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm-8 4c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm-8 4c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625zm4 0c-0.53643 0-0.80469 1.5e-4 -0.80469 0.625v0.75c0 0.62485 0.26826 0.625 0.80469 0.625h0.39062c0.53643 0 0.80469-1.5e-4 0.80469-0.625v-0.75c0-0.60253-0.26826-0.625-0.80469-0.625z" color="#000000" fill="#808080"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,9 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-592,-460)" fill="#808080">
<path d="m598 464-4 8v0.55078c3.5e-4 1.3528 0.89568 2.4492 2 2.4492h8c1.1043 0 1.9996-1.0964 2-2.4492v-0.55078l-4-8h-1l0.3418 1.0059c0.62839 1.2566 1.2564 2.5129 1.8848 3.7695 0.56784 1.1789 1.2124 2.3391 1.7324 3.5293 0.0359 0.61876-0.15521 1.4667-0.83203 1.6367-2.7251 0.0657-5.4861 0.0535-8.1797 0.0117-0.72645-0.13044-0.95349-1.0129-0.92579-1.6504 0.57553-1.297 1.2724-2.5637 1.8945-3.8496 0.57459-1.149 1.15-2.2982 1.7246-3.4473l-0.0156-6e-3 0.375-1z"/>
<path d="m598 462v3h0.625l0.375-0.75v-2.25z"/>
<rect x="597" y="461" width="6" height="1" rx=".5" ry=".5"/>
<path d="m602 462v3h-0.625l-0.375-0.75v-2.25z"/>
<path d="m597.24 470.1c-0.39616 0.81476-0.8234 1.6157-1.1814 2.4482 0.0157 0.22101 0.0951 0.42162 0.36097 0.34558 2.2487 0.0833 4.5576 0.0452 6.81 0.0165 0.22666-0.0498 0.70118 0.13229 0.68872-0.26758 4e-3 -0.40578-0.34814-0.75739-0.48025-1.1422-0.58319-1.1724-1.1663-2.3449-1.7494-3.5174h-3.396c-0.35091 0.70561-0.70182 1.4112-1.0527 2.1168z" opacity=".5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,7 @@
<svg version="1.1" viewBox="0 0 16.015 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g transform="translate(-632,-320)" fill="#808080">
<path d="m640.18 321c-2.483-0.0657-4.9225 1.1941-6.248 3.4922-1.9281 3.3427-0.77551 7.629 2.5703 9.5625 3.3458 1.9335 7.6344 0.79191 9.5625-2.5508 1.9281-3.3427 0.77551-7.6329-2.5703-9.5664-1.0456-0.60423-2.1858-0.90763-3.3144-0.9375zm-0.18164 0.99609a6 6 0 0 1 6 6 6 6 0 0 1-6 6 6 6 0 0 1-6-6 6 6 0 0 1 6-6z" color="#000000" color-rendering="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:none;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
<path d="m638.69 320.12v1.5451c0.86819-0.1783 1.7641-0.1766 2.6322 5e-3v-1.5501zm-2.7536 0.98912-2.0054 1.7049 0.98801 1.1776c0.54939-0.69591 1.236-1.2714 2.0174-1.6908zm8.1287 0.0127-0.99285 1.1835c0.0573 0.0293 0.11416 0.0595 0.17056 0.0905 0.71061 0.41285 1.3366 0.95679 1.8446 1.6029l1.0051-1.1977zm-11.61 4.2168-0.44056 2.5954 1.5154 0.26739c-0.0273-0.8866 0.12755-1.769 0.45509-2.5927zm15.086 3e-3 -1.5228 0.26851c0.32999 0.82318 0.48779 1.705 0.46365 2.5909l1.5329-0.27zm-13.682 4.6946-1.3515 0.78058h-3.4e-4l1.331 2.271 1.3381-0.77238c-0.59006-0.66203-1.0384-1.4377-1.3172-2.2792zm12.301 3e-3c-0.13616 0.42225-0.31536 0.82932-0.53478 1.2148-0.22083 0.38188-0.48014 0.74014-0.77388 1.0692l1.3388 0.77313 1.3016-2.2881zm-9.5569 3.4716-0.53479 1.4688 2.4795 0.88448 0.52585-1.4453c-0.81119-0.11877-1.5928-0.39022-2.3034-0.79995-0.0563-0.0351-0.11203-0.0711-0.16721-0.10799zm6.8133 0.0153c-0.75448 0.46543-1.5968 0.77091-2.4747 0.89752l0.53031 1.4565 2.4676-0.91651z" color="#000000"/>
<path d="m639.65 323.01c-1.6024 0.11249-3.1219 0.99052-3.9824 2.4824-1.3769 2.3871-0.55308 5.4534 1.8359 6.834 2.389 1.3806 5.4532 0.56088 6.8301-1.8262 1.3769-2.3871 0.55308-5.4514-1.8359-6.832-0.89588-0.51773-1.8862-0.72569-2.8476-0.65821zm0.35156 0.98633a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4z" color="#000000" color-rendering="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:none;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,7 @@
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb">
<g fill="#808080">
<path d="m3.9922 0c-0.0502 0-0.0957 0.015-0.14453 0.0195 0.21491-3e-3 0.35727-0.0162 0.64648-0.0195zm0.51367 0c1.2582 0.0145 1.6789-0.0306 2.4316 0.38477 0.37637 0.20766 0.67323 0.55938 0.83789 0.99804 0.16471 0.43867 0.22461 0.95958 0.22461 1.6172v1h3v-0.24609c0-1.108 0.446-1.7539 1-1.7539s1 0.64592 1 1.7539v0.24609c1.108 0 2-1.392 2-2.5s-0.892-1.5-2-1.5z"/>
<path d="m4.4941 0c-1.2582 0.0145-1.6789-0.0306-2.4316 0.38477-0.37637 0.20766-0.67323 0.55938-0.83789 0.99804-0.16467 0.43867-0.22461 0.95958-0.22461 1.6172v10c0 0.65761 0.0599 1.1786 0.22461 1.6172 0.16468 0.43861 0.46153 0.78852 0.83789 0.99609 0.75272 0.41513 0.67354 0.37165 1.9316 0.38672h2e-3 0.50391 0.50391 2e-3c1.2581-0.0151 1.1789 0.0284 1.9316-0.38672 0.37636-0.20757 0.67321-0.55748 0.83789-0.99609 0.16451-0.43861 0.22451-0.95958 0.22451-1.6172v-10c0-0.65761-0.0599-1.1785-0.22461-1.6172-0.16466-0.43866-0.46152-0.79038-0.83789-0.99804-0.75275-0.41537-1.1734-0.37027-2.4316-0.38477h-4e-3 -2e-3 -2e-3zm6e-3 1c1.2585 0.0147 1.5891 0.0598 1.9551 0.26172 0.18341 0.10119 0.28716 0.21275 0.38476 0.47266 0.09728 0.25987 0.16002 0.67323 0.16002 1.2656v10c0 0.59239-0.0628 1.0058-0.16016 1.2656-0.0975 0.25982-0.20134 0.3715-0.38476 0.47266-0.36598 0.20182-0.19645 0.24652-1.4551 0.26172h-6e-3 -0.494-0.49414-0.0059c-1.2586-0.0152-1.0891-0.0599-1.455-0.26172-0.18342-0.10116-0.28722-0.21285-0.38476-0.47266-0.09738-0.25982-0.16016-0.67323-0.16016-1.2656v-10c0-0.59239 0.0626-1.0058 0.16016-1.2656 0.0976-0.25991 0.20135-0.37147 0.38476-0.47266 0.36596-0.20192 0.69655-0.24702 1.9551-0.26172zm0 1a1.5 1.5 0 0 0-1.5 1.5 1.5 1.5 0 0 0 1.5 1.5 1.5 1.5 0 0 0 1.5-1.5 1.5 1.5 0 0 0-1.5-1.5zm0 1a0.5 0.5 0 0 1 0.5 0.5 0.5 0.5 0 0 1-0.5 0.5 0.5 0.5 0 0 1-0.5-0.5 0.5 0.5 0 0 1 0.5-0.5z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m8 5v4c1 0.5 3.1054 2.3506 6 3-0.91305-3.4912-3.5-5.5-6-7zm2.5 3c0.27614 0 0.69653 0.47678 0.875 0.6875 1.2552 2.2413-0.5513 0.53677-1.375-0.1875 0-0.27614 0.22386-0.5 0.5-0.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path fill="#474747" d="M247.933 17.872c-20.493 50.233-32.853 83.091-55.67 131.826 13.99 14.826 31.16 32.09 59.048 51.59-29.981-12.334-50.43-24.717-65.714-37.567-29.2 60.92-74.95 147.696-167.79 314.472 72.97-42.116 123.778-68.082 176.497-77.99a133.5 133.5 0 0 1-3.464-31.249l.08-2.337c1.159-46.74 31.743-84.002 60.036-84.065s55.807 46.155 54.65 92.894c-.218 8.796-1.21 17.255-2.944 25.103 52.143 10.198 103.496 36.098 175.478 77.644-14.194-26.124-26.863-49.675-38.96-72.104-19.058-14.767-38.934-33.986-79.48-54.793 27.87 7.24 47.823 15.593 63.376 24.93C300.073 147.257 290.116 116.83 247.93 17.86Z"/></svg>

After

Width:  |  Height:  |  Size: 671 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path fill="#474747" d="M249.525 16.95A231.525 231.525 0 0 0 18 248.474 231.525 231.525 0 0 0 249.525 480a231.525 231.525 0 0 0 231.526-231.525A231.525 231.525 0 0 0 249.525 16.949m48.295 46.304c4.366-.058 8.549.26 13.272.655 25.832 2.162 53.252 18.875 71.154 45.062 24.15 35.326 22.984 80.37.813 107.33-11.137 13.543-14.724 14.547-22.225 20.597 4.718-9.05 6.12-12.52 5.54-19.648-.366-4.472-2.065-8.023-3.03-10.016-3.708-7.658-9.416-10.52-16.099-13.815-8.213-4.051-17.39-4.748-23.084-4.273-4.416.368-6.695.554-12.39 2.51-26.98 9.263-57.906.806-74.455-23.402-19.783-28.939-12.001-69.014 17.432-89.512 8.67-6.038 18.918-12 28.76-13.95 5.41-1.073 9.946-1.48 14.312-1.538M141.495 144.31c4.349-.093 8.667.2 12.91.927 17.056 2.919 19.662 5.523 28.534 8.999-10.043.391-13.688.882-19.467 4.883-3.625 2.512-5.814 5.698-7.032 7.507-4.677 6.95-4.264 13.279-3.753 20.643.629 9.051 4.593 17.27 7.823 21.931 2.505 3.615 3.807 5.471 8.298 9.406 21.27 18.636 29.38 49.4 17.003 75.517v.023c-14.819 31.214-52.761 44.212-84.81 28.986-9.441-4.486-19.592-10.382-26.137-17.885-7.193-8.246-10.455-14.756-14.47-23.265-10.98-23.268-10.329-55.039 3.075-83.295 15.82-33.354 47.586-53.704 78.026-54.377m186.17 138.915c31.298.713 57.698 25.342 60.323 57.7.825 10.167.786 21.627-2.396 30.818-3.498 10.1-7.439 16.037-12.73 23.582-14.466 20.63-41.953 35.593-72.713 38.052-41.496 3.319-78.768-19.282-90.553-50.804-5.92-15.836-4.968-19.273-6.376-28.466 5.29 8.296 7.5 11.11 13.77 14.04 3.934 1.839 7.734 2.138 9.88 2.284 8.247.562 13.472-2.87 19.513-6.896 7.424-4.947 12.51-12.315 14.9-17.319 1.853-3.88 2.787-5.884 3.934-11.599 5.433-27.07 27.704-48.96 56.14-51.234v.023a61 61 0 0 1 6.308-.18z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path fill="#474747" d="M417.748 110.542a14.386 14.386 0 0 1-14.385 14.386 14.386 14.386 0 0 1-14.386-14.386 14.386 14.386 0 0 1 14.386-14.385 14.386 14.386 0 0 1 14.385 14.385m-.19.149a14.386 14.386 0 0 1-14.385 14.385 14.386 14.386 0 0 1-14.386-14.385 14.386 14.386 0 0 1 14.386-14.386 14.386 14.386 0 0 1 14.386 14.386m-24.524 96.567a27.94 27.94 0 0 1-27.938 27.938 27.94 27.94 0 0 1-27.938-27.938 27.94 27.94 0 0 1 27.938-27.938 27.94 27.94 0 0 1 27.938 27.938m-.384.289a27.94 27.94 0 0 1-27.938 27.938 27.94 27.94 0 0 1-27.938-27.938 27.94 27.94 0 0 1 27.938-27.938 27.94 27.94 0 0 1 27.938 27.938m86.875 85.458a36.8 36.8 0 0 1-36.8 36.8 36.8 36.8 0 0 1-36.8-36.8 36.8 36.8 0 0 1 36.8-36.8 36.8 36.8 0 0 1 36.8 36.8m-.493.38a36.8 36.8 0 0 1-36.8 36.8 36.8 36.8 0 0 1-36.802-36.8 36.8 36.8 0 0 1 36.801-36.8 36.8 36.8 0 0 1 36.8 36.8M165.253 319.57l-49.587 95.765 7.7 13.861 49.415-96.959zm6.85-157.308-155.628 81.79 106.9 2.613zm-53.287-95.466-12.947 23.353 129.056 71.569 54.134.544zM16.475 244.052l3.357 5.589 106.533 2.146-2.989-5.122h-.002zM118.808 66.796l.006.004.002-.004zm.008 0 170.238 95.462 54.587-94.552zm-.008 0L16.475 244.052l155.628-81.79-48.729 84.403h.002l48.729-84.403h116.947l-54.127-.544-129.056-71.569 12.945-23.35ZM16.475 244.052l106.892 185.152h221.557l55.979-96.959h-228.12l-.005-.006-49.411 96.957-7.701-13.861 49.587-95.765 7.438 12.515-46.357-80.298-106.502-2.146z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path fill="#474747" d="M248 16.475A231.526 231.526 0 0 0 16.475 248 231.526 231.526 0 0 0 248 479.526 231.526 231.526 0 0 0 479.526 248 231.526 231.526 0 0 0 248 16.475m25.097 58.05c-.41.09-.921.105-1.357.17.457-.035.9-.076 1.357-.113-4.396.97-10.4.28-14.527 1.752l-2.43-.339c5.606-.698 11.248-1.003 16.957-1.47m-15.714 4.635c5.44.152 7.937.427 8.648.735.713.308-.357.69-2.148 1.074l-.17.283-2.147.17 2.318-.453c.543-.762-3.242-1.185-6.5-1.752.176.005.111-.006.282 0-.14-.024-.144-.032-.283-.056m-9.892 8.253c-2.677 1.493-5.347 2.652-7.857 4.409 10.193-2.428 9.707 1.036 20.123-.34-3.655.528-8.054 1.941-7.348 2.488 11.643 1.346 13.42-3.586 24.193 0l-.679-3.165c14.96 5.391 18.06 4.438 34.31 13.057 5.731.278 6.299-3.505 14.923 0 1.534 2.657-.304 3.148 10.288 9.44 1.176-.471-2.143-3.444-4.748-5.823 21.294 11.365 44.459 35.577 51.55 61.5-6.617-12.163-.718 6.216-2.995 5.256 2.95 7.933 5.4 16.126 6.896 24.588-1.963-6.937-6.265-23.673-13.736-34.48-.613 6.973-9.627-4.843-4.692 10.514 3.754 5.443.79-5.485 5.427 4.183.074 4.595 1.806 9.164 2.826 15.148-1.585-.257-3.536-6.634-4.691-4.86 1.604 7.528 4.254 11.46 5.256 12.04-.512 1.26-1.883-1.166-1.978 3.956.62 11.788 3.3 6.788 4.579 7.348-1.294 5.805-6.473 12.625-3.9 22.61-.737-3.028-2.191-6.064-3.279-8.931-1.01 8.527 1.91 10.19-2.035 20.519 2.843-9.31 2.511-17.726-.169-13.68 1.19 13.239-10.484 23.39-9.213 31.767l-3.393-4.635c-9.194 13.305-.192 7.328-6.443 17.41 2.296-3.96-1.236-1.618 1.752-6.105-1.985.113-8.86 8.394-15.149 13.284-24.698 19.765-54.143 22.343-82.696 11.7-1.11.906 5.085 5.79 9.666 8.14 10.873 4.005 23.157 4.163 32.841 3.787-20.927 8.74-60.868-8.861-73.934-32.22 2.949.643 13.102 16.435 20.688 18.993-4.483-3.585-7.977-8.14-11.192-12.83 6.057 6.945 13.44 12.635 21.48 16.391-.51-1.948 2.215-2.357-1.583-4.917-24.204-18.522-38.546-34.28-33.576-70.713 3.687-2.781 4.705-17.969 13.17-23.288 5.157-11.388 20.606-21.889 37.137-22.158 16.866-.917 31.107 9.014 38.267 18.37-13.023-12.128-34.328-15.822-52.511-6.839-18.589 8.355-29.643 28.829-28.037 49.177.69-1.007 1.31-.374 1.64-2.883-.568 39.553 42.731 68.5 73.877 53.868l.34.848c12.638-3.447 10.997-6.266 19.275-11.927-.644 1.326-5.536 4.682-2.6 4.748 4.014-1.067 16.545-12.724 22.722-18.2 2.83-6.096-1.522-3.3 2.43-10.966l4.805-2.374c2.689-7.75 5.707-12.122 5.37-21.14l-2.826 5.878c4.154-12.534 1.734-26.181 2.317-37.985l-1.13-.282c-1.042-29.688-26.754-61.274-49.629-71.956-19.728-9.088-50.077-10.64-64.099-3.788 1.93-1.704 9.61-2.416 7.292-3.73-21.96 2.176-17.02 7.637-33.858 11.927-4.614 4.453 13.463-3.564 3.73 2.204-9.03 2.489-13.24-1.556-26.623 12.266 1.192 1.919 8.52-5.716 2.43 1.922-12.577-1.554-39.737 28.74-45.502 38.776l2.996.508c-4.937 12.381-11.445 20.283-12.322 27.698-1.282 18.232-7.666 51.5 1.187 61.725l-.848 8.535c1.21 2.422 2.11 4.898 3.617 7.179l-1.978.113c9.313 29.34 10.022.557 22.327 31.032-1.788-.608-3.562-1.247-6.16-4.748-.316 2.662 3.782 10.677 8.647 16.957l-2.091 2.374c2.712 4.92 5.24 5.98 7.122 7.687-10.123-5.527 9.376 18.158 11.135 21.197l1.583-2.77c-.228 3.994 2.812 9.104 8.592 16.223l4.861-.169c1.991 3.936 9.244 11.014 13.623 11.362l-2.94 3.787c11.047 3.501 5.363 4.635 18.936 9.439l-2.77-4.861c6.923 5.99 9.11 11.225 18.88 15.827 13.55 4.717 15.32 2.874 29.223 6.84-11.788-.318-25.616-.203-34.932-3.562-63.572-17.162-121.764-91.644-117.515-168.33-.976-15.524 1.57-34.913-1.018-38.777 3.632-11.816 7.811-26.213 16.28-43.354-.614-1.15 1.405 3.37 5.708-3.957 2.61-5.722 4.742-12.07 8.027-17.636l1.696-.339c1.693-9.831 22.953-24.922 29.28-32.502l.452 2.883c13.807-12.928 38.431-21.58 52.285-27.753-3.638 4.022 8.127-.39 16.618-.905m-133.737 64.212c-.044 2.67 3.42-.666 3.278 1.64-.047.767-.526 2.186-1.64 4.634-6.184 4.238-3.492 3.399-2.147-.847v-.057c.446-1.434.747-3.22.509-5.37m-6.783 27.302c-.733 3.325-1.08 6.756-2.996 12.492.556-4.492-2.286-5.89 2.996-12.492m217.45 39.906c.365.015.727.429.905 1.526.182 1.128.186 2.968 0 5.653-.54 2.126-1.03 1.463-1.526.226v-.056c-.505-1.28-1.015-3.157-1.583-3.448.483-2.024 1.453-3.842 2.205-3.9zm66.756 18.088c-1.65 12.242-5.511 24.34-11.53 35.385.641-1.236.992-2.587 1.582-3.844-.61 1.24-.976 2.57-1.64 3.787 2.721-5.235 5.008-10.666 6.784-16.222a104.6 104.6 0 0 0 3.9-16.901zm-70.712 4.013c-.023.134-.088.263-.115.396.033-.139.138-.255.169-.396-.926 5.548-3.589 10.922-7.235 15.827h-.057v-.056c.13-1.98-2.3-1.6-3.335-2.487v-.057c-.525-.451-.68-1.203.06-2.826.738-1.622 2.36-4.082 5.425-7.857-.803 3.193-6.77 10.3-4.917 10.683.618.128 2.068-.505 4.917-2.26 2.084-3.61 4.249-7.016 5.088-10.967m-24.871 23.006a80 80 0 0 1-5.935 5.03c-5.976-.9-11.58-2.8-11.418-3.73.054-.31.736-.49 2.26-.509 5.089.452 10.141.396 15.093-.791m-76.987.791c1.415 2.758 2.672 5.503 4.805 7.8l1.865 5.427c-1.28-2.115-2.609-4.215-3.787-6.387-1.18-2.172-2.209-4.422-2.883-6.84m-4.691 8.196c5.038 9.51 7.79 12.424 11.474 19.445-2.547-2.066-4.682-4.563-6.613-7.179v-.056c-1.938-2.628-3.702-5.361-5.71-8.027z" style="stroke-width:.933571"/></svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M280.35 58.522c-11.503 1.615-222.493 266.51-222.493 266.51s15.212 4.404 49.796 9.502c11.2-8.883 168.762-279.643 173.302-275.78q-.12-.164-.395-.124zm0 0c34.585 49.826 180.113 242.563 80.975 282.733-46.315 21.707-257.304-12.746-254.277-7.115-15.136 25.338-27.168 45.732-27.168 45.732s162.707 7.47 288.332-9.81c179.356-24.566-36.93-258.786-87.786-311.316ZM478 248a230 230 0 0 1-230 230A230 230 0 0 1 18 248 230 230 0 0 1 248 18a230 230 0 0 1 230 230" style="fill:#ccc;fill-opacity:1;stroke-width:4.47289"/></svg>

After

Width:  |  Height:  |  Size: 583 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M248.122 22.133c-127.117 0-230.039 101.033-230.264 225.766h-.04v174.766h.04c.061 28.288 23.454 51.202 52.304 51.202h177.982c127.14-.08 230.038-101.1 230.038-225.766 0-124.733-103.034-225.765-230.263-225.765Zm46.772 92.964c38.654 0 75.15 29.03 75.15 69.079 0 3.715.023 7.432-.597 11.644-1.07 10.654-10.998 18.31-21.807 16.808-10.81-1.52-18.145-11.587-16.146-22.12.182-1.202.249-3.09.249-6.334 0-22.712-18.945-31.482-36.856-31.482-17.906 0-34.044 14.77-34.067 31.482.31 19.323 0 38.497 0 57.79l33.235-.243c25.95-.527 26.242 37.8.3 37.62l-33.528.243c-.08 15.543.121 12.732.041 20.56 0 0 .281 19.01-.297 33.415-4.012 42.32-40.746 76.14-84.887 76.14-46.795 0-85.337-37.508-85.337-83.516 1.405-47.311 39.869-84.527 88.328-84.1l27.028-.2v37.553l-27.028.244h-.142c-26.624.772-49.448 18.51-49.875 46.48 0 25.477 20.989 45.895 47.042 45.895 26.017 0 46.84-18.568 46.84-45.85l-.04-142.228c.022-2.64.1-4.738.396-7.65 4.392-34.787 36.114-61.299 72.025-61.299z" style="fill:#ccc;fill-opacity:1;stroke-width:2.24866"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><g style="fill:#705db3"><path d="M3208.587-6664.187c-111.445 2.84-221.076 13.937-327.002 33.309C1608.076-6398.035 711.96-5296.372 636.075-4570.502c-37.225 356.1 154.835 622.297 260.705 740.018 286.224 317.914 856.578 561.13 1223.41 762.339-530.195 452.017-773.255 672.594-1012.775 924.079-358.36 376.322-610.765 790.517-611.533 1087.191-.27 95.578-15.536 400.251 108.77 640.777 46.75 90.494 179.607 392.392 580.456 618.456 256.048 144.485 620.772 197.598 977.9 146.63C3268.251 191.274 4748.613-746.348 5804.926-1619.357c673.155-556.35 1165.184-1095.408 1307.32-1360.879 114.685-214.202 127.643-598.49 61.118-839.603-189.009-684.972-1725.286-2088.035-2981.352-2652.734-300.256-135.001-649.087-200.135-983.425-191.614m922.997 1089.251a793.684 659.134 25.483 0 1 431.63 94.778 793.684 659.134 25.483 0 1 420.925 939.188 793.684 659.134 25.483 0 1-1004.834 242.437 793.684 659.134 25.483 0 1-421.27-939.188 793.684 659.134 25.483 0 1 573.549-337.214" style="fill:#ccc;fill-rule:evenodd;stroke-width:11.29758358" transform="matrix(.0639 0 0 .06426 3.358 450.36)"/></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M396.444 16.785c-96.2 0-114.26 137.018-60.142 137.018 54.11 0 156.347-137.018 60.142-137.018M247.84 33.573c-1.528-.005-3.168.058-4.86.29-54.139 7.027-35.102 101.172-6.275 102.931 27.915 1.708 58.49-103.05 11.135-103.214zm-93.83 37.25c-2.863.058-5.985.747-9.384 2.148-43.514 17.955-6.628 92.032 17.749 87.048 22.49-4.584 25.404-89.944-8.366-89.196zm-69.357 58.05c-3.783 0-7.853 1.187-12.21 4.185-34.832 24.067 11.726 82.215 32.22 73.2 17.932-7.895 6.473-76.494-20.01-77.385m198.967 44.543c-74.677-1.274-173.18 36.178-189.98 111.41-18.194 81.419 74.874 194.389 172.005 194.389 47.784 0 102.908-43.189 113.22-97.846 7.875-41.68-92.697-24.982-89.084 2.605 4.33 33.059-24.239 49.404-52.228 28.092-89.104-67.84 147.526-101.7 131.928-194.386-4.855-28.85-41.054-43.503-85.86-44.259z" style="fill:#ccc;fill-opacity:1;stroke-width:28.9407"/></svg>

After

Width:  |  Height:  |  Size: 911 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M248.305 17.39a230.3 230.3 0 0 0-147.764 53.955c9.35.729 18.684 1.58 28 2.654 7.325.88 14.663 1.618 21.907 3.014 7.572 1.68 15.319 2.462 22.895 4.138 17.434 3.226 34.679 7.509 51.527 13.067 4.668 1.012 8.842 3.356 13.314 4.948 9.567 3.826 18.887 8.353 27.484 14.057-1.953 13.673-2.88 28.647 3.868 41.248 3.695 7.389 10.02 13.452 17.746 16.463 11.2 4.828 23.702 3.229 35.535 3.824 10.742 1.943 20.826 6.344 30.992 10.165 4.037 1.569 7.987 3.308 12.033 4.858.051-1.325.114-2.638.18-3.958 4.546 5.333 10.621 9.236 17.093 11.83-.366-2.252-.803-4.482-1.215-6.725 3.147 2.955 6.108 6.12 9.311 9.02 2.932 2.401 6.182 4.37 9.469 6.251-.01-3.104-.555-6.158-.967-9.22 4.907 5.572 10.237 10.747 15.046 16.418 3.826.057 7.653.115 11.493.18.283.486.632.933.922 1.416v-.944c8.668 9.03-.243-.33 7.94 8.254.227.238.154.08-.158.854-1.19-.474-2.344-1.044-3.509-1.574 1.863 2.823 3.64 5.7 5.533 8.502.876 1.492 1.472 2.491 2.114 4.205.906 2.016-3.5.847-2.451 2.137 6.644 8.298 16.608 11.978 26.741 14.506-3.9 1.948-8.462 2.578-11.515 5.78-.301.332-.147.093-.36.315-.39.756-.61 1.28-1.957 3.441-4.04-3.653-7.56-7.84-11.807-11.268-5.737-4.673-12.127-7.366-18.87-10.39-3.54-1.644-7.524-3.393-9.379-7.04-1.381-3.568-1.682-7.431-2.024-11.2-13.046-6.378-26.636-11.587-40.146-16.869-16.51-6.045-33.323-12.23-51.009-13.494-17.12-1.667-34.538 5.29-46.488 17.498-14.722 14.586-20.986 36.155-15.339 56.16 4.37 18.416 18.415 31.855 36.233 38.256 7.717 2.88 15.996 3.96 24.2 3.913 33.949-.023 68.168 4.066 100.51 14.687 15.136 5.076 29.742 11.952 42.868 21.074a230.3 230.3 0 0 0 20.31-94.101A230.305 230.305 0 0 0 248.304 17.39M94.648 76.518a230.3 230.3 0 0 0-49.344 62.614c5.74-.996 11.49-1.985 17.228-2.946 63.084-10.199 127.135-13.133 190.968-12.595.726 3.938 1.634 7.857 2.52 11.763-26.471-2.655-53.115-3.507-79.708-3.329-44.275.98-88.445 4.642-132.403 10.008A230.3 230.3 0 0 0 18 247.695 230.305 230.305 0 0 0 248.305 478a230.3 230.3 0 0 0 193.488-105.841c-1.514-1.946-2.93-3.99-4.543-5.826-9.342-12.006-21.706-21.31-34.793-28.878-24.926-14.254-54.484-18.788-82.856-16.508-23.545 2.716-47.704-7.535-63.222-25.212-7.735-8.663-13.432-16.797-16.62-27.956-2.936-12.47-3.643-24.537-.248-36.997 2.782-12.18 9.28-23.28 17.633-32.477 5.867-6.218 12.572-11.797 20.332-15.496-7.291-12.334-12.436-25.828-16.486-39.539-2.154-7.323-3.088-14.92-4.858-22.333-.248-1.213-1.639-1.501-2.52-2.091-6.812-3.414-13.653-6.756-20.668-9.739-4.692-2.135-9.804-3.072-14.53-5.128-7.725-2.28-15.35-4.901-23.165-6.882-4.677-1.203-9.08-3.299-13.786-4.408-9.721-2.473-19.359-5.446-29.328-6.747-19.006-4.088-38.217-7.005-57.487-9.424m163.013 64.368c.796 3.798 1.898 7.52 3.059 11.223-60.556 3.1-119.797 19.201-175.698 42.193-8.597 3.404-16.875 7.535-25.37 11.178 7.53-4.739 15.544-8.605 23.481-12.595 22.35-11.182 45.548-20.66 69.182-28.766 34.187-11.318 69.435-19.856 105.346-23.233m71.206 11.808c14.895 3.61 29.09 9.776 42.665 16.823 16.108 8.424 31.011 19.155 43.992 31.892 2.566 2.688 5.862 4.83 7.669 8.164-1.606-.249-3.675.783-4.925-.585-4.753-5.975-10.25-11.341-16.126-16.216-16.249-13.364-34.72-23.841-53.956-32.251-6.298-2.97-12.979-4.975-19.32-7.827zM394.9 325.22c15.944 8.19 29.885 19.956 41.315 33.714 2.796 3.062 5.328 6.323 7.76 9.671a230 230 0 0 0 12.144-22.288c-8.132-4.83-16.777-8.778-25.684-11.965-11.543-4.032-23.38-7.568-35.535-9.132" style="fill:#ccc;stroke-width:11.51525402"/></svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><g style="fill:#ccc"><path d="M2 1c-.554 0-1 .446-1 1v12c0 .554.446 1 1 1h3V5h5V1Zm9 0v14h3c.554 0 1-.446 1-1V2c0-.554-.446-1-1-1ZM6 6v9h4V6Z" style="color:#dfdfdf;fill:#ccc" transform="translate(-2.68 -2.782)scale(31.477)"/></g></svg>

After

Width:  |  Height:  |  Size: 312 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M46.38 24.407A22.33 22.33 0 0 0 24 46.787V449.62A22.33 22.33 0 0 0 46.38 472h402.834a22.33 22.33 0 0 0 22.38-22.38V46.786a22.33 22.33 0 0 0-22.38-22.38zm123.088 111.898 92.578 104.162 97.649-104.162 11.19 11.19-98.283 104.839 54.835 61.697 21.068-21.068 78.329 89.518H68.759l111.899-134.278 36.301 40.345 23.385-24.937-93.256-104.926ZM250.9 275.48l-23.32 24.87 53.786 59.753 23.691-23.691z" style="fill:#ccc;stroke-width:11.18983078"/></svg>

After

Width:  |  Height:  |  Size: 515 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M409.273 128.889 297.182 323.014l51.69-.135 30.69-52.91 85.397.27 13.057-22.673-12.786-22.168-59.996-.158 30.21-51.99Zm-250.46-80.303-26.163.027-12.804 22.158 29.861 52.036-60.13-.166-25.333 44.845 224.162.01-25.96-44.695-61.169-.125zm-.446 204.338-25.728 44.832 30.476 53.033-42.931 73.82 13.105 22.645 25.592.01 30.133-51.877 29.922 52.156 51.503-.482zM277.32 48.457l-51.504.482L337.89 243.076l25.726-44.832-30.474-53.033 42.931-73.82-13.107-22.645-25.59-.01-30.135 51.877zm-69.902 279.68 25.96 44.697 61.167.125 42.465 74.09 26.164-.03 12.805-22.156-29.862-52.035 60.13.166 25.333-44.846zm-8.6-155.18-51.69.135-30.69 52.91-85.397-.27-13.057 22.672 12.786 22.168 59.996.157-30.21 51.992 26.17 44.361z" style="display:inline;overflow:visible;fill:#474747;fill-rule:evenodd;stroke-width:3.2;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 895 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="1000" height="1000"><path d="M580 500c0 28.66-15.07 53.8-37.73 67.92C530.01 575.58 515.52 580 500 580c-44.18 0-80-35.82-80-80s35.82-80 80-80c15.52 0 30.01 4.42 42.27 12.08C564.93 446.2 580 471.34 580 500" style="fill:#fff"/><path d="M323.78 841.28c-1.1 1.89-2.24 3.739-3.45 5.56-1.29 1.97-2.64 3.9-4.06 5.79 1.21-2.09 2.49-4.13 3.83-6.13 1.18-1.78 2.41-3.52 3.68-5.22"/><path d="M323.78 841.28c-1.1 1.89-2.24 3.739-3.45 5.56a6 6 0 0 1-.23-.34c1.18-1.78 2.41-3.52 3.68-5.22"/><path d="M323.78 841.28c-1.1 1.89-2.24 3.739-3.45 5.56-1.29 1.97-2.64 3.9-4.06 5.79 1.21-2.09 2.49-4.13 3.83-6.13 1.18-1.78 2.41-3.52 3.68-5.22"/><path d="M900 500v280c0 .17 0 .33-.01.5C899.73 846.54 846.1 900 780 900h-15.57C705.51 892.36 660 841.99 660 781V534.29L780 500l-123.94-35.41C639.95 393.26 576.2 340 500 340c-88.37 0-160 71.63-160 160v80c0 44.18 35.82 80 80 80 66.27 0 120 53.73 120 120v133c0-24.6-7.4-47.47-20.1-66.5-21.51-32.25-58.22-53.5-99.9-53.5-39.38 0-74.34 18.97-96.22 48.28-1.27 1.7-2.5 3.439-3.68 5.22-1.34 2-2.62 4.04-3.83 6.13-18.93 25.42-47.71 43.09-80.7 47.37H220c-66.1 0-119.73-53.46-119.99-119.5-.01-.17-.01-.33-.01-.5V220c0-66.27 53.73-120 120-120 38.2 0 72.24 17.85 94.21 45.67C369.72 116.5 432.93 100 500 100c220.91 0 400 179.09 400 400" style="fill:#fff;fill-opacity:1"/><path fill="none" d="M540 915.67V913"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><path d="M247.781 5.588C114.741 5.588 6.876 113.44 6.876 246.493s107.866 240.905 240.905 240.905c133.04 0 240.905-107.853 240.905-240.905S380.821 5.588 247.781 5.588m1.13 45.405h.024c114.624 0 207.638 92.931 207.638 207.545 0 114.623-93.016 207.545-207.639 207.545-61.893 0-117.438-27.136-155.459-70.107 15.634-12.133 41.801-9.177 74.013-5.505 15.437 1.756 33.028 3.76 51.192 4.164 50.744.295 105.342-8.966 139.038-23.69 21.786-9.556 35.744-15.828 44.464-23.761 3.144-2.58 4.787-6.893 6.47-11.363l1.152-3.012c1.412-3.61 3.444-11.384 4.352-15.62.405-1.855.609-3.863-.705-4.894l-4.706.893c-14.786 8.867-51.732 25.756-86.34 26.444-42.88.896-129.322-43.174-138.332-47.829l-.894-1.058a26897 26897 0 0 0-17.832-42.323c62.22 40.968 113.789 63.642 153.318 67.166 43.953 3.906 78.24-20.094 92.903-30.348 2.862-1.953 5.056-3.48 5.953-3.812l.988-1.6c-2.446-15.453-25.519-90.212-42.888-108.171-4.818-4.926-8.64-9.703-16.421-14.28-62.852-36.63-212.075-58.697-219.073-59.71l-1.153.354-.447.987-.612 34.419c-5.12-1.695-21.014-6.89-43.758-13.128 29.68-36.72 75.163-69.307 154.754-69.307Zm54.862 109.842c1.059-.012 2.133-.036 3.2 0 35.209 1.265 62.864 30.924 61.66 66.108-.626 17.021-7.803 32.752-20.232 44.37-12.464 11.679-28.661 17.773-45.78 17.22-35.149-1.314-62.804-30.972-61.662-66.107.602-17.045 7.8-32.884 20.303-44.464 11.674-10.95 26.624-16.888 42.51-17.127m-1.694 18.82c-10.254.625-19.926 4.778-27.502 11.881-8.633 8.106-13.735 19.097-14.115 30.984-.81 24.562 18.42 45.225 42.958 46.134 11.924.369 23.242-3.8 31.948-11.88 8.682-8.143 13.724-19.239 14.092-31.078.823-24.599-18.48-45.18-43.029-46.04-1.486-.06-2.887-.084-4.352 0m11.716 22.28c10.906 0 19.691 5.927 19.691 13.221 0 7.259-8.785 13.222-19.691 13.222-10.942 0-19.785-5.976-19.785-13.222 0-7.295 8.843-13.221 19.785-13.221" style="fill:#ccc;stroke-width:12.04524803"/></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="1200" version="1.0" viewBox="0 0 900 900"><path d="M226.44 62.783 2.88 450l223.56 387.217h447.12L897.12 450 673.56 62.783ZM450 164.001A286.1 286 0 0 1 736.1 450 286.1 286 0 0 1 450 736a286.1 286 0 0 1-286.1-286A286.1 286 0 0 1 450 164.001" style="fill:#000;fill-opacity:1;stroke-width:.535948;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 405 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="824.2" height="794.2" viewBox="0 0 218.07 210.132"><g style="fill:#ccc;fill-opacity:1"><path d="M105.357 141.843h-.053l-40.322 14.393v22.225l40.322 24.633.027-.026.026.026 40.323-24.633v-22.225z" class="cls-3"/><path d="m96.494 129.963 1.058-22.7-26.38-27.914h68.343l-26.406 27.913 1.059 22.701 52.493 20.77 18.52-17.568-43.073-34.608 50.403 27.65 5.106-4.843L168.25 61.94l-62.92-22.464-62.917 22.463-29.369 59.425 5.133 4.842 50.377-27.649-43.048 34.608 18.52 17.568z" class="cls-3"/><path d="M105.33 141.843h-.026l-40.322 14.393v22.225l40.322 24.607h.027zM42.413 61.939l-29.369 59.425 5.133 4.842 50.377-27.649-43.048 34.608 18.52 17.568 52.468-20.77 1.058-22.7-26.38-27.914h34.159V39.476Z" class="cls-4"/><g class="cls-5" style="opacity:.5;fill:#ccc;fill-opacity:1"><path d="M65.167 25.982 62.336 41.09l19.367-16.06L0 0l32.12 25.982z" class="cls-6"/><path d="M61.86 0H0l81.703 25.03z" class="cls-7"/><path d="m145.52 25.982 2.832 15.108-19.368-16.06L210.688 0l-32.12 25.982z" class="cls-6"/><path d="M148.828 0h61.86l-81.704 25.03z" class="cls-7"/></g><path d="m112.739 210.106.026.026 40.323-24.633v-22.225l-7.408-2.619v17.806l-40.323 24.633-.026-.026-.027.026v-.026L72.39 182.986v2.513l40.296 24.607.026.026zM68.554 98.557l-45.8 25.136-2.302 4.71 5.054 4.762zm98.107 52.176-45.297-17.912.212 4.207 52.467 20.743 19.156-18.15-8.017-6.456zm-24.553-52.176 11.694 9.393 46.09 25.294 5.134-4.842-29.37-59.425-4.762-1.693 26.723 54.08-5.106 4.842zM81.703 25.03l-9.525 7.884-2.857 15.214 18.547-15.373zm-49.583.952 8.652 7.038h23.072l1.323-7.038zm104.696 5.556 18.706 15.478-2.62-13.996h33.047l32.12-25.982h-16.086l-23.416 18.944h-33.046l2.83 15.108zm-40.322 98.425-52.467 20.77 7.382 7.038 52.493-20.743 1.058-21.934-7.408-7.832zm43.021-50.614H71.173l6.667 7.064v-.027h55.007Z" class="cls-8"/></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><path d="M248.065 3.543A245.385 245.386 0 0 0 2.694 248.916a245.385 245.386 0 0 0 245.37 245.373A245.385 245.386 0 0 0 493.44 248.916 245.385 245.386 0 0 0 248.065 3.543M193.608 64.92c21.918-.488 31.105 4.366 43.85 12.155 19.37 12.17 33.11 31.144 38.208 53.05 5.096 21.905 3.566 39-2.544 51.17v.938c-12.236 24.826-32.628 44.792-61.175 54.528l24.51 60.84c4.587 11.195 8.672 22.866 5.103 33.575s-19.904 14.168-31.628 2.486c-22.43-22.88-97.874-166.975-103.481-177.684-5.608-10.71-11.752-19.51-11.752-30.219.516-16.064 26.54-32.62 39.284-40.895 12.746-8.275 37.71-19.457 59.632-19.944Zm-21.557 44.522c-13.708 2.417-5.54 32.175-2.407 40.694 3.569 9.736 13.268 30.136 23.974 40.358 2.544 2.435 5.065 4.416 8.125 4.902 3.06.488 9.204-2.417 11.751-6.312 2.544-3.894 3.095-6.85 3.095-10.744a65.251 62.308 0 0 0-1.066-23.37c-4.59-15.09-14.251-29.682-26.997-39.417-2.544-1.946-5.631-4.4-9.2-5.372-2.923-.912-5.292-1.083-7.251-.74zm198.701 17.325a45.993 48.03 0 0 1 24.982 12.826c6.13 5.87 6.677 12.275 4.631 20.28-2.028 8.005-9.218 25.062-14.839 37.336l-14.303 28.271c-27.598 51.232-33.23 56.588-40.897 53.386-9.197-3.735-6.133-54.943 2.545-117.381 2.544-17.078 6.683-25.614 11.284-29.883 4.596-4.27 18.414-6.436 26.59-4.835zm-48.148 184.13c13.543-3.734 19.656 9.582 16.854 19.542-.928 3.735-3.3 7.057-7.048 9.132-3.737 2.074-12.594 2.056-17.73-1.678-5.134-3.734-6.1-9.927-4.7-14.907 1.409-4.98 6.088-10.427 12.624-12.087zm-177.412 60.706H351.01c10.961 0 19.742 6.881 19.742 15.378s-8.78 15.31-19.742 15.31H145.192c-10.961 0-19.811-6.814-19.811-15.31s8.85-15.378 19.81-15.378" style="fill:#ccc;stroke-width:30.6731472"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M248.305 17.39A230.305 230.305 0 0 0 18 247.695 230.305 230.305 0 0 0 248.305 478 230.305 230.305 0 0 0 478.61 247.695 230.305 230.305 0 0 0 248.305 17.39M110.122 155.573h276.366v184.244H110.122Zm23.03 23.03v138.183h230.306V178.603Z" style="fill:#ccc;stroke-width:11.51525402"/></svg>

After

Width:  |  Height:  |  Size: 358 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M178.156 26.102c-51.676 0-95.004 16.766-95.004 68.27 0 24.008 9.17 48.542 24.123 67.967 5.879 6.107 5.514 9.917 3.711 17.025-3.203 11.614-7.932 25.48-12.277 35.666-30.107 28.98-36.713 80.294-9.731 113.582 10.65 17.114 6.86 42.07 21.318 59.035 14.418 20.283 36.288 38.019 61.861 40.112 17.578 24.4 46.897 39.532 76.599 40.241 29.701-.71 59.021-15.841 76.598-40.241 25.574-2.093 47.444-19.829 61.862-40.112 14.458-16.965 10.667-41.921 21.318-59.035 26.982-33.288 20.375-84.602-9.731-113.582-4.346-10.187-9.075-24.052-12.278-35.666-1.802-7.108-2.167-10.918 3.712-17.025 14.954-19.425 24.123-43.959 24.123-67.967 0-51.504-43.328-68.27-95.004-68.27-19.492 0-48.505 17.628-70.6 17.628s-51.108-17.628-70.6-17.628m5.869 55.237c6.788 2.522 10.279 5.784 13.96 8.998 1.248-1.69 3.185-2.937.863-7.013 4.82 2.786 8.449 6.075 11.134 9.753 2.982-1.904 1.774-4.505 1.79-6.905 5.01 4.087 8.193 8.42 12.084 12.666.784-.572 1.465-2.497 2.071-5.567 11.951 11.627 28.834 40.907 4.337 52.519-20.836-17.247-45.726-29.782-73.319-39.184 35.468 18.338 56.068 33.173 67.364 45.808-5.785 23.251-35.96 24.322-46.995 23.67 2.26-1.055 4.143-2.331 4.812-4.272-2.769-1.974-12.587-.195-19.441-4.057 2.633-.547 3.882-1.094 5.114-3.042-6.476-2.071-13.462-3.84-17.564-7.272 2.214.022 4.294.48 7.185-1.532-5.8-3.134-12-5.608-16.808-10.4 2.999-.077 6.223-.033 7.163-1.143-5.309-3.299-9.778-6.971-13.485-10.983 4.196.508 5.976.088 6.99-.647-4.012-4.123-9.1-7.608-11.522-12.688 3.116 1.077 5.972 1.498 8.027-.088-1.364-3.085-7.21-4.917-10.573-12.127 3.28.32 6.749.718 7.444 0-1.525-6.223-4.126-9.71-6.689-13.334 7.021-.11 17.658.01 17.176-.582l-4.337-4.445c6.857-1.852 13.872.303 18.966 1.898 2.287-1.81-.036-4.093-2.827-6.43 5.828.78 11.078 2.12 15.838 3.97 2.543-2.302-1.64-4.601-3.668-6.904 9.004 1.713 12.823 4.106 16.614 6.516 2.75-2.644.152-4.883-1.704-7.185zm134.015 0c-1.856 2.302-4.434 4.541-1.683 7.185 3.79-2.41 7.589-4.803 16.593-6.516-2.03 2.303-6.212 4.602-3.669 6.905 4.76-1.851 10.01-3.19 15.838-3.97-2.79 2.336-5.114 4.62-2.827 6.43 5.094-1.596 12.11-3.751 18.967-1.9l-4.337 4.445c-.482.595 10.154.478 17.175.583-2.562 3.623-5.163 7.11-6.689 13.334.696.718 4.164.32 7.444 0-3.363 7.21-9.209 9.041-10.573 12.127 2.055 1.584 4.911 1.163 8.027.088-2.422 5.08-7.488 8.565-11.5 12.687 1.014.734 2.772 1.156 6.969.648-3.707 4.012-8.177 7.684-13.486 10.982.94 1.106 4.165 1.07 7.164 1.144-4.809 4.792-10.987 7.265-16.787 10.4 2.891 2.011 4.95 1.56 7.163 1.532-4.102 3.431-11.066 5.2-17.542 7.271 1.232 1.95 2.46 2.496 5.093 3.043-6.854 3.862-16.673 2.083-19.441 4.056.668 1.941 2.552 3.218 4.811 4.273-11.034.651-41.21-.42-46.995-23.67 11.296-12.635 31.897-27.47 67.364-45.808-27.592 9.402-52.482 21.936-73.319 39.183-24.496-11.612-7.614-40.89 4.337-52.518.606 3.07 1.31 4.994 2.093 5.567 3.891-4.247 7.052-8.58 12.062-12.666.016 2.4-1.192 5 1.79 6.905 2.686-3.679 6.336-6.967 11.156-9.753-2.322 4.076-.407 5.323.841 7.012 3.682-3.213 7.172-6.475 13.96-8.997zm-67.558 95.78c17.37-.192 38.882 12.991 38.796 25.418-.077 10.969-15.092 19.848-38.645 19.679-23.064-.277-38.612-11.143-38.558-21.772.045-8.747 18.831-23.835 38.407-23.324m-59.1 7.401c3.883-.077 7.897.234 11.997.928 12.083 2.036-57.913 63.323-58.991 49.65-.962-31.21 19.814-50.07 46.994-50.577zM306 185.556c27.18.507 47.956 19.389 46.995 50.598-1.08 13.674-71.074-47.635-58.992-49.67 4.1-.694 8.114-1.001 11.997-.928m-11.565 38.083a45.047 38.138 56.427 0 1 29.56 80.634 45.047 38.138 56.427 1 1-49.562-75.218 45.047 38.138 56.427 0 1 20.002-5.416m-85.834 2.072a38.138 45.047 33.573 0 1 18.319 5.437 38.138 45.047 33.573 1 1-49.584 75.218 38.138 45.047 33.573 0 1 29.582-80.634 38.138 45.047 33.573 0 1 1.683-.022zm149.96 23.303c31.537 18.06 26.073 58.238 9.063 71.96-15.464 6.889-28.07-77.068-9.062-71.96m-219.61 1.035c19.007-5.108 6.4 78.87-9.063 71.981-17.01-13.722-22.474-53.92 9.062-71.981m113.797 54.05a42.484 39.288 0 0 1 41.233 39.27 42.485 39.289 0 0 1-84.97 0 42.484 39.288 0 0 1 43.737-39.27m92.652 14.63c3.318-.089 6.434.848 9.235 3.02 7.542 7.535 11.952 35.913-1.252 52.907-18.184 25.304-42.787 26.274-51.958 19.226-9.59-9.074-2.272-37.227 10.875-52.67 11.284-12.777 23.144-22.223 33.1-22.483m-190.72 6.02c10.696.46 23.504 8.932 33.962 21.102 12.151 14.681 17.693 40.492 7.552 48.095-9.593 5.805-32.895 3.402-49.455-20.455-11.167-20.018-9.718-40.384-1.877-46.369 2.932-1.79 6.252-2.527 9.818-2.373m97.01 70.32c17.068-.747 39.959 5.526 40.004 13.83.283 8.065-20.77 26.267-41.147 25.914-21.102.913-41.786-17.323-41.515-23.648-.315-9.274 25.698-16.522 42.658-16.097" style="fill:#ccc;stroke-width:11.0474577"/></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M252.19 75.203c-13.908 0-18.04 17.897-34.957 17.897-16.163 0-28.206-13.428-43.242-13.428-14.66 0-24.04 9.686-31.182 29.815 0 0-20.306 56.653-22.937 64.854-.041.162-.82 1.857-1.041 2.387-.376 1.504-.764 3.007-.388 4.51 0 22.178 88.637 95.117 206.295 95.117 30.072 0 74.526-6.41 74.526-42.12a66 66 0 0 0-.103-3.857l-1.51-6.448-18.039-77.527c-4.135-17.147-7.509-24.985-37.957-39.895-23.306-11.929-74.428-31.305-89.464-31.305M118.832 176.728c-1.648 3.945-6.709 14.955-7.571 18.326zm-8.122 19.611C70.505 198.214 18 205.701 18 251.5 18 326.8 198.057 420 340.9 420c109.388 0 136.829-49.192 136.829-87.587 0-30.94-26.697-65.222-74.812-86.097l-.694-2.939 1.183 5.53c4.135 19.924 4.123 21.797 4.123 24.428 0 33.831-38.429 52.63-88.424 52.63-112.77 0-213.07-66.165-213.07-109.77 0-6.014 1.145-12.013 3.776-17.652z" style="fill:#ccc;stroke-width:10.44838238"/></svg>

After

Width:  |  Height:  |  Size: 928 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><g style="fill:#ccc" transform="translate(-17.249 -5.746)scale(10.81219)"><path d="M24 4C12.954 4 4 12.954 4 24c0 4.38 1.407 8.43 3.795 11.725.115.158.24.292.36.437a20 20 0 0 1-.764-1.047c6.897.583 14.792.863 21.443-.103 6.134-.891 11.594-2.854 14.62-6.455a20 20 0 0 1-.86 2.756c.138-.333.278-.664.398-1.026A20 20 0 0 0 44 24c0-11.046-8.954-20-20-20m18.594 27.313-.014.039.002-.002zm-.014.039c-3.366 2.738-8.355 4.24-13.553 4.996-6.441.936-13.913.73-20.545.21 3.694 3.972 9.503 2.419 15.766 2.419 8.432 0 15.412-.673 18.332-7.625M8.482 36.559c-.113-.122-.219-.265-.328-.397a20 20 0 0 0 .29.395zm8.956-30.996c2.133 3.753 3.977 5.881 6.25 10 .226 2.625 1.153 16.247 1.25 17.5-.675-.056-4.267-.413-8.77-.881-2.455-.255-4.986-.547-7.04-.84l-3.253-.78c3.682-6.505 9.53-16.708 11.563-25m7.812 10.625s8.573 6.746 12.188 15c-4.398 2.168-8.453 1.89-10.938 1.875 1.765-4.532 1.762-10.67-1.25-16.876m5.938 3.75c1.554.427 3.321.967 5 1.562 3.043 1.08 5.87 2.563 7.5 4.063-.932 1.717-2.551 3.769-5 5 .262-2.57-.672-5.041-2.5-6.875-1.35-1.355-3.131-2.498-5-3.75" style="fill:#ccc"/><path d="M16.813 2.75c-3.01 9.831-7.459 19.187-12.5 28.125L4 31.5l.482.249c.423.196.98.328 1.733.479s1.681.3 2.723.45c2.084.297 4.624.588 7.09.844 4.929.512 9.556.886 9.556.886l.788.063-.06-.788S25.09 17.8 24.861 15.19l-.012-.141-.068-.125c-1.445-2.307-7.058-11.901-7.97-12.173m.625 2.813c2.133 3.753 3.977 5.882 6.25 10 .227 2.624 1.12 16.174 1.216 17.426-.675-.055-4.234-.341-8.738-.809-2.455-.255-4.984-.545-7.037-.838a51 51 0 0 1-2.649-.438c-.352-.07-.36-.275-.605-.341 3.682-6.506 9.531-16.709 11.563-25m10.042 12.019c3.14 2.1 5.811 5.34 7.755 7.291 1.943 1.95 2.854 3.87 2.115 6.556l-.344 1.255 1.224-.44c3.823-1.377 5.64-4.043 6.75-6.224l.313-.625-.625-.625c-1.864-1.962-4.742-3.263-8.082-4.447s-6.977-2.227-9.106-2.74m3.73 2.485c1.554.427 3.247.933 4.925 1.528 3.044 1.079 5.926 2.467 7.555 3.967-.932 1.717-2.352 3.697-4.802 4.928.263-2.57-.87-4.735-2.697-6.57-1.35-1.353-3.112-2.6-4.98-3.853" style="fill:#ccc;fill-rule:evenodd"/><circle cx="24.024" cy="23.977" r="20.024" fill="none" style="fill:#ccc;fill-opacity:0"/><path d="M42.71 30.572c-4.037 2.865-8.806 4.603-13.683 5.352-6.796.959-13.719.72-20.539.199-.05.118-.082.234-.119.35a20 20 0 0 0 15.434 7.517c.172 0 .348.002.517-.002a20 20 0 0 0 .578-.02q.41-.019.803-.052a20 20 0 0 0 1.479-.18c.094-.015.197-.026.289-.043a20 20 0 0 0 15.326-12.93c-.03-.063-.051-.127-.084-.19" style="fill:#ccc"/></g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" version="1.1" viewBox="0 0 767.407 738.314"><defs id="defs4"><style id="style2">.cls-1{fill:#e9500e}</style></defs><circle id="circle6" cx="109.027" cy="348.094" r="109.027" class="cls-1" style="fill:#ccc;fill-opacity:1"/><circle id="circle8" cx="563.084" cy="109.027" r="109.027" class="cls-1" style="fill:#ccc;fill-opacity:1"/><path id="path10" d="M492.482 1336.666a265.52 265.52 0 0 1-181.071-138.098 156.95 156.95 0 0 1-93.22 11.458A354.94 354.94 0 0 0 473.73 1424.19a359.2 359.2 0 0 0 77.42 7.967 156 156 0 0 1-31.923-91.154 271 271 0 0 1-26.744-4.337" class="cls-1" style="fill:#ccc;fill-opacity:1" transform="translate(-137.562 -707.98)"/><circle id="circle12" cx="538.52" cy="629.287" r="109.027" class="cls-1" style="fill:#ccc;fill-opacity:1"/><path id="path14" d="M827.798 1297.22a356.7 356.7 0 0 0 17.875-418.518 157.14 157.14 0 0 1-61.31 71.803 267.29 267.29 0 0 1-8.737 265.489 156.35 156.35 0 0 1 52.172 81.227" class="cls-1" style="fill:#ccc;fill-opacity:1" transform="translate(-137.562 -707.98)"/><path id="path16" d="M98.923 191.74q4.151-.229 8.306-.226a157.35 157.35 0 0 1 82.682 23.545 265.9 265.9 0 0 1 214.108-114.51 158.1 158.1 0 0 1 33.076-88.42C299.992 1.272 166.771 72.021 98.923 191.74" class="cls-1" style="fill:#ccc;fill-opacity:1"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496"><path d="M42.868 18.644A22.82 22.82 0 0 0 20 41.512v411.62A22.82 22.82 0 0 0 42.868 476h411.62a22.82 22.82 0 0 0 22.868-22.868V327.36H225.81V18.644Zm228.678 0v285.848h205.81V41.512a22.82 22.82 0 0 0-22.868-22.868z" style="fill:#ccc;stroke-width:11.43389797"/></svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="496" height="496" version="1"><path d="m125 542 62.353 108h375.29L625 542Zm625-217.002L687.103 434H288l399.103-218Zm-750 .004L62.897 216H462L62.897 434ZM125 108 187.353 0h375.29L625 108Z" style="fill:#ccc;fill-opacity:1" transform="matrix(.6478 0 0 .6318 5.077 42.667)"/></svg>

After

Width:  |  Height:  |  Size: 324 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.5 28.5 0 0 0 3.5 32 28.5 28.5 0 0 0 32 60.5 28.5 28.5 0 0 0 60.5 32 28.5 28.5 0 0 0 32 3.5m-1.425 5.7c1.124.01 2.246.103 3.357.278-1.574.4-3.357 1.375-3.357 3.852 0 4.42 5.7 4.42 5.7 4.42s2.85 0 2.85 2.85-2.85 2.85-2.85 2.85h-11.4s-5.7-.087-5.7 4.23 5.7 4.32 5.7 4.32h8.55s5.7.136 5.7 4.342-5.7 4.208-5.7 4.208h-5.7s-2.85 0-2.85 2.85 2.85 2.85 2.85 2.85h2.85s2.85 0 2.85 1.553c0 1.297-2.85 1.297-2.85 1.297h-5.7s-2.85-.001-2.85 1.614c0 1.235 2.85 1.236 2.85 1.236h5.7s2.85.314 2.85 1.58c0 1.268-2.85 1.27-2.85 1.27-12.592 0-22.8-10.208-22.8-22.8s10.208-22.8 22.8-22.8" style="fill:#ccc;stroke-width:2.85"/></svg>

After

Width:  |  Height:  |  Size: 695 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M44.906 42.277c-9.714 4.961-19.712 9.617-30.326 12.098-3.42-.017-1.733-4.62-1.18-6.705 2.654-8.858 6.769-17.15 10.682-25.467 1.55-2.627 2.649-6.248 5.773-7.259 3.034-.348 5.028 2.683 6.6 4.896 6.427 10.17 12.497 20.605 17.82 31.435a644 644 0 0 1 3.975 8.502C54.364 43.39 49.133 27.134 40.702 12.59c-1.89-2.873-3.611-5.99-6.163-8.301-2.485-1.972-5.54.151-7.378 2.06-5.772 5.98-9.287 13.783-12.732 21.316-4.017 8.918-6.653 18.424-8.587 28.024-.679 3.234 2.54 5.581 5.401 4.578 7.924-1.703 15.37-5.274 22.379-9.374 4.039-2.45 7.923-5.233 11.283-8.616z" style="fill:#ccc;stroke-width:1.5"/></svg>

After

Width:  |  Height:  |  Size: 664 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5c-11.018 0-19.95 8.932-19.95 19.95C12.05 43.4 23.45 60.5 32 60.5s19.95-17.1 19.95-37.05C51.95 12.432 43.018 3.5 32 3.5M16.999 33.428c.239.01.555.055.976.117 3.53.517 6.35 2.4 8.414 5.619 1.105 1.724 2.953 6.374 2.744 6.908-.075.194-.231.215-1.04.136-3.306-.323-6.588-1.974-8.668-4.358-1.932-2.217-2.812-4.283-3.061-7.18-.086-1.007-.083-1.275.635-1.242m30.002 0c.718-.033.721.235.635 1.241-.249 2.898-1.129 4.964-3.061 7.18-2.08 2.385-5.362 4.036-8.667 4.36-.81.078-.966.057-1.041-.137-.209-.534 1.639-5.184 2.744-6.908 2.064-3.22 4.884-5.102 8.414-5.62.42-.061.737-.105.976-.116" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 703 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.44 28.44 0 0 0 3.5 32 28.44 28.44 0 0 0 32 60.5 28.44 28.44 0 0 0 60.5 32 28.44 28.44 0 0 0 32 3.5M17.75 16.325h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85H43.4a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m-25.65 11.4h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85H43.4a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m-25.65 11.4h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85h-2.85a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85m12.825 0h2.85a2.844 2.844 0 0 1 2.85 2.85v2.85a2.844 2.844 0 0 1-2.85 2.85H43.4a2.844 2.844 0 0 1-2.85-2.85v-2.85a2.844 2.844 0 0 1 2.85-2.85" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M31 11a7 7 0 0 1-7 7 7 7 0 0 1-7-7 7 7 0 0 1 7-7 7 7 0 0 1 7 7m0 26a7 7 0 0 1-7 7 7 7 0 0 1-7-7 7 7 0 0 1 7-7 7 7 0 0 1 7 7m6-6a7 7 0 0 1-7-7 7 7 0 0 1 7-7 7 7 0 0 1 7 7 7 7 0 0 1-7 7m-26 0a7 7 0 0 1-7-7 7 7 0 0 1 7-7 7 7 0 0 1 7 7 7 7 0 0 1-7 7" style="fill:#ccc" transform="translate(-2.2 -2.2)scale(1.425)"/></svg>

After

Width:  |  Height:  |  Size: 389 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M33.071 3.52a28.5 28.5 0 0 0-20.755 7.87 28.5 28.5 0 0 0-.925 40.296 28.5 28.5 0 0 0 40.293.924 28.5 28.5 0 0 0 .927-40.293A28.5 28.5 0 0 0 33.07 3.52M16.572 14.858H47.43c.95 0 1.713.764 1.713 1.714v6.857a1.71 1.71 0 0 1-1.713 1.713H16.572a1.71 1.71 0 0 1-1.715-1.713v-6.857c0-.95.766-1.714 1.715-1.714m0 13.714h17.144c.95 0 1.713.764 1.713 1.714v17.143a1.71 1.71 0 0 1-1.713 1.714H16.572a1.71 1.71 0 0 1-1.715-1.714V30.286c0-.95.766-1.714 1.715-1.714m24 0h6.858c.95 0 1.713.764 1.713 1.714v17.143a1.71 1.71 0 0 1-1.713 1.714h-6.857c-.95 0-1.716-.764-1.716-1.714V30.286c0-.95.766-1.714 1.716-1.714" style="fill:#ccc;fill-opacity:1;stroke-width:1.42498"/></svg>

After

Width:  |  Height:  |  Size: 732 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g style="fill:#ccc" transform="translate(-23.77 -21.297)scale(1.7373)"><rect width="32.81" height="9.843" x="15.697" y="14.274" rx="1.64" ry="1.64" style="fill:#ccc;stroke-width:1.64048"/><rect width="9.843" height="19.686" x="38.664" y="27.397" rx="1.64" ry="1.64" style="fill:#ccc;stroke-width:1.64048"/><rect width="19.686" height="19.686" x="15.697" y="27.397" rx="1.64" ry="1.64" style="fill:#ccc;stroke-width:1.64048"/></g></svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g style="fill:#ccc"><path d="M32.072.361A31.82 31.82 0 0 0 .252 32.18 31.82 31.82 0 0 0 32.072 64a31.82 31.82 0 0 0 31.82-31.82A31.82 31.82 0 0 0 32.073.36m-3.968 11.803h8.125q2.812 0 5.125 1.906 2.312 1.907 2.312 4.688v33.437H38.01v-17H26.135v17h-5.656V18.758q0-2.844 2.375-4.719t5.25-1.875m.375 4.938q-1.22 0-1.782.78-.562.782-.562 1.907v10.594H38.01V19.789q0-1.125-.656-1.906-.625-.781-1.813-.781z" style="fill:#ccc;fill-opacity:1;stroke:none;stroke-width:1.97198;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" transform="translate(3.274 3.176)scale(.89565)"/></g></svg>

After

Width:  |  Height:  |  Size: 670 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g style="fill:#ccc"><path d="M-19.916 34.267a145.24 145.24 0 0 0-145.233 145.241A145.24 145.24 0 0 0-19.916 324.75 145.24 145.24 0 0 0 125.33 179.508 145.24 145.24 0 0 0-19.916 34.267m-11.62 42.459c34.05 0 58.055 12.197 77.41 39.463V81.385h26.529V277.62h-26.53v-34.44c-20.787 27.982-42.282 39.11-75.615 39.11-60.213 0-105.016-43.765-105.016-102.243 0-58.836 44.443-103.322 103.223-103.322m.716 24.396c-42.651 0-77.057 34.439-77.057 77.13 0 44.846 34.044 79.643 78.487 79.643 42.293 0 75.264-34.804 75.264-79.29 0-43.768-33.685-77.483-76.694-77.483" style="fill:#ccc;fill-opacity:1;stroke:none;stroke-width:11.2693;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" transform="matrix(.19623 0 0 .19604 35.907 -3.19)"/></g></svg>

After

Width:  |  Height:  |  Size: 820 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g style="fill:#ccc"><path d="M-88.814 36.537c-16.5 0-29.907 13.407-29.907 29.904 0 16.498 13.407 29.903 29.907 29.903 16.499 0 29.908-13.405 29.908-29.903s-13.41-29.904-29.908-29.904m0 3c14.878 0 26.908 12.028 26.908 26.904s-12.03 26.903-26.908 26.903-26.907-12.027-26.907-26.903 12.028-26.904 26.907-26.904" style="color:#000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;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:#000;solid-opacity:1;fill:#ccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;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" transform="translate(116.635 -31.314)scale(.95295)"/><path d="m-112.055 83.987 11.606-.066 11.459-26.66 11.753 26.526 11.606-.066-17.624-38.766-11.606.067z" style="color:#000;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:#000;solid-opacity:1;fill:#ccc;fill-opacity:1;fill-rule:nonzero;stroke-width:.857143;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" transform="translate(116.635 -31.314)scale(.95295)"/><path d="m-91.691 63.014-6.373 12.048 9.692-.072-.09-12z" style="color:#000;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:#000;solid-opacity:1;fill:#ccc;fill-opacity:1;fill-rule:nonzero;stroke-width:.857143;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" transform="translate(116.635 -31.314)scale(.95295)"/></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M7.313 3.5 32 17.74l24.687 14.241-24.676 14.26L7.334 60.5 7.324 32ZM9.45 19.242l.001 4.18 15.829 5.122.001 6.174-15.825 5.428.001 4.18 9.232-3.227.002 3.137 3.956-.04-.001-4.474 2.637-.928.002 5.376 3.958-.039-.003-6.716 17.144-5.995-17.147-5.658-.003-6.714-3.956.039.002 5.375-2.638-.874-.002-4.475-3.957.038.002 3.136zm19.787 10.583 5.277 1.711-5.276 1.818z" style="fill:#ccc;stroke-width:4.09521"/></svg>

After

Width:  |  Height:  |  Size: 479 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.5 28.5 0 0 0 4.82 23.45H20.6l2.85-7.125 2.85 7.125h11.4l2.85-7.125 2.85 7.125h15.753A28.5 28.5 0 0 0 32 3.5m27.153 19.95a29 29 0 0 1 .699 2.658 29 29 0 0 0-.7-2.658m-54.334 0a29 29 0 0 0-.584 2.23 29 29 0 0 1 .584-2.23m-.726 2.792a29 29 0 0 0-.323 2.073 29 29 0 0 1 .323-2.073m55.836.214a29 29 0 0 1 .329 2.12 29 29 0 0 0-.329-2.12M3.656 29.058a29 29 0 0 0-.092 1.673 29 29 0 0 1 .092-1.673m56.708.39A29 29 0 0 1 60.5 32a29 29 0 0 0-.136-2.552m-35.489 1.127v5.7h2.85v-5.7Zm11.4 0v5.7h2.85v-5.7ZM3.5 32a29 29 0 0 0 .136 2.552A29 29 0 0 1 3.5 32m56.936 1.27a29 29 0 0 1-.092 1.672 29 29 0 0 0 .092-1.673M3.742 35.422a29 29 0 0 0 .329 2.121 29 29 0 0 1-.329-2.12m56.488.262a29 29 0 0 1-.323 2.073 29 29 0 0 0 .323-2.073M4.148 37.892a29 29 0 0 0 .7 2.658 29 29 0 0 1-.7-2.658m.7 2.658A28.5 28.5 0 0 0 32 60.5a28.5 28.5 0 0 0 27.18-19.95H36.276L32 46.25l-4.275-5.7zm54.333 0a29 29 0 0 0 .584-2.23 29 29 0 0 1-.584 2.23" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M16 5C9.352 5 4 10.352 4 17v16c0 6.648 5.352 12 12 12h16c6.648 0 12-5.352 12-12V17c0-6.648-5.352-12-12-12Zm-3.105 4c.227.841.433 1.69.74 2.508.662 1.817 2.31 3.987 4.306 4.674 1.506-1.865 3.22-3.582 4.897-5.274q-1.484 2.482-2.965 4.965c-2.032 3.473-3.892 7.043-5.88 10.541-.574.874-1.21 2.452-1.764 2.924.473-2.605 1.222-5.166 2.318-7.582.481-1.201 1.099-2.32 1.797-3.387-.657-.482-1.287-1.34-1.668-1.822-1.403-2.235-1.8-4.954-1.781-7.547m22.21 0c.02 2.593-.378 5.312-1.78 7.547-.382.481-1.012 1.34-1.669 1.822.698 1.067 1.316 2.186 1.797 3.387 1.096 2.416 1.845 4.977 2.318 7.582-.555-.472-1.19-2.05-1.763-2.924-1.99-3.498-3.85-7.068-5.881-10.541q-1.481-2.483-2.965-4.965c1.677 1.692 3.391 3.409 4.897 5.274 1.996-.687 3.644-2.857 4.306-4.674.307-.818.513-1.667.74-2.508M23.05 10.758v.152c-.696 3.346-1.543 6.674-2.307 10.01-.361 1.293-.519 2.672-1.015 3.908-1.76 1.26-3.515 2.526-5.291 3.762-.36.122-1.576 1.393-1.415.777 3.297-6.226 6.664-12.418 10.028-18.61m1.902 0c3.364 6.191 6.731 12.383 10.028 18.61.161.615-1.055-.656-1.415-.778-1.776-1.236-3.532-2.501-5.29-3.762-.497-1.236-.655-2.615-1.016-3.908-.764-3.336-1.611-6.664-2.307-10.01zm-3.62 17.545c-.291.769-.638 1.525-.718 2.355-.377 2.262.832 4.355 2.1 6.121-1.462-.641-2.83-1.51-4.078-2.504-1.03-.806-2.1-2.12-1.537-3.498.946-1.41 2.676-1.993 4.232-2.474m5.339 0c1.556.481 3.286 1.064 4.232 2.474.563 1.378-.507 2.692-1.537 3.498-1.247.994-2.616 1.863-4.078 2.504 1.268-1.766 2.477-3.859 2.1-6.12-.08-.831-.427-1.587-.717-2.356M11 32.178l5.584.476c-.983.476-2.017.867-2.938 1.455.378 2.331 1.144 4.591 1.649 6.891-.985-1.987-1.956-3.982-2.95-5.965-.393-.913-1.328-2.136-1.345-2.857m26 0c-.016.721-.952 1.944-1.346 2.857-.993 1.983-1.964 3.978-2.949 5.965.505-2.3 1.271-4.56 1.649-6.89-.921-.59-1.955-.98-2.938-1.456z" style="opacity:1;fill:#ccc" transform="translate(-1.366 -2.061)scale(1.39024)"/><path d="M16 4C9.352 4 4 9.352 4 16v1C4 10.352 9.352 5 16 5h16c6.648 0 12 5.352 12 12v-1c0-6.648-5.352-12-12-12Z" style="opacity:.1;fill:#fff" transform="translate(-1.366 -2.061)scale(1.39024)"/></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.5 28.5 0 0 0 3.5 32 28.5 28.5 0 0 0 32 60.5 28.5 28.5 0 0 0 60.5 32 28.5 28.5 0 0 0 32 3.5m0 4.275A24.225 24.225 0 0 1 56.225 32 24.225 24.225 0 0 1 32 56.225 24.225 24.225 0 0 1 7.775 32 24.225 24.225 0 0 1 32 7.775m-.05 2.85c-2.35-.013-4.542.535-5.6 1.133l.003.016c.09.54.3 1.377.59 2.363.581 1.973 1.488 4.576 2.433 7.148 1.259 3.427 1.875 4.908 2.621 6.782.755-1.872 1.384-3.359 2.653-6.788.95-2.57 1.858-5.17 2.432-7.139.288-.984.491-1.818.574-2.349-1.122-.597-3.358-1.153-5.706-1.166m-10.27 3.067c-1.17.326-3.107 1.489-4.76 3.159-1.65 1.67-2.837 3.641-3.208 4.857.433.317 1.166.765 2.065 1.258 1.798.985 4.28 2.18 6.771 3.326 3.321 1.527 4.813 2.135 6.672 2.925-.798-1.853-1.41-3.339-2.942-6.652-1.15-2.487-2.35-4.966-3.335-6.772-.492-.903-.935-1.642-1.252-2.087-.006-.008-.006-.006-.011-.014m20.64 0-.01.014c-.318.445-.761 1.185-1.253 2.087-.985 1.806-2.184 4.286-3.335 6.772-1.533 3.313-2.144 4.799-2.941 6.652 1.858-.79 3.35-1.398 6.67-2.925 2.491-1.145 4.974-2.34 6.772-3.326.9-.493 1.632-.941 2.066-1.258-.372-1.216-1.559-3.188-3.21-4.857s-3.588-2.833-4.759-3.159M11.758 26.35c-.598 1.058-1.146 3.25-1.133 5.6.013 2.348.57 4.584 1.166 5.705.53-.082 1.365-.286 2.35-.573 1.968-.575 4.567-1.481 7.138-2.432 3.43-1.27 4.916-1.898 6.788-2.653-1.874-.746-3.355-1.363-6.782-2.622-2.572-.944-5.175-1.851-7.148-2.432-.986-.29-1.824-.5-2.363-.59zm40.484 0-.016.003c-.54.09-1.377.3-2.363.59-1.973.581-4.576 1.488-7.148 2.433-3.427 1.259-4.908 1.875-6.782 2.621 1.872.755 3.359 1.384 6.788 2.653 2.57.95 5.17 1.858 7.139 2.432.984.288 1.818.491 2.349.574.597-1.122 1.153-3.358 1.166-5.706.013-2.35-.535-4.542-1.133-5.6m-23.025 8.43c-1.853.798-3.339 1.41-6.652 2.942-2.487 1.15-4.966 2.35-6.772 3.335-.903.492-1.642.935-2.087 1.252-.008.006-.006.006-.014.011.326 1.17 1.489 3.107 3.159 4.76 1.669 1.65 3.641 2.837 4.857 3.208.317-.433.765-1.166 1.258-2.065.985-1.798 2.18-4.281 3.326-6.771 1.527-3.321 2.135-4.813 2.925-6.672m5.566 0c.79 1.859 1.398 3.35 2.925 6.672 1.146 2.49 2.34 4.973 3.326 6.771.493.9.941 1.632 1.258 2.065 1.216-.371 3.188-1.558 4.857-3.209s2.833-3.588 3.159-4.759l-.014-.01c-.445-.318-1.185-.761-2.087-1.253-1.806-.985-4.286-2.184-6.772-3.335-3.313-1.533-4.799-2.144-6.652-2.941Zm-2.786 1.153c-.746 1.874-1.363 3.355-2.622 6.782-.944 2.572-1.851 5.175-2.432 7.148-.29.986-.5 1.824-.59 2.363l-.003.016c1.058.598 3.25 1.146 5.6 1.133 2.348-.013 4.583-.57 5.705-1.166-.082-.53-.286-1.365-.573-2.35-.575-1.968-1.481-4.567-2.433-7.138-1.268-3.43-1.897-4.916-2.652-6.788" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M21.525 10c-4.543 0-8.436 2.899-10.045 6.904C7.182 18.366 4 22.354 4 27.104 4 33.045 8.904 38 14.86 38h18.28C39.097 38 44 33.045 44 27.104s-4.904-10.895-10.86-10.895h-.076l-.078.002c-.147.005-.273.079-.42.09-.535-.317-1.048-.629-1.642-.838C28.264 12.329 25.442 10 21.525 10m0 5c2.9 0 5.31 2.12 5.778 4.904.168-.015.342-.019.523-.029 1.427 0 2.697.671 3.518 1.717a5.1 5.1 0 0 1 1.797-.383c3.236 0 5.859 2.638 5.859 5.895S36.378 33 33.14 33H14.86C11.622 33 9 30.36 9 27.104c0-3.257 2.623-5.895 5.86-5.895q.437.046.837.127a5 5 0 0 1-.031-.44c0-3.256 2.623-5.896 5.86-5.896" style="fill:#ccc" transform="translate(-2.2 -2.2)scale(1.425)"/><path d="M21.525 10c-4.543 0-8.436 2.899-10.045 6.904C7.182 18.366 4 22.354 4 27.104c0 .152.017.3.023.45.236-4.504 3.326-8.245 7.457-9.65C13.09 13.9 16.982 11 21.525 11c3.917 0 6.739 2.329 9.399 5.463.594.209 1.108.52 1.642.838.147-.011.273-.085.42-.09l.078-.002h.077c5.786 0 10.566 4.679 10.834 10.394.007-.166.025-.33.025-.5 0-5.941-4.904-10.894-10.86-10.894h-.076l-.078.002c-.147.005-.273.079-.42.09-.535-.317-1.048-.629-1.642-.838C28.264 12.329 25.442 10 21.525 10" style="opacity:.1;fill:#fff" transform="translate(-2.2 -2.2)scale(1.425)"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 46.901c-3.21-4.03 6.36-7.561 5.734-10.583-2.87-11.196-4.84-10.708-7.71.488-.693 3.085 2.103 2.517-1.041 6.484zm17.578 9.317c-5.352 2.33-10.646-1.384-15.179-6.421 13.22-16.549 5.867-25.446-2.398-25.446-6.988 0-10.835 5.917-9.324 12.786.882 3.714 3.21 7.938 6.925 12.66-4.138 4.587-7.703 6.704-10.833 6.988-6.362.945-11.338-5.225-9.072-11.59 1.921-4.982 14.214-29.413 14.742-30.734 2.004-3.826 3.252-7.303 7.555-7.303 4.115 0 5.522 3.3 7.681 7.617 4.58 8.985 11.368 22.581 14.612 30.42 1.675 4.208-.175 9.07-4.71 11.023m5.98-17.318C39.16 4 38.252 3.5 32 3.5c-5.792 0-8.254 4.03-10.772 9.261C7.722 39.774 6.413 43.602 6.3 43.935 3.091 52.756 9.702 60.5 17.704 60.5c2.762 0 7.711-.771 14.297-7.94 7.466 8.115 12.883 7.94 14.297 7.94 8.001.006 14.612-7.744 11.4-16.565.004-.494-2.14-4.949-2.14-5.035z" style="fill:#ccc;stroke-width:.127231"/></svg>

After

Width:  |  Height:  |  Size: 919 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="m29.15 23.45 5.7 17.1-11.4 11.4L3.5 32l19.95-19.95 4.987 4.987-2.85 2.85-2.137-2.137L9.2 32l14.25 14.25 5.733-5.733L20.6 32Zm11.4-11.4-11.4 11.4 5.7 17.1L43.4 32l-8.583-8.517 5.733-5.733L54.8 32 40.55 46.25l-2.137-2.137-2.85 2.85 4.987 4.987L60.5 32Z" style="fill:#ccc;stroke-width:.111328"/></svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5c-1.492 0-2.987.557-4.103 1.673L5.173 27.899c-2.232 2.232-2.23 5.967.003 8.199L27.9 58.825c2.232 2.232 5.972 2.234 8.204.002l22.721-22.726c2.232-2.232 2.232-5.97 0-8.202L36.104 5.173C34.988 4.057 33.494 3.5 32 3.5m0 4.071c.57 0 1.14.211 1.565.637l8.654 8.66c.85.85.85 2.272 0 3.122l-8.654 8.66c-.85.85-2.275.847-3.126-.003l-8.657-8.657c-.85-.85-.853-2.272-.002-3.123l8.657-8.66A2.2 2.2 0 0 1 32 7.572M18.43 21.143c.568 0 1.135.21 1.56.636l8.66 8.657c.425.425.636.995.636 1.564s-.21 1.139-.636 1.564l-8.66 8.654a2.23 2.23 0 0 1-3.122 0l-8.66-8.654c-.85-.85-.847-2.275.003-3.125l8.657-8.657a2.2 2.2 0 0 1 1.561-.64m27.142 0c.568 0 1.136.21 1.561.636l8.66 8.657c.425.425.636.995.636 1.564s-.21 1.139-.636 1.564l-8.66 8.654a2.23 2.23 0 0 1-3.122 0l-8.66-8.654c-.85-.85-.848-2.275.003-3.125l8.657-8.657a2.2 2.2 0 0 1 1.561-.64m-13.57 13.573c.568 0 1.138.211 1.564.636l8.654 8.66c.85.85.85 2.272 0 3.123l-8.654 8.66c-.85.85-2.275.847-3.126-.003l-8.657-8.657c-.85-.85-.853-2.273-.002-3.123l8.657-8.66A2.2 2.2 0 0 1 32 34.714" style="fill:#ccc;stroke-width:1.35714"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M39.114 7.778c-2.552.034-4.634.656-7.977 1.79-2.615.886-3.884 1.01-5.354 1.151-1.25.121-2.669.257-4.92.83-6.486 1.65-9.536 4.268-11.267 5.986-1.351 1.341-1.895 2.707-1.82 3.816-.322.161-.494.34-.849.526-2.377 1.244-3.2 1.823-3.39 2.814-.14.73.12 1.21.726 1.865.98.91 1.537 1.168 3.076 1.168 1.123 0 1.43-.342 2.814-.645 1.224-.269 2.747-.604 3.904-.716 1.47-.141 2.942-.004 5.16.43.657.128 1.402.272 2.218.42 1.05.189 2.143.57 3.251.57.943 0 2.348.04 3.028-.047.494.923 1.314 2.877 2.636 4.45 3.448 4.103 6.453 4.094 6.866 4.097.746.01 1.449-.214 1.792-.821a1.66 1.66 0 0 0-.156-1.885c-.009-.011-.75-1.166-1.105-3.022-.1-.529-.055-.975-.047-1.397 4.59 1.335 11.863 5.4 12.794 9.83l.03 1.567c-.21-.009-.85-.011-1.17-.011-.836 0-1.738.083-2.762.245-3.325.526-5.26 2.673-5.485 2.916-.522.561-.645 1.924-.27 2.575.372.645 1.104 1.028 1.903.965h.04c5.084.703 11.533 3.875 13.623 7.924.326.646 1.035 1.055 1.809 1.055q.075 0 .15-.006c.83-.056 1.535-.576 1.765-1.302.058-.188.57-1.898.29-4.278v-.003c-.223-1.87-1.197-3.455-1.98-4.728-.275-.448-.594-.702-.787-1.08-.021-11.563-4.836-25.348-15.675-31.338.866-.373 3.261-.608 4.125-.766.645-.117 1.184-.516 1.441-1.066a1.66 1.66 0 0 0-.156-1.68c-.336-.478-2.137-1.63-5.499-2.035a21 21 0 0 0-2.772-.164m-26.35 9.972a2.137 2.137 0 0 1 2.137 2.137 2.137 2.137 0 0 1-2.138 2.138 2.137 2.137 0 0 1-2.137-2.138 2.137 2.137 0 0 1 2.137-2.137" style="fill:#ccc;stroke-width:1.42497"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M6.35 3.5A2.844 2.844 0 0 0 3.5 6.35v51.3a2.844 2.844 0 0 0 2.85 2.85h51.3a2.844 2.844 0 0 0 2.85-2.85V6.35a2.844 2.844 0 0 0-2.85-2.85zm6.026 10.284c2.941 2.894 5.84 5.835 8.792 8.72.228.122.029.147-.053.27-.61.384-1.197 1.881-1.84.804-1.165-1.172-.008.16.276.651-1.9 2.025-3.938 3.957-5.892 5.945-.484 1.036-1.007-.227-1.528-.581-.127-2.123-.017-4.298-.053-6.44.112-.495-.264-2.114.264-1.712 1.625 1.476-.604-.434-.211-1.264.593.818.475.406.08-.17.758.604.458.34-.094-.506-.093-1.212-.013-2.438-.04-3.655.125-.66-.288-1.686.299-2.062m39.251.153c.512.135.25 2.206.256 2.992.513.88-2.119 3.606-.036 2.49.123 1.126.022 2.276.056 3.41.224.87-.565 1.344-1.083 1.893.237-.28.577-.445.854-.682.891.349-.622 2.12-1.739 2.906-.162.221.985-.725 1.31-1.01.642-.781.76-.425.658.411-.079 1.13.175 2.331-.162 3.407-5.51 5.509-11.077 10.96-16.604 16.451-1.454.793-3 4.772-4.573 2.3-1.112-.119.142-1.62-.63-.894-.667-.4 1.254-1.829 1.649-2.641.252-.497-1.688 1.549-2.3 2.098-.89-.222-2.32-1.756-2.696-2.758-.988-1.06-2.64-2.05-2.227-3.354 2.467-2.41 4.82-4.943 7.373-7.261 3.144-3.12 6.093-6.453 9.454-9.352 3.026-3.434 6.337-6.602 9.63-9.777.382-.505.64-.674.81-.629m-19.471.843c.045.018.072.064.058.15-.338 1.428 1.428-.675.986 1.047.444.08 1.8.51 1.753 1.7 1.32.257 1.985 1.363.715 2.283.579-.33 1.658-1.335.596-.1-1.207 1.833.292-.002 1.03-.387 1.14.95 1.829 2.207 2.989 2.964-3.323 3.594-6.928 7.02-10.443 10.462-2.546 1.825-4.141 4.657-6.671 6.488-2.167 2.434-4.54 4.672-6.813 7.005-1.382 1.076-2.56 3.198-4.072 3.68-.094-3.704-.095-7.46-.017-11.18.597-1.595 2.267-2.621 3.245-4.025.115-.548-1.722 1.279-2.28 1.667-1.542 1.872-.721-1.064-.979-2.07 3.046-3.166 6.244-6.217 9.324-9.364 1.787-1.915 3.78-3.625 5.533-5.569 1.613-1.421 3.059-3.013 4.665-4.442-.062-.156.245-.361.38-.309m18.692 18.592c.356.12.719.945 1.055 1.035v2.923c-.087.653.333 2.63-.649 1.244-1.477-1.298.33.476.649 1.083v7.467c.285 1.84-1.45-.633-2.171-.955-.11-.023 1.417 1.627 2.01 2.199-.032.506.394 1.962-.332 1.84-2.053-1.87-3.976-3.916-5.97-5.862-.911-.987-2.053-1.872-2.844-2.903l7.898-7.901c.117-.17.235-.21.354-.17" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.44 28.44 0 0 0 3.5 32 28.44 28.44 0 0 0 32 60.5 28.44 28.44 0 0 0 60.5 32 28.44 28.44 0 0 0 32 3.5M20.695 19.175h5.104c-4.767 2.3-8.049 7.16-8.049 12.825 0 5.292 2.864 9.883 7.125 12.34v-1.85c-.405-.427-.698-.99-.754-1.561-.082-.831.202-1.516.88-2.127l.411-.37-.261-1.33c-.33-1.665-.958-2.722-2.043-3.443-.982-.652-1.083-.834-1.083-1.968 0-1.71 1.2-4.172 3.518-7.217 1.086-1.426 3.382-3.836 4.278-4.492.67-.492 1.295-.762 1.934-.801 1.066-.066 2.169.512 3.576 1.78 2.479 2.235 5.837 7.1 6.477 9.383.234.833.221 2.28-.022 2.569-.11.13-.57.49-1.024.807-1.008.701-1.69 1.941-1.974 3.59l-.192 1.108.562.604c1.007 1.084.952 2.52-.033 3.47v1.849A14.21 14.21 0 0 0 46.25 32c0-5.666-3.282-10.525-8.049-12.825h5.104c3.55 3.13 5.795 7.7 5.795 12.825 0 6.924-4.083 12.848-9.975 15.541v.134h-.276c-.823.36-1.69.635-2.574.863v2.922A19.95 19.95 0 0 0 51.95 32a20 20 0 0 0-.849-5.7h2.945A22.8 22.8 0 0 1 54.8 32a22.8 22.8 0 0 1-21.375 22.728V44.686c-.45.06-.9.12-1.394.139-.476-.011-.964-.07-1.456-.148v10.07A22.8 22.8 0 0 1 9.2 32a22.8 22.8 0 0 1 .743-5.7h2.948a20 20 0 0 0-.841 5.7 19.95 19.95 0 0 0 15.675 19.44v-2.902a17 17 0 0 1-2.574-.863h-.276v-.134C18.983 44.848 14.9 38.924 14.9 32c0-5.126 2.245-9.696 5.795-12.825m7.03 19.95A1.425 1.425 0 0 0 26.3 40.55a1.425 1.425 0 0 0 1.425 1.425 1.425 1.425 0 0 0 1.425-1.425 1.425 1.425 0 0 0-1.425-1.425m8.55 0a1.425 1.425 0 0 0-1.425 1.425 1.425 1.425 0 0 0 1.425 1.425A1.425 1.425 0 0 0 37.7 40.55a1.425 1.425 0 0 0-1.425-1.425" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.44 28.44 0 0 0 3.5 32 28.44 28.44 0 0 0 32 60.5 28.44 28.44 0 0 0 60.5 32 28.44 28.44 0 0 0 32 3.5m0 8.55c11.018 0 19.95 8.932 19.95 19.95S43.018 51.95 32 51.95 12.05 43.018 12.05 32 20.982 12.05 32 12.05m-1.998 3.813c-.585.06-1.17.101-1.737.217-1.137.233-2.217.538-3.262.98-4.994 2.112-8.76 6.492-10.103 11.84.034.037.072.068.111.11.937 1.002 3.39 2.381 5.21 3.04.996.36 2.926.927 4.242 1.197s2.19.535 2.06.545-.718.448-1.303.975c-1.116 1.003-1.688 1.89-2.17 3.479-.265.87-.24 1.16.105 1.63.208.284 1.14.948 2.065 1.52s2.008 1.363 2.394 1.737c1.436 1.392 2.388 3.882 2.388 6.301 0 .619.066.945.111 1.085.118.01.205-.01.323 0 .266-.102.669-.222 1.302-.54 5.311-2.658 7.738-6.094 7.498-10.648-.19-3.632-1.893-4.949-8.8-6.413-5.086-1.078-7.82-2.905-7.82-5.21 0-.607.203-.967.867-1.63.714-.714.863-.762 1.414-.652.352.07 1.257.533 1.954 1.086 1.57 1.243 2.339 1.736 3.15 1.736.347 0 .652-.054.652-.106 0-.051-.256-.45-.54-.868-1.568-2.31-1.472-6.635.217-10.326.265-.579.462-.974.434-1.085-.234.014-.53-.024-.762 0m16.298 8.15c-.316-.196-2.888 2.508-3.479 3.695-1.171 2.355-.73 3.891 2.065 6.841.969 1.022 2.135 2.399 2.5 3.045.364.647.677 1.178.762 1.086.086-.093.34-.837.54-1.631.527-2.087.568-5.72 0-7.821-.44-1.627-1.98-4.963-2.388-5.216" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5C16.26 3.5 3.5 16.26 3.5 32a28.5 28.5 0 0 0 9.914 21.59c-.89-1.59-1.36-3.38-1.364-5.203 0-5.902 4.785-10.687 10.687-10.687 5.903 0 10.688 4.785 10.688 10.688A10.687 10.687 0 0 1 23.119 59.06 28.5 28.5 0 0 0 32 60.5c15.74 0 28.5-12.76 28.5-28.5S47.74 3.5 32 3.5m0 4.445A24.16 24.16 0 0 1 56.225 32.17c0 12.275-9.052 22.246-20.857 23.888 1.346-2.243 2.33-4.718 2.332-7.498v-.003c0-8.213-6.75-14.962-14.963-14.962-5.651 0-10.44 3.312-12.983 7.982-1.25-2.95-1.977-6.128-1.979-9.407v-.003A24.16 24.16 0 0 1 32 7.945" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 635 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><g style="fill:#ccc"><path d="M25.48 4c-5.238 0-9.484 3.478-9.484 9s4.598 8.643 9 10c4.305 1.327 9.969 5.478 9.969 11s-4.246 10-9.485 10c10.225 0 18.516-8.955 18.516-20S35.706 4 25.48 4m.52 6a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4" style="fill:#ccc" transform="translate(-2.191 -2.198)scale(1.42493)"/><path d="M22.51 4C12.285 4 3.994 12.955 3.994 24s8.29 20 18.516 20c5.238 0 9.484-3.478 9.484-9s-4.597-8.643-9-10c-4.304-1.327-9.969-5.478-9.969-11S17.272 4 22.51 4M22 32a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4" style="fill:#ccc" transform="translate(-2.191 -2.198)scale(1.42493)"/></g></svg>

After

Width:  |  Height:  |  Size: 689 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M24 4A19.95 19.95 0 0 0 4.037 22.81L4 22.847V40c0 2.216 1.784 4 4 4h16.154l.002-.004A19.953 19.953 0 0 0 44 24c0-11.08-8.92-20-20-20m-10.5 8.5 10 2 7.5 13-7.998 5.5-1.502-7.5 2 10-5.5 4 3.5-14zM33.115 21 35 25l-3.09-.482Z" style="fill:#ccc" transform="matrix(1.425 0 0 1.4221 -2.2 -2.13)"/><path d="M27.206 21h5.91L31 27.5Z" style="fill:#fff" transform="matrix(1.425 0 0 1.4221 -2.2 -2.13)"/><path d="M24 4A19.95 19.95 0 0 0 4.037 22.81L4 22.847v1l.037-.035A19.95 19.95 0 0 1 24 5a19.95 19.95 0 0 1 19.988 19.5c.004-.167.012-.332.012-.5 0-11.08-8.92-20-20-20" style="opacity:.1;fill:#fff" transform="matrix(1.425 0 0 1.4221 -2.2 -2.13)"/></svg>

After

Width:  |  Height:  |  Size: 716 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 378.666c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16m0 8.475a7.525 7.525 0 0 1 7.525 7.525A7.525 7.525 0 0 1 32 402.192a7.525 7.525 0 0 1-7.525-7.526A7.525 7.525 0 0 1 32 387.141" style="fill:#ccc;stroke-width:.15" transform="translate(3.5 -319.5)scale(.89063)"/><path d="M32 362.666c-17.68 0-32 14.32-32 32s14.32 32 32 32 32-14.32 32-32-14.32-32-32-32m0 57.6c-14.144 0-25.6-11.456-25.6-25.6s11.456-25.6 25.6-25.6 25.6 11.456 25.6 25.6-11.456 25.6-25.6 25.6" style="fill:#ccc;stroke-width:.15" transform="translate(3.5 -319.5)scale(.89063)"/></svg>

After

Width:  |  Height:  |  Size: 648 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5a29 29 0 0 0-3.618.267c-.563 3.275-.57 6.715-.354 9.961 11.26-1.57 22.076 1.624 30.585 8.105.046.12.081.244.125.365A28.5 28.5 0 0 0 32 3.5m-4.208.337a29 29 0 0 0-1.328.234 28 28 0 0 1 1.328-.234m-1.954.373a28.5 28.5 0 0 0-11.305 5.288c-1.514 10.161.89 21.078 7.65 29.833 3.272-2.56 6.077-6.05 8.414-9.775-4.544-7.92-5.97-16.936-4.759-25.346M14.385 9.606l-.267.217c.09-.071.177-.146.267-.217m-2.588 2.324A28.5 28.5 0 0 0 3.5 32a28.5 28.5 0 0 0 4.186 14.82c4.419-1.193 8.621-3.204 12.396-5.858-6.288-8.724-9.11-18.951-8.285-29.032m21.071 3.86q-2.283.004-4.606.265c.701 4.19 2.102 8.381 4.44 12.338 10.422.226 19.738 4.176 26.899 10.568A28.5 28.5 0 0 0 60.5 32a28.5 28.5 0 0 0-.69-6.073c-7.253-6.41-16.733-10.16-26.942-10.136m26.5 8.3c.083.285.15.577.225.866a29 29 0 0 0-.226-.866M32.7 30.72c-5.475 9.09-14.073 15.286-23.61 18.174a28.5 28.5 0 0 0 8.238 7.498c12.301-2.527 22.96-11.028 28.227-23.346-3.973-1.396-8.412-2.326-12.853-2.326m14.957 3.493C42.64 46.028 32.493 54.72 20.708 58.159A28.5 28.5 0 0 0 32 60.5a28.5 28.5 0 0 0 26.733-18.717c-3.153-3.009-6.902-5.602-11.075-7.57m11.787 5.36a28 28 0 0 1-.476 1.556 29 29 0 0 0 .476-1.556m-51.642 7.45a29 29 0 0 0 .78 1.164c-.266-.384-.534-.766-.78-1.163m10.178 9.77a29 29 0 0 0 .57.32 32 32 0 0 1-.57-.32" style="fill:#ccc;stroke-width:1.42499"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M22.57 2.648a36 36 0 0 0-11.971 7.949A36.08 36.08 0 0 0 0 36.186c0 4.699.892 9.281 2.65 13.615a36 36 0 0 0 7.949 11.971 35.9 35.9 0 0 0 11.971 7.949 36 36 0 0 0 13.617 2.649 36.08 36.08 0 0 0 25.587-10.598 35.9 35.9 0 0 0 7.949-11.971 36.1 36.1 0 0 0 2.648-13.615c0-4.7-.891-9.282-2.648-13.618a36 36 0 0 0-7.949-11.971 35.9 35.9 0 0 0-11.971-7.949A36.1 36.1 0 0 0 36.187 0c-4.7 0-9.281.891-13.617 2.648M9.044 51.419c-1.743-1.094-3.349-2.354-4.771-3.838a34.1 34.1 0 0 1-1.101-19.01 30.4 30.4 0 0 1 2.318-3.845c.269-.379.518-.774.806-1.142l8.166 4.832v.205a63 63 0 0 0 1.313 13.049c.003.02.006.031.01.049l-6.333 9.93a5 5 0 0 1-.408-.23m24.28 16.787a31 31 0 0 0 4.347 1.82 33.94 33.94 0 0 1-18.36-4.447L33 68.018q.157.101.324.188m-.05-2.471L17.12 62.856c-1.89-2.295-3.59-4.723-5.051-7.318-.372-.66-.787-1.301-1.102-1.99l6.327-9.92q.209.05.473.119c3.958 1.059 7.986 1.812 12.042 2.402.237.033.435.062.604.08l7.584 13.113a291 291 0 0 1-4.007 5.51c-.226.303-.466.594-.716.883m26.876-5.586a34 34 0 0 1-4.08 3.481 31 31 0 0 0-1.223-5.563l8.092-15.096c2.229-1.015 4.379-2.166 6.375-3.593q.393-.278.646-.618c-.586 7.801-3.856 15.436-9.81 21.389m-.359-19.578q.45.86.896 1.742l-7.816 14.58q-.067.016-.133.026a71.3 71.3 0 0 1-12.779 1.229l-7.8-13.487a847 847 0 0 0 3.61-6.781c.81-1.536 1.606-3.082 2.401-4.627l16.143-1.658c1.977 2.9 3.85 5.862 5.478 8.976m-3.275-17.294c-.766 2.023-1.586 4.025-2.401 6.031l-15.726 1.615a13 13 0 0 0-.588-.725c-1.857-2.103-3.726-4.193-5.592-6.289.017-.021.034-.037.051-.056q-1.13-1.127-2.261-2.258l4.378-13.181a6 6 0 0 1 .913-.18c2.38-.242 4.763-.516 7.149-.654 1.461-.082 2.93-.129 4.416-.024l10.832 12.209c-.373 1.178-.737 2.359-1.171 3.512m3.634-11.056a33.7 33.7 0 0 1 6.938 10.047 34.4 34.4 0 0 0-6.463-3.473 19 19 0 0 0-1.086-.402L48.877 6.376c.074-.519.113-1.039.129-1.563a33.7 33.7 0 0 1 11.144 7.408M25.334 4.182c.042.031.062.057.086.064 2.437.842 4.654 2.082 6.744 3.553l-4.09 12.317a.4.4 0 0 0-.061.021c-.837.346-1.69.656-2.514 1.031-3.395 1.543-6.705 3.252-9.823 5.301l-8.071-4.775a2.4 2.4 0 0 1 .141-.736c.542-1.444 1.075-2.896 1.688-4.311a32 32 0 0 1 1.597-3.172q.577-.637 1.192-1.254a33.7 33.7 0 0 1 13.186-8.162q-.038.059-.075.123" style="fill:#ccc" transform="matrix(.7876 0 0 .78762 3.5 3.5)"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M31.907 3.53a4.07 4.07 0 0 0-2.816 1.19l-24.4 24.4a4.07 4.07 0 0 0 0 5.752L29.095 59.28a4.07 4.07 0 0 0 5.751 0l19.145-19.145H42.485L31.97 50.65 13.318 31.997l18.649-18.649 10.518 10.518H53.99L34.842 4.72a4.07 4.07 0 0 0-2.935-1.192m4.131 24.403a4.068 4.068 0 1 0 0 8.135h20.337a4.068 4.068 0 1 0 0-8.135z" style="opacity:1;fill:#ccc;stroke-width:2.03367"/></svg>

After

Width:  |  Height:  |  Size: 435 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M24 4C12.92 4 4 12.92 4 24s8.92 20 20 20 20-8.92 20-20S35.08 4 24 4m.572 6.006a14 14 0 0 1 7.795 2.775l-2.14 2.14a11 11 0 0 0-14.008 1.282 11 11 0 0 0 0 15.555 11 11 0 0 0 15.556 0 11 11 0 0 0 2.579-11.424l-4.149 2.395-2-3.463 6.928-4 .023.382.041-.04a14 14 0 0 1-1.3 18.273 14 14 0 0 1-19.8 0 14 14 0 0 1 0-19.8 14 14 0 0 1 10.475-4.075" style="fill:#ccc" transform="translate(-2.2 -2.2)scale(1.425)"/></svg>

After

Width:  |  Height:  |  Size: 481 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.44 28.44 0 0 0 3.5 32 28.44 28.44 0 0 0 32 60.5 28.44 28.44 0 0 0 60.5 32 28.44 28.44 0 0 0 32 3.5m.662 7.395c5.068.085 9.678 2.167 13.841 6.234.56.56 1.295 1.084.56 2.03-.14.14.071.28.211.42 1.715 2.38 2.87 5.04 3.396 7.91.07.28.28.422.49.562 1.435.735 2.17 1.959 2.17 3.604 0 1.435.138 2.87-.072 4.305-.35 2.1-2.448 3.537-4.478 3.082-.56-.14-.807-.56-.807-1.156 0-2.38.07-4.761 0-7.141-.21-6.406-3.01-11.237-8.575-14.317-9.171-5.04-21.072.666-23.067 11.097-.35 1.785-.282 3.675-.282 5.46 0 1.715 0 3.395-.07 5.11 0 .56-.347.947-1.012.947-2.625.14-4.342-1.507-4.342-4.167.07-.42.07-.945.07-1.645.07-.665-.07-1.435.07-2.24.21-1.295.945-2.31 2.1-2.87.28-.14.42-.28.49-.665.49-2.8 1.646-5.39 3.326-7.701.21-.28.35-.42.07-.804-.28-.42-.071-.878.209-1.228 2.38-2.66 5.182-4.62 8.508-5.705q3.74-1.18 7.194-1.122M21.75 32.005c.4.029.823.162 1.253.41 1.18.574 3.336 2.17 4.987 3.67 1.585 1.437 2.766 2.81 2.564 3.8-.203.99-.877 1.595-1.787 1.915-.708.287-3.978.126-4.787.158-1.45-.127-2.628-.67-3.47-1.915-1.18-1.755-1.585-3.734-1.18-5.841.252-1.437 1.224-2.282 2.42-2.196m19.502 2.845c1.223 0 2.087.819 2.143 2.11.064 1.406-.383 2.744-1.31 3.807-.736.858-1.728 1.268-3.04 1.2-.991-.069-1.92-.275-2.91-.412-.353-.069-.673-.137-.897-.24-1.76-.583-2.366-2.127-1.247-3.259.8-.754 1.792-1.337 2.911-1.817 1.248-.48 2.432-1.133 3.808-1.339q.282-.05.542-.05" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5c-14.246 0-25.642 8.55-25.642 17.651V32c0 2.408-.195 6.554 1.403 8.483 2.659 4.42 8.356 13.983 10.543 18.361.713 1.31 2.298 1.656 4.297 1.656H41.4c1.999 0 3.584-.347 4.297-1.656 2.187-4.378 7.884-13.941 10.543-18.36 1.598-1.93 1.403-6.076 1.403-8.484V21.151C57.642 12.05 46.246 3.5 32 3.5M12.05 27.725h39.9v2.85c-4.521 0-6.006 1.755-8.55 5.7-2.237 3.832-2.45 10.039-3.568 12.825-1.573-5.378-.707-15.675-7.832-15.675S25.74 43.722 24.168 49.1c-1.117-2.786-1.331-8.993-3.568-12.825-1.757-2.954-4.303-6.36-8.55-5.7zM32 36.445c5.477 0 4.811 7.914 6.02 12.048l1.205 8.765h-14.45l1.205-8.765c1.209-4.134.543-12.048 6.02-12.048m0 2.324c-4.253 0-3.737 6.147-4.676 9.357l-.935 6.805H37.61l-.934-6.805c-.939-3.21-.423-9.357-4.676-9.357" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 849 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.5 28.5 0 0 0 3.5 32 28.5 28.5 0 0 0 32 60.5 28.5 28.5 0 0 0 60.5 32 28.5 28.5 0 0 0 32 3.5m-2.001 8.558c2.3-.076 4.347.36 5.948.997.425.169.838.344 1.194.537-8.953.34-7.595 5.052-6.263 7.765 6.802-1.971 12.93-3.498 17.718-5.132-3.332 4.402-8.873 10.35-14.937 11.133s-12.416-.086-13.755 4.43c-1.233 4.16 3.676 8.042 8.174 7.106 4.806-1 3.767-6.446 1.139-10.156 1.997-.114 1.626-.085 5.012-.256 5.047 4.302 6.719 5.791 15.536 12.068-5.517-.395-10.197-1.658-14.147-4.559l.006.017c1.262 3.169 4.342 10.361 4.926 15.942-2.81-4.04-4.258-5.525-8.614-8.439-4.75-3.176-9.135-3.75-11.951-7.239l-.014-.016a10.6 10.6 0 0 1-1.32-2.102 8.7 8.7 0 0 1-.575-1.611q-.014-.05-.025-.1a7 7 0 0 1-.115-.571c-.682-3.74 1.729-6.948 7.727-8.937-1.705-4.767-10.018-3.6-11.428-3.707 1.608-.798 3.059-1.454 6.373-3.855 3.193-2.313 6.48-3.218 9.39-3.315" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 953 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M24 4C12.92 4 4 12.92 4 24s8.92 20 20 20 20-8.92 20-20S35.08 4 24 4m12 9.002s.098 3.596-1.6 7.193c-.598 1.1-1.399 2.3-2.398 3.3-1.603 1.55-4.575 4.01-6.996 5.968v4.525l-2.998 1.998-.942-3.484c-.09 0-.228-.02-.414-.078l-1.242.564s-.5.202-2.1-1.398c-1.499-1.6-1.298-2-1.298-2l.527-1.158a1.8 1.8 0 0 1-.137-.522l-3.39-.918 2-2.998h4.39c1.977-2.404 4.488-5.38 6.104-6.996 1-1 2.197-1.8 3.297-2.299C32.4 12.9 36 13.002 36 13.002m-6.996 4.996c-1.1 0-2 .898-2 1.998s.9 2 2 2c1.098 0 1.998-.9 1.998-2s-.899-1.998-1.998-1.998M14.71 29.99c.1.2.2.3.3.5-1.498 1.898-1.298 4.797-1.298 4.797s2.897.2 4.797-1.299c.2.101.3.201.5.301-.2.2-.4.5-.602.7-2.3 2.298-6.394 1.997-6.394 1.997s-.3-4.098 1.998-6.394c.2-.201.5-.4.699-.602" style="fill:#ccc" transform="translate(-2.2 -2.2)scale(1.425)"/></svg>

After

Width:  |  Height:  |  Size: 855 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="m54.697 57.33 4.85-8.464a5.838 5.835 0 0 0 .163-6.126L43.42 14.692l-6.708 11.672ZM23.477 9.776 4.382 42.695a5.84 5.84 0 0 0-.093 6.02l5.046 8.687 29.32-50.825L29.4 6.6c-.423-.004-4.119-.37-5.925 3.175m8.471 24.886-13.07 22.762 26.255-.06z" style="fill:#ccc;stroke-width:.11366"/></svg>

After

Width:  |  Height:  |  Size: 357 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32 3.5A28.5 28.5 0 0 0 3.5 32 28.5 28.5 0 0 0 32 60.5 28.5 28.5 0 0 0 60.5 32 28.5 28.5 0 0 0 32 3.5m0 8.55A19.95 19.95 0 0 1 51.95 32 19.95 19.95 0 0 1 32 51.95 19.95 19.95 0 0 1 12.05 32 19.95 19.95 0 0 1 32 12.05m-6.554 9.975c-4.238.002-7.696 3.183-7.696 7.125 0 2.051.929 3.922 2.419 5.224l11.639 10.451 12.023-10.45c1.49-1.302 2.419-3.173 2.419-5.225 0-3.942-3.46-7.125-7.698-7.125-2.793 0-5.21 1.37-6.552 3.443-1.343-2.072-3.76-3.442-6.552-3.443Z" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 571 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="m7.264 46.161.119-28.505 7.073-4.034-.118 28.472 17.6 10.27 17.695-10.122.074-28.484 7.029 4.103-.119 28.483L31.86 60.5Zm21.295-32.48 3.526-2.033 3.53 2.04-.118 28.495 7.063-4.045.107-28.483L32.13 3.5 21.52 9.567 21.4 38.06l7.04 4.103Z" style="fill:#ccc;stroke-width:.111308"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64"><path d="M32.788 3.5A28.44 28.44 0 0 0 4.288 32a28.44 28.44 0 0 0 28.5 28.5 28.43 28.43 0 0 0 23.39-12.17L32.788 32l26.924-9.399A28.435 28.435 0 0 0 32.788 3.5m2.85 8.55a4.275 4.275 0 0 1 4.275 4.275 4.275 4.275 0 0 1-4.275 4.275 4.275 4.275 0 0 1-4.275-4.275 4.275 4.275 0 0 1 4.275-4.275" style="fill:#ccc;stroke-width:1.425"/></svg>

After

Width:  |  Height:  |  Size: 398 B

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