added NxACE (untested)

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2024-05-04 12:10:42 +02:00
parent c202666c0d
commit 66ef004344
433 changed files with 462 additions and 51424 deletions

View File

@@ -18,6 +18,7 @@ in
./system-modules/health_reminder.nix
# ./system-modules/davmail.nix
./system-modules/ollama.nix
# ./system-modules/nx2site.nix
];

View File

@@ -38,8 +38,6 @@
pkgs = nixpkgs.legacyPackages.${system};
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
overlays = [ inputs.nix-rice.overlays.default ];
user = "nx2";
nvidia = rec {
@@ -82,24 +80,25 @@
border-width = 2;
color = rec {
background = "#000000";
foreground = "#dddddd";
black = "#282B35";
bright-black = "#686A71";
blue = "#9d00ff";
bright-blue = "#c76eff";
cyan = "#00ddff";
bright-cyan = "#33f9ff";
green = "#0048ff";
bright-green = "#1166ff";
magenta = "#B21889";
bright-magenta = "#ff75f6";
red = "#ff0044";
bright-red = "#ff4576";
white = "#939599";
bright-white = "#ffffff";
yellow = "#ff4000";
bright-yellow = "#ff8454";
border = red;
foreground = white;
border = red;
accent = magenta;
black = "#111111"; # "#000000" "#000000"
bright-black = "#444444"; # "#231a40" "#231a40"
blue = "#4411ff"; # "#9d00ff" "#432d59"
bright-blue = "#9977ff"; # "#c76eff" "#593380"
cyan = "#00ffff"; # "#00ddff" "#00ff00"
bright-cyan = "#88ffff"; # "#33f9ff" "#b08ae6"
green = "#00ff00"; # "#0048ff" "#9045e6"
bright-green = "#88ff88"; # "#1166ff" "#a366ff"
magenta = "#ff00ff"; # "#B21889" "#a82ee6"
bright-magenta = "#ff88ff"; # "#ff75f6" "#bb66cc"
red = "#ff0044"; # "#ff0044" "#f29df2"
bright-red = "#ff4499"; # "#ff4576" "#4595e6"
white = "#dddddd"; # "#939599" "#40dfff"
bright-white = "#ffffff"; # "#ffffff" "#4136d9"
yellow = "#ff4400"; # "#ff4000" "#7e5ce6"
bright-yellow = "#ff8844"; # "#ff8454" "#a886bf"
};
font = {
code = {
@@ -118,7 +117,10 @@
in
{
nixosConfigurations = {
NxXPS = let host = "NxXPS"; in nixpkgs.lib.nixosSystem {
NxXPS = let
host = "NxXPS";
in
nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix ];
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
@@ -128,6 +130,16 @@
modules = [ ./configuration.nix ];
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
};
NxACE =
let
host = "NxACE";
nvidia.enable = false;
in
nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix ];
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
};
};
homeConfigurations = {
@@ -145,6 +157,32 @@
];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
};
"${user}@NxACE" =
let
host = "NxACE";
nvidia.enable = false;
in
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./home.nix
];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
};
"tv@NxACE" =
let
host = "NxACE";
user = "tv";
nvidia.enable = pkgs.kib.mkForce false;
in
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./home.nix
];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
};
};
};
}

View File

@@ -1,4 +1,5 @@
{ config, pkgs, secrets, ... }:
{ config, pkgs, lib, host, secrets, ... }:
lib.mkIf (host != "NxACE")
{
home.packages = with pkgs; [
bitwarden
@@ -29,4 +30,4 @@
home.sessionVariables.BW_SESSION = secrets.bitwarden.env.bw-session;
}
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, lib, secrets, ... }:
{ config, pkgs, lib, user, secrets, ... }:
let
channels = [
"agurin"
@@ -33,7 +33,7 @@ let
"PrimeGaming"
"PrimeLeague"
"Rekkles"
"Riot Games"
"riotgames"
"Sola"
"ThePrimeagen"
"Tolkin"
@@ -56,6 +56,7 @@ let
};
};
in
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
chatterino2

View File

@@ -1,4 +1,5 @@
{ config, pkgs, pkgs-unstable, allowed, ... }:
{ config, pkgs, pkgs-unstable, lib, host, user, allowed, ... }:
lib.mkIf (host != "NxACE")
{
home.packages = [
pkgs-unstable.vesktop

View File

@@ -1,4 +1,5 @@
{ config, pkgs, secrets, ... }:
{ config, pkgs, lib, host, secrets, ... }:
lib.mkIf (host != "NxACE")
{
home.packages = with pkgs; [
thunderbird

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
fish
@@ -69,10 +69,13 @@
gsw = "git switch";
gft = "git fetch";
ns = "nix-shell";
lzd = "lazydocker";
d = "docker";
dcmp = "docker compose";
code = "codium";
# ya = "yazi"; # function
nxfiglet = "figlet";
# nxfiglet = "figlet";
};
interactiveShellInit = ''
set -g fish_greeting

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{ config, pkgs, lib, host, ... }:
lib.mkIf (host == "NxXPS")
{
home.packages = [
pkgs.libinput-gestures
@@ -29,4 +29,4 @@
# };
# };
# };
}
}

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
git

View File

@@ -1,4 +1,4 @@
{ config, pkgs, pkgs-unstable, ... }:
{ config, pkgs, pkgs-unstable, lib, user, ... }:
let
theme-name = "Catppuccin-Macchiato-Compact-Pink-Dark";
theme-package = pkgs.catppuccin-gtk.override {
@@ -8,6 +8,7 @@ let
variant = "macchiato";
};
in
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
# gnome.gnome-themes-extra

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = [
pkgs.hyprland-autoname-workspaces

View File

@@ -1,4 +1,4 @@
{ config, pkgs, pkgs-unstable, inputs, host, nvidia, rice, lib, ... }:
{ config, pkgs, pkgs-unstable, inputs, host, user, nvidia, rice, lib, ... }:
let
animation-speed = "2";
transparency = builtins.toString rice.transparency;
@@ -39,6 +39,7 @@ let
};
};
in
lib.mkIf (user != "tv")
{
home.packages = [
# hyprland itself is a system package

View File

@@ -1,7 +1,5 @@
{ config, pkgs, rice, ... }:
let
in
{ config, pkgs, rice, lib, user, ... }:
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
kitty

View File

@@ -1,9 +1,7 @@
{ config, pkgs, ... }:
let
in
{ # home-manager
{ config, pkgs, lib, host, ... }:
lib.mkIf (host != "NxACE")
{
home.packages = with pkgs; [
(texlive.combine { inherit (texlive) scheme-full xifthen ifmtarg framed paralist titlesec xcolor; })
];
}
}

View File

@@ -1,5 +1,5 @@
{ config, pkgs, rice, ... }:
{ config, pkgs, rice, lib, user, ... }:
lib.mkIf (user != "tv")
{
home.packages = [
pkgs.mako
@@ -13,4 +13,4 @@
borderColor = "#${rice.color.border}";
font = rice.font.code.name2;
};
}
}

View File

@@ -1,23 +0,0 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{
home.packages = [
pkgs.meli
pkgs.msmtp
pkgs.w3m
# (pkgs.writeScriptBin "mutt_oauth" (builtins.readFile ./mutt_oauth2.py))
(pkgs.writeScriptBin "meli_oauth2_gmail" (builtins.readFile ./oauth2.py))
];
# home.file.".config/meli.config" = {
# };
}

View File

@@ -1,370 +0,0 @@
#!/usr/bin/env python3
#
# Copyright 2012 Google Inc.
# Copyright 2020 Manos Pitsidianakis
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Performs client tasks for testing IMAP OAuth2 authentication.
To use this script, you'll need to have registered with Google as an OAuth
application and obtained an OAuth client ID and client secret.
See https://developers.google.com/identity/protocols/OAuth2 for instructions on
registering and for documentation of the APIs invoked by this code.
This script has 3 modes of operation.
1. The first mode is used to generate and authorize an OAuth2 token, the
first step in logging in via OAuth2.
oauth2 --user=xxx@gmail.com \
--client_id=1038[...].apps.googleusercontent.com \
--client_secret=VWFn8LIKAMC-MsjBMhJeOplZ \
--generate_oauth2_token
The script will converse with Google and generate an oauth request
token, then present you with a URL you should visit in your browser to
authorize the token. Once you get the verification code from the Google
website, enter it into the script to get your OAuth access token. The output
from this command will contain the access token, a refresh token, and some
metadata about the tokens. The access token can be used until it expires, and
the refresh token lasts indefinitely, so you should record these values for
reuse.
2. The script will generate new access tokens using a refresh token.
oauth2 --user=xxx@gmail.com \
--client_id=1038[...].apps.googleusercontent.com \
--client_secret=VWFn8LIKAMC-MsjBMhJeOplZ \
--refresh_token=1/Yzm6MRy4q1xi7Dx2DuWXNgT6s37OrP_DW_IoyTum4YA
3. The script will generate an OAuth2 string that can be fed
directly to IMAP or SMTP. This is triggered with the --generate_oauth2_string
option.
oauth2 --generate_oauth2_string --user=xxx@gmail.com \
--access_token=ya29.AGy[...]ezLg
The output of this mode will be a base64-encoded string. To use it, connect to a
IMAPFE and pass it as the second argument to the AUTHENTICATE command.
a AUTHENTICATE XOAUTH2 a9sha9sfs[...]9dfja929dk==
"""
import base64
import imaplib
import json
from optparse import OptionParser
import smtplib
import sys
import urllib.request, urllib.parse, urllib.error
def SetupOptionParser():
# Usage message is the module's docstring.
parser = OptionParser(usage=__doc__)
parser.add_option(
"--generate_oauth2_token",
action="store_true",
dest="generate_oauth2_token",
help="generates an OAuth2 token for testing",
)
parser.add_option(
"--generate_oauth2_string",
action="store_true",
dest="generate_oauth2_string",
help="generates an initial client response string for " "OAuth2",
)
parser.add_option(
"--client_id",
default=None,
help="Client ID of the application that is authenticating. "
"See OAuth2 documentation for details.",
)
parser.add_option(
"--client_secret",
default=None,
help="Client secret of the application that is "
"authenticating. See OAuth2 documentation for "
"details.",
)
parser.add_option("--access_token", default=None, help="OAuth2 access token")
parser.add_option("--refresh_token", default=None, help="OAuth2 refresh token")
parser.add_option(
"--scope",
default="https://mail.google.com/",
help="scope for the access token. Multiple scopes can be "
"listed separated by spaces with the whole argument "
"quoted.",
)
parser.add_option(
"--test_imap_authentication",
action="store_true",
dest="test_imap_authentication",
help="attempts to authenticate to IMAP",
)
parser.add_option(
"--test_smtp_authentication",
action="store_true",
dest="test_smtp_authentication",
help="attempts to authenticate to SMTP",
)
parser.add_option(
"--user",
default=None,
help="email address of user whose account is being " "accessed",
)
parser.add_option(
"--quiet",
action="store_true",
default=False,
dest="quiet",
help="Omit verbose descriptions and only print " "machine-readable outputs.",
)
return parser
# The URL root for accessing Google Accounts.
GOOGLE_ACCOUNTS_BASE_URL = "https://accounts.google.com"
# Hardcoded dummy redirect URI for non-web apps.
REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob"
def AccountsUrl(command):
"""Generates the Google Accounts URL.
Args:
command: The command to execute.
Returns:
A URL for the given command.
"""
return "%s/%s" % (GOOGLE_ACCOUNTS_BASE_URL, command)
def UrlEscape(text):
# See OAUTH 5.1 for a definition of which characters need to be escaped.
return urllib.parse.quote(text, safe="~-._")
def UrlUnescape(text):
# See OAUTH 5.1 for a definition of which characters need to be escaped.
return urllib.parse.unquote(text)
def FormatUrlParams(params):
"""Formats parameters into a URL query string.
Args:
params: A key-value map.
Returns:
A URL query string version of the given parameters.
"""
param_fragments = []
for param in sorted(iter(params.items()), key=lambda x: x[0]):
param_fragments.append("%s=%s" % (param[0], UrlEscape(param[1])))
return "&".join(param_fragments)
def GeneratePermissionUrl(client_id, scope="https://mail.google.com/"):
"""Generates the URL for authorizing access.
This uses the "OAuth2 for Installed Applications" flow described at
https://developers.google.com/accounts/docs/OAuth2InstalledApp
Args:
client_id: Client ID obtained by registering your app.
scope: scope for access token, e.g. 'https://mail.google.com'
Returns:
A URL that the user should visit in their browser.
"""
params = {}
params["client_id"] = client_id
params["redirect_uri"] = REDIRECT_URI
params["scope"] = scope
params["response_type"] = "code"
return "%s?%s" % (AccountsUrl("o/oauth2/auth"), FormatUrlParams(params))
def AuthorizeTokens(client_id, client_secret, authorization_code):
"""Obtains OAuth access token and refresh token.
This uses the application portion of the "OAuth2 for Installed Applications"
flow at https://developers.google.com/accounts/docs/OAuth2InstalledApp#handlingtheresponse
Args:
client_id: Client ID obtained by registering your app.
client_secret: Client secret obtained by registering your app.
authorization_code: code generated by Google Accounts after user grants
permission.
Returns:
The decoded response from the Google Accounts server, as a dict. Expected
fields include 'access_token', 'expires_in', and 'refresh_token'.
"""
params = {}
params["client_id"] = client_id
params["client_secret"] = client_secret
params["code"] = authorization_code
params["redirect_uri"] = REDIRECT_URI
params["grant_type"] = "authorization_code"
request_url = AccountsUrl("o/oauth2/token")
response = urllib.request.urlopen(
request_url, urllib.parse.urlencode(params).encode()
).read()
return json.loads(response)
def RefreshToken(client_id, client_secret, refresh_token):
"""Obtains a new token given a refresh token.
See https://developers.google.com/accounts/docs/OAuth2InstalledApp#refresh
Args:
client_id: Client ID obtained by registering your app.
client_secret: Client secret obtained by registering your app.
refresh_token: A previously-obtained refresh token.
Returns:
The decoded response from the Google Accounts server, as a dict. Expected
fields include 'access_token', 'expires_in', and 'refresh_token'.
"""
params = {}
params["client_id"] = client_id
params["client_secret"] = client_secret
params["refresh_token"] = refresh_token
params["grant_type"] = "refresh_token"
request_url = AccountsUrl("o/oauth2/token")
response = urllib.request.urlopen(
request_url, urllib.parse.urlencode(params).encode()
).read()
return json.loads(response)
def GenerateOAuth2String(username, access_token, base64_encode=True):
"""Generates an IMAP OAuth2 authentication string.
See https://developers.google.com/google-apps/gmail/oauth2_overview
Args:
username: the username (email address) of the account to authenticate
access_token: An OAuth2 access token.
base64_encode: Whether to base64-encode the output.
Returns:
The SASL argument for the OAuth2 mechanism.
"""
auth_string = "user=%s\1auth=Bearer %s\1\1" % (username, access_token)
if base64_encode:
auth_string = base64.b64encode(bytes(auth_string, "utf-8"))
return auth_string
def TestImapAuthentication(user, auth_string):
"""Authenticates to IMAP with the given auth_string.
Prints a debug trace of the attempted IMAP connection.
Args:
user: The Gmail username (full email address)
auth_string: A valid OAuth2 string, as returned by GenerateOAuth2String.
Must not be base64-encoded, since imaplib does its own base64-encoding.
"""
print()
imap_conn = imaplib.IMAP4_SSL("imap.gmail.com")
imap_conn.debug = 4
imap_conn.authenticate("XOAUTH2", lambda x: auth_string)
imap_conn.select("INBOX")
def TestSmtpAuthentication(user, auth_string):
"""Authenticates to SMTP with the given auth_string.
Args:
user: The Gmail username (full email address)
auth_string: A valid OAuth2 string, not base64-encoded, as returned by
GenerateOAuth2String.
"""
print()
smtp_conn = smtplib.SMTP("smtp.gmail.com", 587)
smtp_conn.set_debuglevel(True)
smtp_conn.ehlo("test")
smtp_conn.starttls()
smtp_conn.docmd("AUTH", "XOAUTH2 " + base64.b64encode(auth_string))
def RequireOptions(options, *args):
missing = [arg for arg in args if getattr(options, arg) is None]
if missing:
print("Missing options: %s" % " ".join(missing), file=sys.stderr)
sys.exit(-1)
def main(argv):
options_parser = SetupOptionParser()
(options, args) = options_parser.parse_args()
if options.refresh_token:
RequireOptions(options, "client_id", "client_secret")
response = RefreshToken(
options.client_id, options.client_secret, options.refresh_token
)
if options.quiet:
print(response["access_token"])
else:
print("Access Token: %s" % response["access_token"])
print("Access Token Expiration Seconds: %s" % response["expires_in"])
elif options.generate_oauth2_string:
RequireOptions(options, "user", "access_token")
oauth2_string = GenerateOAuth2String(options.user, options.access_token)
if options.quiet:
print(oauth2_string.decode("utf-8"))
else:
print("OAuth2 argument:\n" + oauth2_string.decode("utf-8"))
elif options.generate_oauth2_token:
RequireOptions(options, "client_id", "client_secret")
print("To authorize token, visit this url and follow the directions:")
print(" %s" % GeneratePermissionUrl(options.client_id, options.scope))
authorization_code = input("Enter verification code: ")
response = AuthorizeTokens(
options.client_id, options.client_secret, authorization_code
)
print("Refresh Token: %s" % response["refresh_token"])
print("Access Token: %s" % response["access_token"])
print("Access Token Expiration Seconds: %s" % response["expires_in"])
elif options.test_imap_authentication:
RequireOptions(options, "user", "access_token")
TestImapAuthentication(
options.user,
GenerateOAuth2String(
options.user, options.access_token, base64_encode=False
),
)
elif options.test_smtp_authentication:
RequireOptions(options, "user", "access_token")
TestSmtpAuthentication(
options.user,
GenerateOAuth2String(
options.user, options.access_token, base64_encode=False
),
)
else:
options_parser.print_help()
print("Nothing to do, exiting.")
return
if __name__ == "__main__":
main(sys.argv)

View File

@@ -1,421 +0,0 @@
#!/usr/bin/env python3
#
# Mutt OAuth2 token management script, version 2020-08-07
# Written against python 3.7.3, not tried with earlier python versions.
#
# Copyright (C) 2020 Alexander Perlis
#
# 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., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
'''Mutt OAuth2 token management'''
import sys
import json
import argparse
import urllib.parse
import urllib.request
import imaplib
import poplib
import smtplib
import base64
import secrets
import hashlib
import time
from datetime import timedelta, datetime
from pathlib import Path
import socket
import http.server
import subprocess
import readline
# The token file must be encrypted because it contains multi-use bearer tokens
# whose usage does not require additional verification. Specify whichever
# encryption and decryption pipes you prefer. They should read from standard
# input and write to standard output. The example values here invoke GPG,
# although won't work until an appropriate identity appears in the first line.
ENCRYPTION_PIPE = ['gpg', '--encrypt', '--recipient', 'Lennart J. Kurzweg <nx2@nx2.site> (mutt-email)']
DECRYPTION_PIPE = ['gpg', '--decrypt']
registrations = {
'lkgoogle': {
'authorize_endpoint': 'https://accounts.google.com/o/oauth2/auth',
'devicecode_endpoint': 'https://oauth2.googleapis.com/device/code',
'token_endpoint': 'https://accounts.google.com/o/oauth2/token',
'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob',
'imap_endpoint': 'imap.gmail.com',
'pop_endpoint': 'pop.gmail.com',
'smtp_endpoint': 'smtp.gmail.com',
'sasl_method': 'OAUTHBEARER',
'scope': 'https://mail.google.com/',
'client_id': '860100429226-04or541aqhj06u09i4nq07mbq9q3l5c9.apps.googleusercontent.com',
'client_secret': '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', # this is just a pointer to "my develloper app" not nothing secret
},
'microsoft': {
'authorize_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',
'devicecode_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/devicecode',
'token_endpoint': 'https://login.microsoftonline.com/common/oauth2/v2.0/token',
'redirect_uri': 'https://login.microsoftonline.com/common/oauth2/nativeclient',
'tenant': 'common',
'imap_endpoint': 'outlook.office365.com',
'pop_endpoint': 'outlook.office365.com',
'smtp_endpoint': 'smtp.office365.com',
'sasl_method': 'XOAUTH2',
'scope': ('offline_access https://outlook.office.com/IMAP.AccessAsUser.All '
'https://outlook.office.com/POP.AccessAsUser.All '
'https://outlook.office.com/SMTP.Send'),
'client_id': '',
'client_secret': '',
},
}
ap = argparse.ArgumentParser(epilog='''
This script obtains and prints a valid OAuth2 access token. State is maintained in an
encrypted TOKENFILE. Run with "--verbose --authorize" to get started or whenever all
tokens have expired, optionally with "--authflow" to override the default authorization
flow. To truly start over from scratch, first delete TOKENFILE. Use "--verbose --test"
to test the IMAP/POP/SMTP endpoints.
''')
ap.add_argument('-v', '--verbose', action='store_true', help='increase verbosity')
ap.add_argument('-d', '--debug', action='store_true', help='enable debug output')
ap.add_argument('tokenfile', help='persistent token storage')
ap.add_argument('-a', '--authorize', action='store_true', help='manually authorize new tokens')
ap.add_argument('--authflow', help='authcode | localhostauthcode | devicecode')
ap.add_argument('-t', '--test', action='store_true', help='test IMAP/POP/SMTP endpoints')
args = ap.parse_args()
token = {}
path = Path(args.tokenfile)
if path.exists():
if 0o777 & path.stat().st_mode != 0o600:
sys.exit('Token file has unsafe mode. Suggest deleting and starting over.')
try:
sub = subprocess.run(DECRYPTION_PIPE, check=True, input=path.read_bytes(),
capture_output=True)
token = json.loads(sub.stdout)
except subprocess.CalledProcessError:
sys.exit('Difficulty decrypting token file. Is your decryption agent primed for '
'non-interactive usage, or an appropriate environment variable such as '
'GPG_TTY set to allow interactive agent usage from inside a pipe?')
def writetokenfile():
'''Writes global token dictionary into token file.'''
if not path.exists():
path.touch(mode=0o600)
if 0o777 & path.stat().st_mode != 0o600:
sys.exit('Token file has unsafe mode. Suggest deleting and starting over.')
sub2 = subprocess.run(ENCRYPTION_PIPE, check=True, input=json.dumps(token).encode(),
capture_output=True)
path.write_bytes(sub2.stdout)
if args.debug:
print('Obtained from token file:', json.dumps(token))
if not token:
if not args.authorize:
sys.exit('You must run script with "--authorize" at least once.')
print('Available app and endpoint registrations:', *registrations)
token['registration'] = input('OAuth2 registration: ')
token['authflow'] = input('Preferred OAuth2 flow ("authcode" or "localhostauthcode" '
'or "devicecode"): ')
token['email'] = input('Account e-mail address: ')
token['access_token'] = ''
token['access_token_expiration'] = ''
token['refresh_token'] = ''
writetokenfile()
if token['registration'] not in registrations:
sys.exit(f'ERROR: Unknown registration "{token["registration"]}". Delete token file '
f'and start over.')
registration = registrations[token['registration']]
authflow = token['authflow']
if args.authflow:
authflow = args.authflow
baseparams = {'client_id': registration['client_id']}
# Microsoft uses 'tenant' but Google does not
if 'tenant' in registration:
baseparams['tenant'] = registration['tenant']
def access_token_valid():
'''Returns True when stored access token exists and is still valid at this time.'''
token_exp = token['access_token_expiration']
return token_exp and datetime.now() < datetime.fromisoformat(token_exp)
def update_tokens(r):
'''Takes a response dictionary, extracts tokens out of it, and updates token file.'''
token['access_token'] = r['access_token']
token['access_token_expiration'] = (datetime.now() +
timedelta(seconds=int(r['expires_in']))).isoformat()
if 'refresh_token' in r:
token['refresh_token'] = r['refresh_token']
writetokenfile()
if args.verbose:
print(f'NOTICE: Obtained new access token, expires {token["access_token_expiration"]}.')
if args.authorize:
p = baseparams.copy()
p['scope'] = registration['scope']
if authflow in ('authcode', 'localhostauthcode'):
verifier = secrets.token_urlsafe(90)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest())[:-1]
redirect_uri = registration['redirect_uri']
listen_port = 0
if authflow == 'localhostauthcode':
# Find an available port to listen on
s = socket.socket()
s.bind(('127.0.0.1', 0))
listen_port = s.getsockname()[1]
s.close()
redirect_uri = 'http://localhost:'+str(listen_port)+'/'
# Probably should edit the port number into the actual redirect URL.
p.update({'login_hint': token['email'],
'response_type': 'code',
'redirect_uri': redirect_uri,
'code_challenge': challenge,
'code_challenge_method': 'S256'})
print(registration["authorize_endpoint"] + '?' +
urllib.parse.urlencode(p, quote_via=urllib.parse.quote))
authcode = ''
if authflow == 'authcode':
authcode = input('Visit displayed URL to retrieve authorization code. Enter '
'code from server (might be in browser address bar): ')
else:
print('Visit displayed URL to authorize this application. Waiting...',
end='', flush=True)
class MyHandler(http.server.BaseHTTPRequestHandler):
'''Handles the browser query resulting from redirect to redirect_uri.'''
# pylint: disable=C0103
def do_HEAD(self):
'''Response to a HEAD requests.'''
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
def do_GET(self):
'''For GET request, extract code parameter from URL.'''
# pylint: disable=W0603
global authcode
querystring = urllib.parse.urlparse(self.path).query
querydict = urllib.parse.parse_qs(querystring)
if 'code' in querydict:
authcode = querydict['code'][0]
self.do_HEAD()
self.wfile.write(b'<html><head><title>Authorizaton result</title></head>')
self.wfile.write(b'<body><p>Authorization redirect completed. You may '
b'close this window.</p></body></html>')
with http.server.HTTPServer(('127.0.0.1', listen_port), MyHandler) as httpd:
try:
httpd.handle_request()
except KeyboardInterrupt:
pass
if not authcode:
sys.exit('Did not obtain an authcode.')
for k in 'response_type', 'login_hint', 'code_challenge', 'code_challenge_method':
del p[k]
p.update({'grant_type': 'authorization_code',
'code': authcode,
'client_secret': registration['client_secret'],
'code_verifier': verifier})
print('Exchanging the authorization code for an access token')
try:
response = urllib.request.urlopen(registration['token_endpoint'],
urllib.parse.urlencode(p).encode())
except urllib.error.HTTPError as err:
print(err.code, err.reason)
response = err
response = response.read()
if args.debug:
print(response)
response = json.loads(response)
if 'error' in response:
print(response['error'])
if 'error_description' in response:
print(response['error_description'])
sys.exit(1)
elif authflow == 'devicecode':
try:
response = urllib.request.urlopen(registration['devicecode_endpoint'],
urllib.parse.urlencode(p).encode())
except urllib.error.HTTPError as err:
print(err.code, err.reason)
response = err
response = response.read()
if args.debug:
print(response)
response = json.loads(response)
if 'error' in response:
print(response['error'])
if 'error_description' in response:
print(response['error_description'])
sys.exit(1)
print(response['message'])
del p['scope']
p.update({'grant_type': 'urn:ietf:params:oauth:grant-type:device_code',
'client_secret': registration['client_secret'],
'device_code': response['device_code']})
interval = int(response['interval'])
print('Polling...', end='', flush=True)
while True:
time.sleep(interval)
print('.', end='', flush=True)
try:
response = urllib.request.urlopen(registration['token_endpoint'],
urllib.parse.urlencode(p).encode())
except urllib.error.HTTPError as err:
# Not actually always an error, might just mean "keep trying..."
response = err
response = response.read()
if args.debug:
print(response)
response = json.loads(response)
if 'error' not in response:
break
if response['error'] == 'authorization_declined':
print(' user declined authorization.')
sys.exit(1)
if response['error'] == 'expired_token':
print(' too much time has elapsed.')
sys.exit(1)
if response['error'] != 'authorization_pending':
print(response['error'])
if 'error_description' in response:
print(response['error_description'])
sys.exit(1)
print()
else:
sys.exit(f'ERROR: Unknown OAuth2 flow "{token["authflow"]}. Delete token file and '
f'start over.')
update_tokens(response)
if not access_token_valid():
if args.verbose:
print('NOTICE: Invalid or expired access token; using refresh token '
'to obtain new access token.')
if not token['refresh_token']:
sys.exit('ERROR: No refresh token. Run script with "--authorize".')
p = baseparams.copy()
p.update({'client_secret': registration['client_secret'],
'refresh_token': token['refresh_token'],
'grant_type': 'refresh_token'})
try:
response = urllib.request.urlopen(registration['token_endpoint'],
urllib.parse.urlencode(p).encode())
except urllib.error.HTTPError as err:
print(err.code, err.reason)
response = err
response = response.read()
if args.debug:
print(response)
response = json.loads(response)
if 'error' in response:
print(response['error'])
if 'error_description' in response:
print(response['error_description'])
print('Perhaps refresh token invalid. Try running once with "--authorize"')
sys.exit(1)
update_tokens(response)
if not access_token_valid():
sys.exit('ERROR: No valid access token. This should not be able to happen.')
if args.verbose:
print('Access Token: ', end='')
print(token['access_token'])
def build_sasl_string(user, host, port, bearer_token):
'''Build appropriate SASL string, which depends on cloud server's supported SASL method.'''
if registration['sasl_method'] == 'OAUTHBEARER':
return f'n,a={user},\1host={host}\1port={port}\1auth=Bearer {bearer_token}\1\1'
if registration['sasl_method'] == 'XOAUTH2':
return f'user={user}\1auth=Bearer {bearer_token}\1\1'
sys.exit(f'Unknown SASL method {registration["sasl_method"]}.')
if args.test:
errors = False
imap_conn = imaplib.IMAP4_SSL(registration['imap_endpoint'])
sasl_string = build_sasl_string(token['email'], registration['imap_endpoint'], 993,
token['access_token'])
if args.debug:
imap_conn.debug = 4
try:
imap_conn.authenticate(registration['sasl_method'], lambda _: sasl_string.encode())
# Microsoft has a bug wherein a mismatch between username and token can still report a
# successful login... (Try a consumer login with the token from a work/school account.)
# Fortunately subsequent commands fail with an error. Thus we follow AUTH with another
# IMAP command before reporting success.
imap_conn.list()
if args.verbose:
print('IMAP authentication succeeded')
except imaplib.IMAP4.error as e:
print('IMAP authentication FAILED (does your account allow IMAP?):', e)
errors = True
pop_conn = poplib.POP3_SSL(registration['pop_endpoint'])
sasl_string = build_sasl_string(token['email'], registration['pop_endpoint'], 995,
token['access_token'])
if args.debug:
pop_conn.set_debuglevel(2)
try:
# poplib doesn't have an auth command taking an authenticator object
# Microsoft requires a two-line SASL for POP
# pylint: disable=W0212
pop_conn._shortcmd('AUTH ' + registration['sasl_method'])
pop_conn._shortcmd(base64.standard_b64encode(sasl_string.encode()).decode())
if args.verbose:
print('POP authentication succeeded')
except poplib.error_proto as e:
print('POP authentication FAILED (does your account allow POP?):', e.args[0].decode())
errors = True
# SMTP_SSL would be simpler but Microsoft does not answer on port 465.
smtp_conn = smtplib.SMTP(registration['smtp_endpoint'], 587)
sasl_string = build_sasl_string(token['email'], registration['smtp_endpoint'], 587,
token['access_token'])
smtp_conn.ehlo('test')
smtp_conn.starttls()
smtp_conn.ehlo('test')
if args.debug:
smtp_conn.set_debuglevel(2)
try:
smtp_conn.auth(registration['sasl_method'], lambda _=None: sasl_string)
if args.verbose:
print('SMTP authentication succeeded')
except smtplib.SMTPAuthenticationError as e:
print('SMTP authentication FAILED:', e)
errors = True
if errors:
sys.exit(1)

View File

@@ -1,101 +0,0 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{
home.packages = [
pkgs.neomutt
pkgs.isync
pkgs.msmtp
pkgs.notmuch
pkgs.abook
pkgs.urlview
(pkgs.writeScriptBin "mutt_oauth" (builtins.readFile ./mutt_oauth2.py))
];
programs.neomutt = {
enable = true;
package = pkgs.neomutt;
editor = "$EDITOR";
sort = "date";
sidebar = {
enable = true;
};
binds = [
{ map = [ "index" ]; key = "<F4>"; action = "sidebar-toggle-visible"; }
{ map = [ "pager" ]; key = "<F4>"; action = "sidebar-toggle-visible"; }
{ map = [ "index" ]; key = "\\Cp"; action = "sidebar-prev"; }
{ map = [ "pager" ]; key = "\\Cp"; action = "sidebar-prev"; }
{ map = [ "index" ]; key = "\\Cn"; action = "sidebar-next"; }
{ map = [ "pager" ]; key = "\\Cn"; action = "sidebar-next"; }
{ map = [ "index" ]; key = "\\Co"; action = "sidebar-open"; }
{ map = [ "pager" ]; key = "\\Co"; action = "sidebar-open"; }
{ map = [ "pager" ]; key = "<up>"; action = "previous-line"; }
{ map = [ "pager" ]; key = "<down>"; action = "next-line"; }
];
settings = let imapUser = "lennart.kurzweg.lk@gmail.com"; in {
cryptReplysign = true;
cryptVerifySig = true;
editHeaders = true;
from = imapUser;
inherit imapUser;
imapPass = "";
imapAuthenticators = "oauthbearer:xoauth2";
imapOAuthRefreshCommand = "mutt_oauth ~/.config/mutt/${imapUser}.tokens";
smtpPass = "";
sslForceTls = true;
realname = "Lennart J. Kurzweg";
useFrom = true;
timeout = 10;
};
# Color Settings
# colors = {
# normal = "white default";
# attachment = "brightyellow default";
# hdrdefault = "cyan default";
# indicator = "black cyan";
# markers = "brightred default";
# quoted = "green default";
# signature = "cyan default";
# status = "brightgreen blue";
# tilde = "blue default";
# tree = "red default";
# index = [
# "red default ~P"
# "red default ~D"
# "magenta default ~T"
# ];
# header = [
# "brightgreen default ^From:"
# "brightcyan default ^To:"
# "brightcyan default ^Reply-To:"
# "brightcyan default ^Cc:"
# "brightblue default ^Subject:"
# ];
# body = [
# "brightred default [\\-\\.+_a-zA-Z0-9]+@[\\-\\.a-zA-Z0-9]+"
# "brightblue default (https?|ftp)://[\\-\\.,/%~_:?&=\\#a-zA-Z0-9]+"
# ];
# };
};
accounts.email.accounts = {
secrets.email.gmail.mail1 = {
primary = true;
smtp = "";
smtpUrl = "smtp://lennart.kurzweg.lk@smtp.gmail.com:587/";
realName = "Lennart J. Kurzweg";
address = secrets.email.gmail.mail1;
aliases = [ ];
userName = "nx2";
passwordCommand = "op read op://Personal/iCloud/himalaya";
};
};
}

View File

@@ -1,18 +0,0 @@
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
vim.o.clipboard = 'unnamedplus'
vim.o.number = true
-- vim.o.relativenumber = true
vim.o.signcolumn = 'yes'
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.updatetime = 300
vim.o.termguicolors = true
vim.o.mouse = 'a'

View File

@@ -27,22 +27,23 @@ local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('neodev').setup()
require('lspconfig').lua_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
root_dir = function()
return vim.loop.cwd()
end,
cmd = { "lua-lsp" },
settings = {
Lua = {
workspace = { checkThirdParty = false },
telemetry = { enable = false },
},
}
}
require'lspconfig'.lua_ls.setup{}
-- require('lspconfig').lua_ls.setup {
-- on_attach = on_attach,
-- capabilities = capabilities,
-- root_dir = function()
-- return vim.loop.cwd()
-- end,
-- cmd = { "lua-lsp" },
-- settings = {
-- Lua = {
-- workspace = { checkThirdParty = false },
-- telemetry = { enable = false },
-- },
-- }
-- }
require('lspconfig').rnix.setup {
require('lspconfig').nixd.setup {
on_attach = on_attach,
capabilities = capabilities,
}

View File

@@ -1,11 +0,0 @@
-- Lualine
require("lualine").setup({
icons_enabled = true,
theme = 'onedark',
})
-- Colorscheme
vim.cmd("colorscheme gruvbox")
-- Comment
require("Comment").setup()

View File

@@ -1,13 +1,16 @@
require('telescope').setup({
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
-- the default case_mode is "smart_case"
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case", -- or "ignore_case" or "respect_case" (the default case_mode is "smart_case")
}
}
})
require('telescope').load_extension('fzf')
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})

View File

@@ -1,9 +1,19 @@
{ config, pkgs, rice, ... }:
{ config, pkgs, pkgs-unstable, lib, user, rice, ... }:
let
toLua = str: "lua << EOF\n${str}\nEOF\n";
toLuaFile = file: "lua << EOF\n${builtins.readFile file}\nEOF\n";
theme = {
name = "base16-colorscheme";
package = pkgs-unstable.vimPlugins.base16-nvim;
};
in
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
neovide
];
programs.neovim = {
enable = true;
@@ -12,86 +22,99 @@ in
vimdiffAlias = true;
extraPackages = with pkgs; [
lua-language-server
# rnix-lsp
xclip
# extra
wl-clipboard
# LSPs
nixd
lua-language-server
];
plugins = with pkgs.vimPlugins; [
{
plugin = nvim-lspconfig;
config = toLuaFile ./nvim-lua/plugin/lsp.lua;
}
{
plugin = comment-nvim;
config = toLua ''require("Comment").setup()'';
}
{
plugin = gruvbox-nvim;
config = "colorscheme gruvbox";
}
neodev-nvim
nvim-cmp
{
plugin = nvim-cmp;
config = toLuaFile ./nvim-lua/plugin/cmp.lua;
}
{
plugin = telescope-nvim;
config = toLuaFile ./nvim-lua/plugin/telescope.lua;
}
nvim-lspconfig
nvim-cmp # A completion engine. Completion sources are installed from external repositories and "sourced".
cmp-nvim-lsp # cmp source: LSPs
luasnip # cmp source: LSPs
nvim-web-devicons # icons or some shit
friendly-snippets # a collention of snippets for many languages
neodev-nvim # configures lua-language-server for Neovim
vim-nix # Syntax highlighting, Filetype detection, Automatic indentation, NixEdit command: navigate nixpkgs by attribute name
telescope-nvim
telescope-fzf-native-nvim
cmp_luasnip
cmp-nvim-lsp
luasnip
friendly-snippets
lualine-nvim
nvim-web-devicons
{
plugin = (nvim-treesitter.withPlugins (p: [
p.tree-sitter-nix
p.tree-sitter-vim
p.tree-sitter-bash
p.tree-sitter-lua
p.tree-sitter-python
p.tree-sitter-json
]));
config = toLuaFile ./nvim-lua/plugin/treesitter.lua;
}
vim-nix
# {
# plugin = vimPlugins.own-onedark-nvim;
# config = "colorscheme onedark";
# }
];
comment-nvim
(nvim-treesitter.withPlugins (p: with p; [
tree-sitter-nix
tree-sitter-vim
tree-sitter-bash
tree-sitter-lua
tree-sitter-python
tree-sitter-json
tree-sitter-html
tree-sitter-css
tree-sitter-dockerfile
tree-sitter-ssh_config
tree-sitter-javascript
tree-sitter-gitignore
])
)
] ++ [ theme.package ];
extraLuaConfig = ''
${builtins.readFile ./nvim-lua/options.lua}
'';
-- Options
vim.keymap.set("n", "<Space>", "<Nop>")
vim.g.mapleader = " "
vim.g.maplocalleader = ' '
vim.o.clipboard = 'unnamedplus'
vim.o.number = true
vim.o.relativenumber = true
vim.o.signcolumn = 'yes'
vim.o.tabstop = 2
vim.o.shiftwidth = 2
vim.o.updatetime = 300
vim.o.termguicolors = true
vim.o.mouse = 'a'
# extraLuaConfig = ''
# ${builtins.readFile ./nvim-lua/options.lua}
# ${builtins.readFile ./nvim-lua/plugin/lsp.lua}
# ${builtins.readFile ./nvim-lua/plugin/cmp.lua}
# ${builtins.readFile ./nvim-lua/plugin/telescope.lua}
# ${builtins.readFile ./nvim-lua/plugin/treesitter.lua}
# ${builtins.readFile ./nvim-lua/plugin/other.lua}
# '';
-- Colorscheme
require('base16-colorscheme').setup({
base00 = '${rice.color.background}',
base01 = '${rice.color.bright-black}',
base02 = '${rice.color.blue}',
base03 = '${rice.color.bright-blue}',
base04 = '${rice.color.cyan}',
base05 = '${rice.color.bright-cyan}',
base06 = '${rice.color.green}',
base07 = '${rice.color.bright-green}',
base08 = '${rice.color.magenta}',
base09 = '${rice.color.bright-magenta}',
base0A = '${rice.color.red}',
base0B = '${rice.color.bright-red}',
base0C = '${rice.color.foreground}',
base0D = '${rice.color.bright-white}',
base0E = '${rice.color.yellow}',
base0F = '${rice.color.bright-yellow}',
})
require('base16-colorscheme').with_config({
telescope = true,
-- indentblankline = true,
-- notify = true,
-- ts_rainbow = true,
cmp = true,
-- illuminate = true,
-- dapui = true,
})
-- PLUGINS
require("Comment").setup()
require("lualine").setup({
icons_enabled = true,
theme = '${theme.name}',
})
require("Comment").setup()
${builtins.readFile ./nvim-lua/plugin/lsp.lua}
${builtins.readFile ./nvim-lua/plugin/cmp.lua}
${builtins.readFile ./nvim-lua/plugin/telescope.lua}
${builtins.readFile ./nvim-lua/plugin/treesitter.lua}
'';
};
}

View File

@@ -1,7 +1,8 @@
{ config, pkgs, secrets, ... }:
{ config, pkgs, secrets, lib, user, ... }:
let
sep = " ";
in
lib.mkIf (user != "tv")
{
home = {
file."${config.xdg.dataHome}/nx-gcal-event-credentials.json".text = ''

View File

@@ -1,4 +1,5 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, user, ... }:
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
libreoffice

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{ config, pkgs, lib, system, user, host, allowed, secrets, ... }:
lib.mkIf (host != "NxACE")
{
home.packages = [
pkgs.remmina
@@ -22,9 +22,9 @@
".vpn/ljk-pnx-pass.txt".text = secrets.pnxVpn.pass;
# Remmina
".local/share/remmina/pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina".source = ./pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina;
".local/share/remmina/pnx_rdp_srv-phoenix-3_192-168-1-108.remmina".source = ./pnx_rdp_srv-phoenix-3_192-168-1-108.remmina;
".local/share/remmina/pnx_rdp_srv-phoenix2_192-168-1-101.remmina".source = ./pnx_rdp_srv-phoenix2_192-168-1-101.remmina;
".local/share/remmina/pnx_rdp_srv-remote_192-168-1-21.remmina".source = ./pnx_rdp_srv-remote_192-168-1-21.remmina;
".local/share/remmina/pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina".source = ./pnx/pnx_rdp_srv-phoe3-vmdms_192-168-1-104.remmina;
".local/share/remmina/pnx_rdp_srv-phoenix-3_192-168-1-108.remmina".source = ./pnx/pnx_rdp_srv-phoenix-3_192-168-1-108.remmina;
".local/share/remmina/pnx_rdp_srv-phoenix2_192-168-1-101.remmina".source = ./pnx/pnx_rdp_srv-phoenix2_192-168-1-101.remmina;
".local/share/remmina/pnx_rdp_srv-remote_192-168-1-21.remmina".source = ./pnx/pnx_rdp_srv-remote_192-168-1-21.remmina;
};
}
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, user, ... }:
let
python-with-packages = pkgs.python3.withPackages (pp: with pp; [
ipython
@@ -7,6 +7,7 @@ let
google google-api-python-client google-auth-httplib2 google-auth-oauthlib
]);
in
lib.mkIf (user != "tv")
{
home.packages = [
python-with-packages
@@ -15,4 +16,4 @@ in
home.sessionVariables = {
PYTHONPATH = "${python-with-packages}/${python-with-packages.sitePackages}";
};
}
}

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
qt = {
platformTheme = "gtk";

View File

@@ -1,7 +1,8 @@
{ config, pkgs, rice, ... }:
{ config, pkgs, rice, lib, user, ... }:
let
trdr = "${rice.lib.float-to-drune rice.transparency}";
in
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
rofi-wayland
@@ -108,4 +109,4 @@ in
text-color: inherit;
}
'';
}
}

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [

View File

@@ -1,5 +1,5 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = [
pkgs.starship

View File

@@ -1,106 +0,0 @@
SASS=sassc
SASSFLAGS= -I
GLIB_COMPILE_RESOURCES=glib-compile-resources
RES_DIR=gtk-3.0
SCSS_DIR=$(RES_DIR)/scss
DIST_DIR=$(RES_DIR)/dist
#
RES_DIR320=gtk-3.20
SCSS_DIR320=$(RES_DIR320)/scss
DIST_DIR320=$(RES_DIR320)/dist
#
RES_DIR_CINNAMON=cinnamon
SCSS_DIR_CINNAMON=$(RES_DIR_CINNAMON)/scss
DIST_DIR_CINNAMON=$(RES_DIR_CINNAMON)
# GTK3 ########################################################################
$(DIST_DIR):
mkdir -p "$@"
$(DIST_DIR)/gtk.css: $(DIST_DIR)
$(SASS) $(SASSFLAGS) "$(SCSS_DIR)" "$(SCSS_DIR)/gtk.scss" "$@"
$(DIST_DIR)/gtk-dark.css: $(DIST_DIR)/gtk.css
ifneq ("$(wildcard $(SCSS_DIR)/gtk-dark.scss)","")
$(SASS) $(SASSFLAGS) "$(SCSS_DIR)" "$(SCSS_DIR)/gtk-dark.scss" "$@"
else
cp "$(DIST_DIR)/gtk.css" "$@"
endif
css_gtk3: $(DIST_DIR)/gtk.css $(DIST_DIR)/gtk-dark.css
.PHONY: css_gtk3
$(RES_DIR)/gtk.gresource: css_gtk3
$(GLIB_COMPILE_RESOURCES) --sourcedir="$(RES_DIR)" "$@.xml"
gresource_gtk3: $(RES_DIR)/gtk.gresource
.PHONY: gresource_gtk3
clean_gtk3:
rm -rf "$(DIST_DIR)"
rm -f "$(RES_DIR)/gtk.gresource"
.PHONY: clean_gtk3
gtk3:
$(MAKE) clean_gtk3
$(MAKE) gresource_gtk3
.PHONY: gtk3
# GTK3.20+ ####################################################################
$(DIST_DIR320):
mkdir -p "$@"
$(DIST_DIR320)/gtk.css: $(DIST_DIR320)
$(SASS) $(SASSFLAGS) "$(SCSS_DIR320)" "$(SCSS_DIR320)/gtk.scss" "$@"
$(DIST_DIR320)/gtk-dark.css: $(DIST_DIR320)/gtk.css
ifneq ("$(wildcard $(SCSS_DIR320)/gtk-dark.scss)","")
$(SASS) $(SASSFLAGS) "$(SCSS_DIR320)" "$(SCSS_DIR320)/gtk-dark.scss" "$@"
else
cp "$(DIST_DIR320)/gtk.css" "$@"
endif
css_gtk320: $(DIST_DIR320)/gtk-dark.css $(DIST_DIR320)/gtk.css
.PHONY: css_gtk320
$(RES_DIR320)/gtk.gresource: css_gtk320
$(GLIB_COMPILE_RESOURCES) --sourcedir="$(RES_DIR320)" "$@.xml"
gresource_gtk320: $(RES_DIR320)/gtk.gresource
.PHONY: gresource_gtk320
clean_gtk320:
rm -rf "$(DIST_DIR320)"
rm -f "$(RES_DIR320)/gtk.gresource"
.PHONY: clean_gtk320
gtk320:
$(MAKE) clean_gtk320
$(MAKE) gresource_gtk320
.PHONY: gtk320
# Cinnamon ####################################################################
$(DIST_DIR_CINNAMON):
mkdir -p "$@"
$(DIST_DIR_CINNAMON)/cinnamon.css: $(DIST_DIR_CINNAMON)
$(SASS) $(SASSFLAGS) "$(SCSS_DIR_CINNAMON)" "$(SCSS_DIR_CINNAMON)/cinnamon.scss" "$@"
css_cinnamon: $(DIST_DIR_CINNAMON)/cinnamon.css
.PHONY: css_cinnamon
# Common ######################################################################
clean: clean_gtk3 clean_gtk320
.PHONY: clean
all: gtk3 gtk320 css_cinnamon
.PHONY: all
.DEFAULT_GOAL := all
# vim: set ts=4 sw=4 tw=0 noet :

View File

@@ -1,310 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=SC1090
set -ue
SRC_PATH=$(readlink -f "$(dirname "$0")")
darker () {
"${SRC_PATH}/scripts/darker.sh" "$@"
}
mix () {
"${SRC_PATH}/scripts/mix.sh" "$@"
}
print_usage() {
echo "Usage: $0 PATH_TO_PRESET"
echo " [--output OUTPUT_THEME_NAME] [--hidpi (True|False)]"
echo " [--make-opts (all|gtk3|gtk320)] [--path-list 'PATH PATH...']"
echo
echo "Options:"
echo " PATH_TO_PRESET path to Oomox theme file"
echo " -o NAME, --output NAME output theme name"
echo " -t DESTINATION_PATH, --target-dir DESTINATION_PATH"
echo " where the theme will be built"
echo " -d (true|false), --hidpi (true|false) generate GTK+2 assets with 2x scaling"
echo " -m (all|gtk3|gtk320), --make-opts (all|gtk3|gtk320)"
echo " which variant of GTK+3 theme to build"
echo " -p 'PATH PATH...', --path-list 'PATH PATH'"
echo " custom paths to theme files"
echo
echo "Examples:"
echo " $0 -o my-theme-name ../colors/retro/twg"
echo " $0 -o my-theme-name --hidpi True ../colors/retro/clearlooks"
echo " $0 -o my-theme-name -t ~/my_themes ../colors/retro/clearlooks"
echo " $0 -p \"./gtk-2.0 ./gtk-3.0 ./gtk-3.20 ./Makefile\" ../colors/gnome-colors/shiki-noble"
echo " $0 -p \"./gtk-2.0 ./gtk-3.0 ./gtk-3.20 ./Makefile\" -m gtk320 ../colors/monovedek/monovedek"
exit 1
}
while [[ $# -gt 0 ]]
do
case ${1} in
-p|--path-list)
CUSTOM_PATHLIST="${2}"
shift
;;
-o|--output)
OUTPUT_THEME_NAME="${2}"
shift
;;
-t|--target-dir)
DEST_PATH_ROOT="${2}"
shift
;;
-m|--make-opts)
MAKE_OPTS="${2}"
shift
;;
-d|--hidpi)
OPTION_GTK2_HIDPI="${2}"
shift
;;
*)
if [[ "${1}" == -* ]] || [[ ${THEME-} ]]; then
echo "unknown option ${1}"
print_usage
fi
THEME="${1}"
;;
esac
shift
done
if [[ -z "${THEME:-}" ]] ; then
print_usage
fi
PATHLIST=(
'./src/openbox-3'
'./src/assets'
'./src/gtk-2.0'
'./src/gtk-3.0'
'./src/gtk-3.20'
'./src/xfwm4'
'./src/metacity-1'
'./src/unity'
'Makefile'
'./src/index.theme'
'./src/qt5ct_palette.conf'
'./src/qt6ct_palette.conf'
'./src/cinnamon'
)
if [ -n "${CUSTOM_PATHLIST:-}" ] ; then
IFS=', ' read -r -a PATHLIST <<< "${CUSTOM_PATHLIST:-}"
fi
SVG_PREVIEWS=(
'./gtk-3.0/thumbnail.svg'
'./gtk-3.20/thumbnail.svg'
'./metacity-1/thumbnail.svg'
)
MAKE_GTK3=0
EXPORT_QT5CT=0
for FILEPATH in "${PATHLIST[@]}"; do
if [[ ${FILEPATH} == *Makefile* ]] ;then
MAKE_GTK3=1
elif [[ ${FILEPATH} == *qt5ct* ]] ;then
EXPORT_QT5CT=1
elif [[ ${FILEPATH} == *qt6ct* ]] ;then
EXPORT_QT6CT=1
fi
done
MAKE_OPTS="${MAKE_OPTS-all}"
OPTION_GTK2_HIDPI=$(echo "${OPTION_GTK2_HIDPI-False}" | tr '[:upper:]' '[:lower:]')
if [[ ${THEME} == */* ]] || [[ ${THEME} == *.* ]] ; then
source "$THEME"
THEME=$(basename "${THEME}")
else
if [[ -f "$SRC_PATH/../colors/$THEME" ]] ; then
source "$SRC_PATH/../colors/$THEME"
else
echo "Theme '${THEME}' not found"
exit 1
fi
fi
if [[ $(date +"%m%d") = "0401" ]] && [[ -z "${no_jokes:-}" ]] ; then
echo -e "\n\nError patching uxtheme.dll\n\n"
ACCENT_BG=30a55c BG=ECE9D8 BTN_BG=f8f8f8 BTN_FG=000000
BTN_OUTLINE_OFFSET=-3 BTN_OUTLINE_WIDTH=1 FG=000000 GRADIENT=0.08
GTK3_GENERATE_DARK=False HDR_BTN_BG=f8f8f8 HDR_BTN_FG=000000 HDR_BG=ECE9D8
HDR_FG=000000 OUTLINE_WIDTH=1 ROUNDNESS=3 SEL_BG=3169C6 SEL_FG=FFFFFF
SPACING=3 TXT_BG=FFFFFF TXT_FG=000000 WM_BORDER_FOCUS=3169C6 WM_BORDER_UNFOCUS=ECE9D8
fi
# Migration:
HDR_BG=${HDR_BG-$MENU_BG}
HDR_FG=${HDR_FG-$MENU_FG}
ACCENT_BG=${ACCENT_BG-$SEL_BG}
HDR_BTN_BG=${HDR_BTN_BG-$BTN_BG}
HDR_BTN_FG=${HDR_BTN_FG-$BTN_FG}
WM_BORDER_FOCUS=${WM_BORDER_FOCUS-$SEL_BG}
WM_BORDER_UNFOCUS=${WM_BORDER_UNFOCUS-$HDR_BG}
GTK3_GENERATE_DARK=$(echo "${GTK3_GENERATE_DARK-True}" | tr '[:upper:]' '[:lower:]')
UNITY_DEFAULT_LAUNCHER_STYLE=$(echo "${UNITY_DEFAULT_LAUNCHER_STYLE-False}" | tr '[:upper:]' '[:lower:]')
SPACING=${SPACING-3}
GRADIENT=${GRADIENT-0}
ROUNDNESS=${ROUNDNESS-2}
CINNAMON_OPACITY=${CINNAMON_OPACITY-1}
ROUNDNESS_GTK2_HIDPI=$(( ROUNDNESS * 2 ))
if [ "$(echo "$GRADIENT < 2" | bc)" ]; then
GTK2_GRAD=$(echo "scale=2; $GRADIENT/2" | bc)
else
GTK2_GRAD=1
fi
GTK2_GRAD_1=$(echo "1+$GTK2_GRAD" | bc)
GTK2_GRAD_2=$(echo "1-$GTK2_GRAD" | bc)
if expr "$GTK2_GRAD_1" : '-\?[0-9]\+$' >/dev/null; then
GTK2_GRAD_TOP="$GTK2_GRAD_1".0
GTK2_GRAD_BOTTOM="$GTK2_GRAD_2".0
else
GTK2_GRAD_TOP=$GTK2_GRAD_1
GTK2_GRAD_BOTTOM=$GTK2_GRAD_2
fi
OUTLINE_WIDTH=${OUTLINE_WIDTH-1}
BTN_OUTLINE_WIDTH=${BTN_OUTLINE_WIDTH-1}
BTN_OUTLINE_OFFSET=${BTN_OUTLINE_OFFSET--3}
INACTIVE_FG=$(mix "$FG" "$BG" 0.75)
INACTIVE_HDR_FG=$(mix "$HDR_FG" "$HDR_BG" 0.75)
INACTIVE_TXT_FG=$(mix "$TXT_FG" "$TXT_BG" 0.75)
light_folder_base_fallback="$(darker "$SEL_BG" -10)"
medium_base_fallback="$(darker "$SEL_BG" 37)"
dark_stroke_fallback="$(darker "$SEL_BG" 50)"
ICONS_LIGHT_FOLDER="${ICONS_LIGHT_FOLDER-$light_folder_base_fallback}"
ICONS_LIGHT="${ICONS_LIGHT-$SEL_BG}"
ICONS_MEDIUM="${ICONS_MEDIUM-$medium_base_fallback}"
ICONS_DARK="${ICONS_DARK-$dark_stroke_fallback}"
CARET1_FG="${CARET1_FG-$TXT_FG}"
CARET2_FG="${CARET2_FG-$TXT_FG}"
CARET_SIZE="${CARET_SIZE-0.04}"
TERMINAL_BACKGROUND=${TERMINAL_BACKGROUND:-$SEL_FG}
TERMINAL_COLOR4=${TERMINAL_COLOR4:-3f51b5}
TERMINAL_COLOR9=${TERMINAL_COLOR9:-f44336}
TERMINAL_COLOR10=${TERMINAL_COLOR10:-4caf50}
TERMINAL_COLOR11=${TERMINAL_COLOR11:-ef6c00}
TERMINAL_COLOR12=${TERMINAL_COLOR12:-03a9f4}
OUTPUT_THEME_NAME="${OUTPUT_THEME_NAME-oomox-$THEME}"
DEST_PATH_ROOT="${DEST_PATH_ROOT-$HOME/.themes}"
DEST_PATH="$DEST_PATH_ROOT/${OUTPUT_THEME_NAME/\//-}"
test "$SRC_PATH" = "$DEST_PATH" && echo "can't do that" && exit 1
rm -fr "$DEST_PATH"
mkdir -p "$DEST_PATH"
echo -e "\nBuilding theme at $DEST_PATH\n"
cp -r "$SRC_PATH/src/index.theme" "$DEST_PATH"
for FILEPATH in "${PATHLIST[@]}"; do
cp -r "$SRC_PATH/$FILEPATH" "$DEST_PATH"
done
cd "$DEST_PATH"
for FILEPATH in "${PATHLIST[@]}"; do
find "$(echo "${FILEPATH}" | sed -e 's/src\///g' )" -type f -exec sed -i'' \
-e 's/%BG%/'"$BG"'/g' \
-e 's/%FG%/'"$FG"'/g' \
-e 's/%SEL_BG%/'"$SEL_BG"'/g' \
-e 's/%SEL_FG%/'"$SEL_FG"'/g' \
-e 's/%ACCENT_BG%/'"$ACCENT_BG"'/g' \
-e 's/%TXT_BG%/'"$TXT_BG"'/g' \
-e 's/%TXT_FG%/'"$TXT_FG"'/g' \
-e 's/%HDR_BG%/'"$HDR_BG"'/g' \
-e 's/%HDR_FG%/'"$HDR_FG"'/g' \
-e 's/%BTN_BG%/'"$BTN_BG"'/g' \
-e 's/%BTN_FG%/'"$BTN_FG"'/g' \
-e 's/%HDR_BTN_BG%/'"$HDR_BTN_BG"'/g' \
-e 's/%HDR_BTN_FG%/'"$HDR_BTN_FG"'/g' \
-e 's/%WM_BORDER_FOCUS%/'"$WM_BORDER_FOCUS"'/g' \
-e 's/%WM_BORDER_UNFOCUS%/'"$WM_BORDER_UNFOCUS"'/g' \
-e 's/%ROUNDNESS%/'"$ROUNDNESS"'/g' \
-e 's/%ROUNDNESS_GTK2_HIDPI%/'"$ROUNDNESS_GTK2_HIDPI"'/g' \
-e 's/%OUTLINE_WIDTH%/'"$OUTLINE_WIDTH"'/g' \
-e 's/%BTN_OUTLINE_WIDTH%/'"$BTN_OUTLINE_WIDTH"'/g' \
-e 's/%BTN_OUTLINE_OFFSET%/'"$BTN_OUTLINE_OFFSET"'/g' \
-e 's/%SPACING%/'"$SPACING"'/g' \
-e 's/%GRADIENT%/'"$GRADIENT"'/g' \
-e 's/%GTK2_GRAD_TOP%/'"$GTK2_GRAD_TOP"'/g' \
-e 's/%GTK2_GRAD_BOTTOM%/'"$GTK2_GRAD_BOTTOM"'/g' \
-e 's/%CINNAMON_OPACITY%/'"$CINNAMON_OPACITY"'/g' \
-e 's/%INACTIVE_FG%/'"$INACTIVE_FG"'/g' \
-e 's/%INACTIVE_TXT_FG%/'"$INACTIVE_TXT_FG"'/g' \
-e 's/%INACTIVE_HDR_FG%/'"$INACTIVE_HDR_FG"'/g' \
-e 's/%ICONS_DARK%/'"$ICONS_DARK"'/g' \
-e 's/%ICONS_MEDIUM%/'"$ICONS_MEDIUM"'/g' \
-e 's/%ICONS_LIGHT%/'"$ICONS_LIGHT"'/g' \
-e 's/%ICONS_LIGHT_FOLDER%/'"$ICONS_LIGHT_FOLDER"'/g' \
-e 's/%OUTPUT_THEME_NAME%/'"$OUTPUT_THEME_NAME"'/g' \
-e 's/%CARET1_FG%/'"$CARET1_FG"'/g' \
-e 's/%CARET2_FG%/'"$CARET2_FG"'/g' \
-e 's/%CARET_SIZE%/'"$CARET_SIZE"'/g' \
-e 's/%TERMINAL_BACKGROUND%/'"$TERMINAL_BACKGROUND"'/g' \
-e 's/%TERMINAL_COLOR4%/'"$TERMINAL_COLOR4"'/g' \
-e 's/%TERMINAL_COLOR9%/'"$TERMINAL_COLOR9"'/g' \
-e 's/%TERMINAL_COLOR10%/'"$TERMINAL_COLOR10"'/g' \
-e 's/%TERMINAL_COLOR11%/'"$TERMINAL_COLOR11"'/g' \
-e 's/%TERMINAL_COLOR12%/'"$TERMINAL_COLOR12"'/g' \
{} \; ;
done
if [[ ${GTK3_GENERATE_DARK} != "true" ]] ; then
if [[ -f ./gtk-3.0/scss/gtk-dark.scss ]] ; then
rm ./gtk-3.0/scss/gtk-dark.scss
fi
if [[ -f ./gtk-3.20/scss/gtk-dark.scss ]] ; then
rm ./gtk-3.20/scss/gtk-dark.scss
fi
fi
if [[ ${OPTION_GTK2_HIDPI} == "true" ]] ; then
mv ./gtk-2.0/gtkrc.hidpi ./gtk-2.0/gtkrc
fi
if [[ ${UNITY_DEFAULT_LAUNCHER_STYLE} == "true" ]] ; then
rm ./unity/launcher*.svg
fi
if [[ ${MAKE_GTK3} = 1 ]]; then
# shellcheck disable=SC2086
env MAKEFLAGS= make --jobs="$(nproc)" ${MAKE_OPTS}
fi
config_home=${XDG_CONFIG_HOME:-}
if [[ -z "${config_home}" ]] ; then
config_home="${HOME}/.config"
fi
if [[ ${EXPORT_QT5CT} = 1 ]] ; then
qt5ct_colors_dir="${config_home}/qt5ct/colors/"
test -d "${qt5ct_colors_dir}" || mkdir -p "${qt5ct_colors_dir}"
mv ./qt5ct_palette.conf "${qt5ct_colors_dir}/${OUTPUT_THEME_NAME}.conf"
fi
if [[ ${EXPORT_QT6CT} = 1 ]] ; then
qt6ct_colors_dir="${config_home}/qt6ct/colors/"
test -d "${qt6ct_colors_dir}" || mkdir -p "${qt6ct_colors_dir}"
mv ./qt6ct_palette.conf "${qt6ct_colors_dir}/${OUTPUT_THEME_NAME}.conf"
fi
rm -fr ./Makefile gtk-3.*/scss
for FILEPATH in "${SVG_PREVIEWS[@]}"; do
# shellcheck disable=SC2001
rsvg-convert --format=png -o "$(sed -e 's/svg$/png/' <<< "${FILEPATH}")" "${FILEPATH}"
rm "${FILEPATH}"
done
exit 0

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%TXT_BG%;fill-opacity:1;" d="M 16.667969 8.332031 L 116.667969 8.332031 C 121.257812 8.332031 125 12.078125 125 16.667969 L 125 116.667969 C 125 121.257812 121.257812 125 116.667969 125 L 16.667969 125 C 12.078125 125 8.332031 121.257812 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.078125 12.078125 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.30;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,219 +0,0 @@
import os
from typing import TYPE_CHECKING
from gi.repository import Gtk
from oomox_gui.export_common import CommonGtkThemeExportDialog, CommonGtkThemeExportDialogOptions
from oomox_gui.i18n import translate
from oomox_gui.plugin_api import OomoxThemePlugin
if TYPE_CHECKING:
from typing import Any, Final
from oomox_gui.preview import ThemePreview
from oomox_gui.theme_file import ThemeT
PLUGIN_DIR: "Final" = os.path.dirname(os.path.realpath(__file__))
GTK_THEME_DIR: "Final" = PLUGIN_DIR
class OomoxThemeExportDialogOptions(CommonGtkThemeExportDialogOptions):
GTK3_CURRENT_VERSION_ONLY = "self.OPTIONS.GTK3_CURRENT_VERSION_ONLY"
EXPORT_CINNAMON_THEME = "self.OPTIONS.EXPORT_CINNAMON_THEME"
class OomoxThemeExportDialog(CommonGtkThemeExportDialog):
OPTIONS = OomoxThemeExportDialogOptions()
timeout = 100
config_name = "gtk_theme_oomox"
def do_export(self) -> None:
export_path = os.path.expanduser(
self.option_widgets[self.OPTIONS.DEFAULT_PATH].get_text(),
)
new_destination_dir, theme_name = export_path.rsplit("/", 1)
self.command = [
"bash",
os.path.join(GTK_THEME_DIR, "change_color.sh"),
"--hidpi", str(self.export_config[self.OPTIONS.GTK2_HIDPI]),
"--target-dir", new_destination_dir,
"--output", theme_name,
self.temp_theme_path,
]
make_opts = []
if self.export_config[self.OPTIONS.GTK3_CURRENT_VERSION_ONLY]:
if Gtk.get_minor_version() >= 20: # noqa: PLR2004
make_opts += ["gtk320"]
else:
make_opts += ["gtk3"]
else:
make_opts += ["gtk3", "gtk320"]
if self.export_config[self.OPTIONS.EXPORT_CINNAMON_THEME]:
make_opts += ["css_cinnamon"]
if make_opts:
self.command += [
"--make-opts", " ".join(make_opts),
]
super().do_export()
def __init__(
self,
transient_for: Gtk.Window,
colorscheme: "ThemeT",
theme_name: str,
**kwargs: "Any",
) -> None:
super().__init__(
transient_for=transient_for,
colorscheme=colorscheme,
theme_name=theme_name,
add_options={
self.OPTIONS.GTK3_CURRENT_VERSION_ONLY: {
"default": False,
"display_name": translate(
"Generate theme only for the current _GTK+3 version\n"
"instead of both 3.18 and 3.20+",
),
},
self.OPTIONS.EXPORT_CINNAMON_THEME: {
"default": False,
"display_name": translate("Generate theme for _Cinnamon"),
},
},
**kwargs,
)
class Plugin(OomoxThemePlugin):
name = "oomox"
display_name = "Oomox"
description = (
"GTK+2, GTK+3, Qt5ct, Qt6ct\n"
"Cinnamon, Metacity, Openbox, Unity, Xfwm"
)
about_text = translate("The default theme, originally based on Numix GTK theme.")
about_links = [
{
"name": translate("Homepage"),
"url": "https://github.com/themix-project/oomox-gtk-theme/",
},
]
export_dialog = OomoxThemeExportDialog
gtk_preview_dir = os.path.join(PLUGIN_DIR, "gtk_preview_css/")
enabled_keys_gtk = [
"BG",
"FG",
"HDR_BG",
"HDR_FG",
"SEL_BG",
"SEL_FG",
"ACCENT_BG",
"TXT_BG",
"TXT_FG",
"BTN_BG",
"BTN_FG",
"HDR_BTN_BG",
"HDR_BTN_FG",
"WM_BORDER_FOCUS",
"WM_BORDER_UNFOCUS",
]
enabled_keys_options = [
"ROUNDNESS",
"SPACING",
"GRADIENT",
"GTK3_GENERATE_DARK",
]
theme_model_gtk = [
{
"key": "CARET1_FG",
"type": "color",
"fallback_key": "TXT_FG",
"display_name": translate("Textbox Caret"),
},
{
"key": "CARET2_FG",
"type": "color",
"fallback_key": "TXT_FG",
"display_name": translate("BiDi Textbox Caret"),
},
]
theme_model_options = [
{
"key": "CARET_SIZE",
"type": "float",
"fallback_value": 0.04, # GTK's default
"display_name": translate("Textbox Caret Aspect Ratio"),
},
{
"type": "separator",
"display_name": translate("GTK3 Theme Options"),
"value_filter": {
"THEME_STYLE": "oomox",
},
},
{
"key": "SPACING",
"type": "int",
"fallback_value": 3,
"display_name": translate("Spacing"),
},
{
"key": "OUTLINE_WIDTH",
"type": "int",
"fallback_value": 1,
"display_name": translate("Focused Outline Width"),
},
{
"key": "BTN_OUTLINE_WIDTH",
"type": "int",
"fallback_value": 1,
"display_name": translate("Focused Button Outline Width"),
},
{
"key": "BTN_OUTLINE_OFFSET",
"type": "int",
"fallback_value": -3,
"min_value": -20,
"display_name": translate("Focused Button Outline Offset"),
},
{
"key": "GTK3_GENERATE_DARK",
"type": "bool",
"fallback_value": True,
"display_name": translate("Add Dark Variant"),
},
{
"type": "separator",
"display_name": translate("Desktop Environments"),
"value_filter": {
"THEME_STYLE": "oomox",
},
},
{
"key": "CINNAMON_OPACITY",
"type": "float",
"fallback_value": 1.0,
"max_value": 1.0,
"display_name": translate("Cinnamon: Opacity"),
},
{
"key": "UNITY_DEFAULT_LAUNCHER_STYLE",
"type": "bool",
"fallback_value": False,
"display_name": translate("Unity: Use Default Launcher Style"),
},
]
def preview_before_load_callback(
self, preview_object: "ThemePreview", colorscheme: "ThemeT", # noqa: ARG002
) -> None:
preview_object.WM_BORDER_WIDTH = 2

View File

@@ -1,34 +0,0 @@
#!/usr/bin/env bash
set -ueo pipefail
#set -x
darker_channel() {
value="$1"
light_delta="$2"
value_int="$(bc <<< "ibase=16; $value")"
result="$(bc <<< "$value_int - $light_delta")"
if [[ "$result" -lt 0 ]]; then
result=0
fi
if [[ "$result" -gt 255 ]]; then
result=255
fi
echo "$result"
}
darker() {
hexinput="$(tr '[:lower:]' '[:upper:]' <<< "$1")"
light_delta="${2-10}"
a="$(cut -c-2 <<< "$hexinput")"
b="$(cut -c3-4 <<< "$hexinput")"
c="$(cut -c5-6 <<< "$hexinput")"
r="$(darker_channel "$a" "$light_delta")"
g="$(darker_channel "$b" "$light_delta")"
b="$(darker_channel "$c" "$light_delta")"
printf '%02x%02x%02x\n' "$r" "$g" "$b"
}
darker "$@"

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
script_dir="$(readlink -f "$(dirname "${0}")")"
is_dark() {
hexinput=$(echo "${1}" | tr '[:lower:]' '[:upper:]')
half_darker=$("${script_dir}/darker.sh" "${hexinput}" 88)
if [[ "${half_darker}" = "000000" ]] ; then
return 0;
else
return 1;
fi
}
is_dark "$@"

View File

@@ -1,37 +0,0 @@
#!/usr/bin/env bash
set -ueo pipefail
#set -x
mix_channel() {
value1="$(printf '%03d' "0x$1")"
value2="$(printf '%03d' "0x$2")"
ratio="$3"
result="$(bc <<< "scale=0; ($value1 * 100 * $ratio + $value2 * 100 * (1 - $ratio)) / 100")"
if [[ "$result" -lt 0 ]]; then
result=0
elif [[ "$result" -gt 255 ]]; then
result=255
fi
echo "$result"
}
mix() {
hexinput1="$(tr '[:lower:]' '[:upper:]' <<< "$1")"
hexinput2="$(tr '[:lower:]' '[:upper:]' <<< "$2")"
ratio="${3-0.5}"
a="$(cut -c-2 <<< "$hexinput1")"
b="$(cut -c3-4 <<< "$hexinput1")"
c="$(cut -c5-6 <<< "$hexinput1")"
d="$(cut -c-2 <<< "$hexinput2")"
e="$(cut -c3-4 <<< "$hexinput2")"
f="$(cut -c5-6 <<< "$hexinput2")"
r="$(mix_channel "$a" "$d" "$ratio")"
g="$(mix_channel "$b" "$e" "$ratio")"
b="$(mix_channel "$c" "$f" "$ratio")"
printf '%02x%02x%02x\n' "$r" "$g" "$b"
}
mix "$@"

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 154 KiB

View File

@@ -1,38 +0,0 @@
checkbox-checked-dark
checkbox-checked-insensitive-dark
checkbox-checked-insensitive
checkbox-checked
checkbox-mixed-dark
checkbox-mixed-insensitive-dark
checkbox-mixed-insensitive
checkbox-mixed
checkbox-unchecked-dark
checkbox-unchecked-insensitive-dark
checkbox-unchecked-insensitive
checkbox-unchecked
grid-selection-checked-dark
grid-selection-checked
grid-selection-unchecked-dark
grid-selection-unchecked
menuitem-checkbox-checked-hover
menuitem-checkbox-checked-insensitive
menuitem-checkbox-checked
menuitem-checkbox-mixed-hover
menuitem-checkbox-mixed-insensitive
menuitem-checkbox-mixed
menuitem-radio-checked-hover
menuitem-radio-checked-insensitive
menuitem-radio-checked
pane-handle
radio-checked-dark
radio-checked-insensitive-dark
radio-checked-insensitive
radio-checked
radio-mixed-dark
radio-mixed-insensitive-dark
radio-mixed-insensitive
radio-mixed
radio-unchecked-dark
radio-unchecked-insensitive-dark
radio-unchecked-insensitive
radio-unchecked

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env bash
for f in "$@"; do
rsvg-convert -d 300 -p 300 -f svg "$f" -o "${f}.bak" ; mv "${f}.bak" "$f"
done

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.3;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 849 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 854 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.3;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 385 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 390 B

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="333pt" height="333pt" viewBox="0 0 333 333" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%TXT_BG%;fill-opacity:1;" d="M 20.246094 11.914062 L 316.082031 11.914062 C 320.671875 11.914062 324.414062 15.625 324.414062 20.246094 L 324.414062 316.082031 C 324.414062 320.671875 320.671875 324.414062 316.082031 324.414062 L 20.246094 324.414062 C 15.625 324.414062 11.914062 320.671875 11.914062 316.082031 L 11.914062 20.246094 C 11.914062 15.625 15.625 11.914062 20.246094 11.914062 Z M 20.246094 11.914062 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 41.667969 0 C 18.585938 0 0 18.585938 0 41.667969 L 0 291.667969 C 0 314.746094 18.585938 333.332031 41.667969 333.332031 L 291.667969 333.332031 C 314.746094 333.332031 333.332031 314.746094 333.332031 291.667969 L 333.332031 41.667969 C 333.332031 18.585938 314.746094 0 291.667969 0 Z M 41.667969 17.121094 L 291.667969 17.121094 C 303.222656 17.121094 316.960938 30.109375 316.960938 41.667969 L 316.960938 291.667969 C 316.960938 303.222656 303.222656 316.960938 291.667969 316.960938 L 41.667969 316.960938 C 30.109375 316.960938 17.121094 303.222656 17.121094 291.667969 L 17.121094 41.667969 C 17.121094 30.109375 30.109375 17.121094 41.667969 17.121094 Z M 41.667969 17.121094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.30;" d="M 41.667969 0 C 18.585938 0 0 18.585938 0 41.667969 L 0 291.667969 C 0 314.746094 18.585938 333.332031 41.667969 333.332031 L 291.667969 333.332031 C 314.746094 333.332031 333.332031 314.746094 333.332031 291.667969 L 333.332031 41.667969 C 333.332031 18.585938 314.746094 0 291.667969 0 Z M 41.667969 17.121094 L 291.667969 17.121094 C 303.222656 17.121094 316.960938 30.109375 316.960938 41.667969 L 316.960938 291.667969 C 316.960938 303.222656 303.222656 316.960938 291.667969 316.960938 L 41.667969 316.960938 C 30.109375 316.960938 17.121094 303.222656 17.121094 291.667969 L 17.121094 41.667969 C 17.121094 30.109375 30.109375 17.121094 41.667969 17.121094 Z M 41.667969 17.121094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_BG%;fill-opacity:1;" d="M 242.773438 81.640625 C 235.15625 81.835938 227.636719 85.027344 222.234375 90.527344 L 138.3125 170.441406 L 109.503906 138.183594 C 99.25 124.511719 76.789062 123.046875 64.910156 135.253906 C 53.027344 147.492188 54.6875 170.378906 68.164062 180.695312 L 117.839844 234.015625 C 137.335938 253.546875 146.160156 250.945312 165.851562 231.21875 C 165.851562 231.21875 233.5625 149.773438 273.273438 122.234375 C 282.03125 113.898438 285.710938 111.589844 281.121094 100.324219 C 276.5625 89.03125 254.753906 81.21875 242.773438 81.640625 Z M 242.773438 81.640625 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="333pt" height="333pt" viewBox="0 0 333 333" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%TXT_BG%;fill-opacity:1;" d="M 20.246094 11.914062 L 316.082031 11.914062 C 320.671875 11.914062 324.414062 15.625 324.414062 20.246094 L 324.414062 316.082031 C 324.414062 320.671875 320.671875 324.414062 316.082031 324.414062 L 20.246094 324.414062 C 15.625 324.414062 11.914062 320.671875 11.914062 316.082031 L 11.914062 20.246094 C 11.914062 15.625 15.625 11.914062 20.246094 11.914062 Z M 20.246094 11.914062 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 41.667969 0 C 18.585938 0 0 18.585938 0 41.667969 L 0 291.667969 C 0 314.746094 18.585938 333.332031 41.667969 333.332031 L 291.667969 333.332031 C 314.746094 333.332031 333.332031 314.746094 333.332031 291.667969 L 333.332031 41.667969 C 333.332031 18.585938 314.746094 0 291.667969 0 Z M 41.667969 17.121094 L 291.667969 17.121094 C 303.222656 17.121094 316.960938 30.109375 316.960938 41.667969 L 316.960938 291.667969 C 316.960938 303.222656 303.222656 316.960938 291.667969 316.960938 L 41.667969 316.960938 C 30.109375 316.960938 17.121094 303.222656 17.121094 291.667969 L 17.121094 41.667969 C 17.121094 30.109375 30.109375 17.121094 41.667969 17.121094 Z M 41.667969 17.121094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.30;" d="M 41.667969 0 C 18.585938 0 0 18.585938 0 41.667969 L 0 291.667969 C 0 314.746094 18.585938 333.332031 41.667969 333.332031 L 291.667969 333.332031 C 314.746094 333.332031 333.332031 314.746094 333.332031 291.667969 L 333.332031 41.667969 C 333.332031 18.585938 314.746094 0 291.667969 0 Z M 41.667969 17.121094 L 291.667969 17.121094 C 303.222656 17.121094 316.960938 30.109375 316.960938 41.667969 L 316.960938 291.667969 C 316.960938 303.222656 303.222656 316.960938 291.667969 316.960938 L 41.667969 316.960938 C 30.109375 316.960938 17.121094 303.222656 17.121094 291.667969 L 17.121094 41.667969 C 17.121094 30.109375 30.109375 17.121094 41.667969 17.121094 Z M 41.667969 17.121094 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_FG%;fill-opacity:1;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.6;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_BG%;fill-opacity:1;" d="M 97.101562 32.648438 C 94.074219 32.746094 91.046875 34.015625 88.898438 36.199219 L 55.304688 68.164062 L 43.816406 55.273438 C 39.714844 49.804688 30.730469 49.21875 25.976562 54.101562 C 21.222656 58.984375 21.875 68.164062 27.277344 72.265625 L 47.136719 93.621094 C 54.949219 101.433594 58.464844 100.390625 66.339844 92.480469 C 66.339844 92.480469 93.425781 59.894531 109.308594 48.894531 C 112.824219 45.574219 114.289062 44.628906 112.433594 40.136719 C 110.613281 35.613281 101.886719 32.488281 97.101562 32.648438 Z M 97.101562 32.648438 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_FG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.6;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_BG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 16.667969 0 C 7.421875 0 0 7.421875 0 16.667969 L 0 116.667969 C 0 125.910156 7.421875 133.332031 16.667969 133.332031 L 116.667969 133.332031 C 125.910156 133.332031 133.332031 125.910156 133.332031 116.667969 L 133.332031 16.667969 C 133.332031 7.421875 125.910156 0 116.667969 0 Z M 16.667969 8.332031 L 116.667969 8.332031 C 121.289062 8.332031 125 12.042969 125 16.667969 L 125 116.667969 C 125 121.289062 121.289062 125 116.667969 125 L 16.667969 125 C 12.042969 125 8.332031 121.289062 8.332031 116.667969 L 8.332031 16.667969 C 8.332031 12.042969 12.042969 8.332031 16.667969 8.332031 Z M 16.667969 8.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 921 B

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_FG%;fill-opacity:1;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.6;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_BG%;fill-opacity:1;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_FG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.6;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%SEL_BG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%HDR_FG%;fill-opacity:0.5;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 779 B

View File

@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="75pt" height="33pt" viewBox="0 0 75 33" version="1.1">
<defs>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<image id="image9" width="75" height="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAhCAYAAACRIVbWAAAABmJLR0QA/wD/AP+gvaeTAAAAZElEQVRoge3QsQmEABREwe81oDVYzrVtTeZ2ILxEUGbiDZa3DDMzc6zr9j/P/W7ze+rMF4gViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgViBWIFYgFAABvcgF9SgN3pbm/PgAAAABJRU5ErkJggg=="/>
<mask id="mask0">
<g filter="url(#alpha)">
<use xlink:href="#image9"/>
</g>
</mask>
<clipPath id="clip1">
<rect width="75" height="33"/>
</clipPath>
<g id="surface11" clip-path="url(#clip1)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 75 33.332031 L 66.667969 33.332031 L 66.667969 0 L 75 0 Z M 75 33.332031 "/>
</g>
<image id="image17" width="75" height="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAhCAYAAACRIVbWAAAABmJLR0QA/wD/AP+gvaeTAAAAdUlEQVRoge3QsQ2CAABEUZGC2hFciwWcyQVcyxGsKUhYAIvfiCTvtddc/nD5A69puj/W9fZtf47jZ16W9y8/7bkefeBMxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxAIAgDPZAFX+CDDsK9FnAAAAAElFTkSuQmCC"/>
<mask id="mask1">
<g filter="url(#alpha)">
<use xlink:href="#image17"/>
</g>
</mask>
<clipPath id="clip2">
<rect width="75" height="33"/>
</clipPath>
<g id="surface19" clip-path="url(#clip2)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 41.667969 33.332031 L 33.332031 33.332031 L 33.332031 0 L 41.667969 0 Z M 41.667969 33.332031 "/>
</g>
<image id="image25" width="75" height="33" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAhCAYAAACRIVbWAAAABmJLR0QA/wD/AP+gvaeTAAAAaklEQVRoge3QsQ3CQAAEQUDOXm7GOW1TDjX4O6ADSxtZL2biC0773LfteFz4jPF9z3lebf7F6+4DKxErECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxArECsQKxALAABW8gMYpgUwh9byuwAAAABJRU5ErkJggg=="/>
<mask id="mask2">
<g filter="url(#alpha)">
<use xlink:href="#image25"/>
</g>
</mask>
<clipPath id="clip3">
<rect width="75" height="33"/>
</clipPath>
<g id="surface27" clip-path="url(#clip3)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 8.332031 33.332031 L 0 33.332031 L 0 0 L 8.332031 0 Z M 8.332031 33.332031 "/>
</g>
</defs>
<g id="surface1">
<use xlink:href="#surface11" mask="url(#mask0)"/>
<use xlink:href="#surface19" mask="url(#mask1)"/>
<use xlink:href="#surface27" mask="url(#mask2)"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 B

View File

@@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="33pt" height="75pt" viewBox="0 0 33 75" version="1.1">
<defs>
<filter id="alpha" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix type="matrix" in="SourceGraphic" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
</filter>
<image id="image9" width="33" height="75" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAABLCAYAAAD+i+5TAAAABmJLR0QA/wD/AP+gvaeTAAAATklEQVRoge3OIQ6AMBBE0YXUknIWPKfHcxYabAVqdTF17+lJ5kcAAAAAAAAAAEBExHLVus88OFt7hhFbKcfMiLf3e7RZZwb8JSKJSCLSBwPTCBHQfxYWAAAAAElFTkSuQmCC"/>
<mask id="mask0">
<g filter="url(#alpha)">
<use xlink:href="#image9"/>
</g>
</mask>
<clipPath id="clip1">
<rect width="33" height="75"/>
</clipPath>
<g id="surface11" clip-path="url(#clip1)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 33.332031 66.667969 L 33.332031 75 L 0 75 L 0 66.667969 Z M 33.332031 66.667969 "/>
</g>
<image id="image17" width="33" height="75" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAABLCAYAAAD+i+5TAAAABmJLR0QA/wD/AP+gvaeTAAAAYUlEQVRoge3OsQmAQBBFwVMPjCzCFizHzmzAcmzBEgyMDi4wMtZkQWQmXva/lAAAAABIzdr3Y+TAXMr+GDHkPEVGnLVuTzdtZMBbIm4ibp+IyEvXHZEDc62R7wEAAAD+4wLtUAvzrnEaRAAAAABJRU5ErkJggg=="/>
<mask id="mask1">
<g filter="url(#alpha)">
<use xlink:href="#image17"/>
</g>
</mask>
<clipPath id="clip2">
<rect width="33" height="75"/>
</clipPath>
<g id="surface19" clip-path="url(#clip2)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 33.332031 33.332031 L 33.332031 41.667969 L 0 41.667969 L 0 33.332031 Z M 33.332031 33.332031 "/>
</g>
<image id="image25" width="33" height="75" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAABLCAYAAAD+i+5TAAAABmJLR0QA/wD/AP+gvaeTAAAATUlEQVRoge3OIQ6AMBBFQUpqSTkLntPjOQsNtgK1GswaMqM3+19Zat2mRPcY59vNnBnwlYggIogI5WhtzRzYe78y/wMAAAAAAAAA8CcP/2EIET6xKgwAAAAASUVORK5CYII="/>
<mask id="mask2">
<g filter="url(#alpha)">
<use xlink:href="#image25"/>
</g>
</mask>
<clipPath id="clip3">
<rect width="33" height="75"/>
</clipPath>
<g id="surface27" clip-path="url(#clip3)">
<path style=" stroke:none;fill-rule:nonzero;fill:#%BG%;fill-opacity:1;" d="M 33.332031 0 L 33.332031 8.332031 L 0 8.332031 L 0 0 Z M 33.332031 0 "/>
</g>
</defs>
<g id="surface1">
<use xlink:href="#surface11" mask="url(#mask0)"/>
<use xlink:href="#surface19" mask="url(#mask1)"/>
<use xlink:href="#surface27" mask="url(#mask2)"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.3;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 589 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 594 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.3;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 385 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 33.332031 58.332031 L 100 58.332031 L 100 75 L 33.332031 75 Z M 33.332031 58.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 390 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.3;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 589 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%ACCENT_BG%;fill-opacity:1;" d="M 91.667969 66.667969 C 91.667969 80.46875 80.46875 91.667969 66.667969 91.667969 C 52.863281 91.667969 41.667969 80.46875 41.667969 66.667969 C 41.667969 52.863281 52.863281 41.667969 66.667969 41.667969 C 80.46875 41.667969 91.667969 52.863281 91.667969 66.667969 Z M 91.667969 66.667969 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 594 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.15;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 776 B

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133pt" height="133pt" viewBox="0 0 133 133" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:#%FG%;fill-opacity:0.30;" d="M 66.667969 0 C 29.851562 0 0 29.851562 0 66.667969 C 0 103.484375 29.851562 133.332031 66.667969 133.332031 C 103.484375 133.332031 133.332031 103.484375 133.332031 66.667969 C 133.332031 29.851562 103.484375 0 66.667969 0 Z M 66.667969 8.332031 C 98.894531 8.332031 125 34.441406 125 66.667969 C 125 98.894531 98.894531 125 66.667969 125 C 34.441406 125 8.332031 98.894531 8.332031 66.667969 C 8.332031 34.441406 34.441406 8.332031 66.667969 8.332031 Z M 66.667969 8.332031 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 776 B

View File

@@ -1,9 +0,0 @@
#!/bin/sh
sed -i \
-e 's/#%BG%/rgb(0%,0%,0%)/g' \
-e 's/#%FG%/rgb(100%,100%,100%)/g' \
-e 's/#%HDR_BG%/rgb(50%,0%,0%)/g' \
-e 's/#%ACCENT_BG%/rgb(0%,50%,0%)/g' \
-e 's/#%TXT_BG%/rgb(50%,0%,50%)/g' \
-e 's/#%TXT_FG%/rgb(0%,0%,50%)/g' \
"$@"

View File

@@ -1,11 +0,0 @@
#!/bin/sh
sed -i \
-e 's/rgb(0%,0%,0%)/#%BG%/g' \
-e 's/rgb(100%,100%,100%)/#%FG%/g' \
-e 's/rgb(50%,0%,0%)/#%HDR_BG%/g' \
-e 's/rgb(0%,50%,0%)/#%ACCENT_BG%/g' \
-e 's/rgb(0%,50.196078%,0%)/#%ACCENT_BG%/g' \
-e 's/rgb(50%,0%,50%)/#%TXT_BG%/g' \
-e 's/rgb(50.196078%,0%,50.196078%)/#%TXT_BG%/g' \
-e 's/rgb(0%,0%,50%)/#%TXT_FG%/g' \
"$@"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="calendar-arrow-left.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="30"
inkscape:cx="1.6333333"
inkscape:cy="8"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:window-width="930"
inkscape:window-height="681"
inkscape:window-x="225"
inkscape:window-y="204"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid17403"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<path
sodipodi:type="star"
style="fill:#%HDR_FG%;fill-opacity:1;stroke:#%HDR_FG%;stroke-width:0.43015847000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path18028"
sodipodi:sides="3"
sodipodi:cx="84.5"
sodipodi:cy="337.5"
sodipodi:r1="5"
sodipodi:r2="2.5"
sodipodi:arg1="0.52359878"
sodipodi:arg2="1.5707963"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 88.830127,340 80.169873,340 84.5,332.5 z"
transform="matrix(0,1.3621708,0.99186247,0,-325.48222,929.32667)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="calendar-arrow-right.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="30"
inkscape:cx="1.6333333"
inkscape:cy="8"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:window-width="930"
inkscape:window-height="681"
inkscape:window-x="987"
inkscape:window-y="243"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid17403"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<path
sodipodi:type="star"
style="fill:#%HDR_FG%;fill-opacity:1;stroke:#%HDR_FG%;stroke-width:0.43015847000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path18028"
sodipodi:sides="3"
sodipodi:cx="84.5"
sodipodi:cy="337.5"
sodipodi:r1="5"
sodipodi:r2="2.5"
sodipodi:arg1="0.52359878"
sodipodi:arg2="1.5707963"
inkscape:flatsided="true"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 88.830127,340 80.169873,340 84.5,332.5 z"
transform="matrix(0,1.3621708,-0.99186247,0,342.48324,929.32667)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,98 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="checkbox-off.svg">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient4140">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0"
id="stop4142" />
<stop
style="stop-color:#%BG%;stop-opacity:1"
offset="1"
id="stop4144" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4140"
id="linearGradient4146"
x1="8"
y1="1037.3622"
x2="8"
y2="1045.3622"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="5.443714"
inkscape:cy="8.4765013"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-global="false"
inkscape:window-width="1275"
inkscape:window-height="843"
inkscape:window-x="528"
inkscape:window-y="25"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3336" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<rect
style="fill:url(#linearGradient4146);fill-rule:evenodd;stroke:#%HDR_FG%;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect3338"
width="15"
height="15"
x="0.5"
y="1036.8622"
rx="2.823529"
ry="2.823544" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,104 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="checkbox.svg">
<defs
id="defs4">
<linearGradient
inkscape:collect="always"
id="linearGradient4140">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0"
id="stop4142" />
<stop
style="stop-color:#%BG%;stop-opacity:1"
offset="1"
id="stop4144" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4140"
id="linearGradient4146"
x1="8"
y1="1037.3622"
x2="8"
y2="1045.3622"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="5.443714"
inkscape:cy="8.4765013"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-global="false"
inkscape:window-width="1275"
inkscape:window-height="843"
inkscape:window-x="528"
inkscape:window-y="26"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3336" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<rect
style="fill:url(#linearGradient4146);fill-rule:evenodd;stroke:#%HDR_FG%;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
id="rect3338"
width="15"
height="15"
x="0.5"
y="1036.8622"
rx="2.823529"
ry="2.823544" />
<path
style="fill:none;fill-rule:evenodd;stroke:#%ACCENT_BG%;stroke-width:2.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 3.1680701,1045.2435 3.394596,2.7033 6.3652989,-7.1528"
id="path4148"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,152 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
id="Foreground"
x="0px"
y="0px"
width="32"
height="32"
viewBox="0 0 23.272727 23.272727"
enable-background="new 0 0 16 16"
xml:space="preserve"
sodipodi:version="0.32"
inkscape:version="0.48+devel r10081 custom"
sodipodi:docname="close-window.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
id="metadata2399"><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="defs2397"><linearGradient
id="linearGradient3173"><stop
style="stop-color:#%HDR_FG%;stop-opacity:1;"
offset="0"
id="stop3175" /><stop
style="stop-color:#%HDR_FG%;stop-opacity:1;"
offset="1"
id="stop3177" /></linearGradient><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 8 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="16 : 8 : 1"
inkscape:persp3d-origin="8 : 5.3333333 : 1"
id="perspective2401" /><filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter16494-4"
x="-0.20989846"
width="1.4197969"
y="-0.20903821"
height="1.4180764"><feGaussianBlur
inkscape:collect="always"
stdDeviation="1.3282637"
id="feGaussianBlur16496-8" /></filter><radialGradient
inkscape:collect="always"
xlink:href="#linearGradient16498-6"
id="radialGradient16504-1"
cx="7.6582627"
cy="5.8191104"
fx="7.6582627"
fy="5.8191104"
r="8.6928644"
gradientTransform="matrix(1.0474339,0,0,1.0517402,-0.3632615,-0.42032492)"
gradientUnits="userSpaceOnUse" /><linearGradient
inkscape:collect="always"
id="linearGradient16498-6"><stop
style="stop-color:#%BG%;stop-opacity:1"
offset="0"
id="stop16500-8" /><stop
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="1"
id="stop16502-0" /></linearGradient><filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter16524-9"
x="-0.212979"
width="1.425958"
y="-0.21305652"
height="1.426113"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.71020915"
id="feGaussianBlur16526-0" /></filter></defs><sodipodi:namedview
inkscape:window-height="1114"
inkscape:window-width="1463"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#000000"
id="base"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="10.720189"
inkscape:cy="13.739577"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:current-layer="Foreground"
showguides="true"
inkscape:guide-bbox="true"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:window-maximized="0"><inkscape:grid
type="xygrid"
id="grid11246"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" /></sodipodi:namedview>
<g
style="display:inline"
id="g16402-8"
transform="translate(4.7533483,2.8238929)"><g
id="g3175-4"><path
sodipodi:type="inkscape:offset"
inkscape:radius="0"
inkscape:original="M 7.65625 0.125 C 3.2589349 0.125 -0.3125 3.7070002 -0.3125 8.125 C -0.3125 12.543001 3.2589349 16.125 7.65625 16.125 C 12.053566 16.125 15.625 12.543001 15.625 8.125 C 15.625 3.7070002 12.053566 0.125 7.65625 0.125 z "
xlink:href="#path2394-32"
style="opacity:0.52994014;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.18181825;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter16494-4);enable-background:accumulate"
id="path16480-5"
inkscape:href="#path2394-32"
d="m 7.65625,0.125 c -4.3973151,0 -7.96875,3.5820002 -7.96875,8 0,4.418001 3.5714349,8 7.96875,8 4.397316,0 7.96875,-3.581999 7.96875,-8 0,-4.4179998 -3.571434,-8 -7.96875,-8 z"
transform="translate(0,1.028519)" /><path
clip-rule="evenodd"
d="m -0.30428257,8.1237596 c 0,-4.4179998 3.56522987,-7.9999996 7.96254497,-7.9999996 4.3973156,0 7.9625456,3.5819998 7.9625456,7.9999996 0,4.4180014 -3.56523,8.0000004 -7.9625456,8.0000004 -4.3973151,0 -7.96254497,-3.581999 -7.96254497,-8.0000004 z"
id="path2394-32"
style="color:#000000;fill:url(#radialGradient16504-1);fill-opacity:1;fill-rule:nonzero;stroke:#%HDR_FG%;stroke-width:1.4545455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:nodetypes="csssc"
inkscape:connector-curvature="0" /><g
id="g3172-6" /></g><g
transform="matrix(0.72727273,0,0,0.72727273,2.368236,2.1803254)"
style="fill:#ffffff;fill-opacity:1;display:inline"
id="g27275-6-6"
inkscape:label="window-close"><g
style="fill:#ffffff;fill-opacity:1;display:inline"
id="g27277-1-1"
transform="translate(-41,-760)"><path
sodipodi:type="inkscape:offset"
inkscape:radius="0"
inkscape:original="M 44.21875 764.1875 L 44.21875 765.1875 C 44.19684 765.46825 44.289258 765.74287 44.5 765.9375 L 46.78125 768.21875 L 44.5 770.46875 C 44.31181 770.65692 44.218747 770.92221 44.21875 771.1875 L 44.21875 772.1875 L 45.21875 772.1875 C 45.48404 772.1875 45.749336 772.09444 45.9375 771.90625 L 48.21875 769.625 L 50.5 771.90625 C 50.688164 772.0944 50.953449 772.18749 51.21875 772.1875 L 52.21875 772.1875 L 52.21875 771.1875 C 52.218742 770.9222 52.125688 770.65692 51.9375 770.46875 L 49.6875 768.21875 L 51.96875 765.9375 C 52.18441 765.73815 52.21875 765.47397 52.21875 765.1875 L 52.21875 764.1875 L 51.21875 764.1875 C 50.977922 764.1945 50.796875 764.2695 50.53125 764.5 L 48.21875 766.78125 L 45.9375 764.5 C 45.75987 764.31608 45.504951 764.1987 45.25 764.1875 C 45.23954 764.18704 45.22912 764.18738 45.21875 764.1875 L 44.21875 764.1875 z "
xlink:href="#path27279-0-5"
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#bebebe;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter16524-9);enable-background:new;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
id="path16506-5"
inkscape:href="#path27279-0-5"
d="m 44.21875,764.1875 0,1 c -0.02191,0.28075 0.07051,0.55537 0.28125,0.75 l 2.28125,2.28125 -2.28125,2.25 c -0.18819,0.18817 -0.281253,0.45346 -0.28125,0.71875 l 0,1 1,0 c 0.26529,0 0.530586,-0.0931 0.71875,-0.28125 L 48.21875,769.625 50.5,771.90625 c 0.188164,0.18815 0.453449,0.28124 0.71875,0.28125 l 1,0 0,-1 c -8e-6,-0.2653 -0.09306,-0.53058 -0.28125,-0.71875 l -2.25,-2.25 2.28125,-2.28125 c 0.21566,-0.19935 0.25,-0.46353 0.25,-0.75 l 0,-1 -1,0 c -0.240828,0.007 -0.421875,0.082 -0.6875,0.3125 l -2.3125,2.28125 L 45.9375,764.5 c -0.17763,-0.18392 -0.432549,-0.3013 -0.6875,-0.3125 -0.01046,-4.6e-4 -0.02088,-1.2e-4 -0.03125,0 l -1,0 z"
transform="translate(0,1.3535534)" /><path
sodipodi:nodetypes="ccsccccccccccccccccccccccc"
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#bebebe;fill:#%HDR_FG%;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.78124988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
id="path27279-0-5"
inkscape:connector-curvature="0"
d="m 44.226475,764.17222 1,0 c 0.01037,-1.2e-4 0.02079,-4.6e-4 0.03125,0 0.254951,0.0112 0.50987,0.12858 0.6875,0.3125 l 2.28125,2.28125 2.3125,-2.28125 c 0.265625,-0.2305 0.446672,-0.3055 0.6875,-0.3125 l 1,0 0,1 c 0,0.28647 -0.03434,0.55065 -0.25,0.75 l -2.28125,2.28125 2.25,2.25 c 0.188188,0.18817 0.281242,0.45345 0.28125,0.71875 l 0,1 -1,0 c -0.265301,-1e-5 -0.530586,-0.0931 -0.71875,-0.28125 l -2.28125,-2.28125 -2.28125,2.28125 c -0.188164,0.18819 -0.45346,0.28125 -0.71875,0.28125 l -1,0 0,-1 c -3e-6,-0.26529 0.09306,-0.53058 0.28125,-0.71875 l 2.28125,-2.25 -2.28125,-2.28125 c -0.210742,-0.19463 -0.30316,-0.46925 -0.28125,-0.75 l 0,-1 z" /></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
id="svg4140"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="radiobutton-off.svg">
<defs
id="defs4142">
<linearGradient
inkscape:collect="always"
id="linearGradient4692">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0"
id="stop4694" />
<stop
style="stop-color:#%BG%;stop-opacity:1"
offset="1"
id="stop4696" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4692"
id="linearGradient4698"
x1="8"
y1="1037.3622"
x2="8"
y2="1044.3622"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="10.772517"
inkscape:cy="8.2994035"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:window-width="1274"
inkscape:window-height="725"
inkscape:window-x="302"
inkscape:window-y="129"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4688" />
</sodipodi:namedview>
<metadata
id="metadata4145">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<circle
style="fill:url(#linearGradient4698);fill-opacity:1;stroke:#%HDR_FG%;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4690"
cx="8"
cy="1044.3622"
r="7.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,97 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 16 16"
id="svg4140"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="radiobutton.svg">
<defs
id="defs4142">
<linearGradient
inkscape:collect="always"
id="linearGradient4692">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0"
id="stop4694" />
<stop
style="stop-color:#%BG%;stop-opacity:1"
offset="1"
id="stop4696" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4692"
id="linearGradient4698"
x1="8"
y1="1037.3622"
x2="8"
y2="1044.3622"
gradientUnits="userSpaceOnUse" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="10.772517"
inkscape:cy="8.2994035"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
units="px"
inkscape:window-width="1274"
inkscape:window-height="725"
inkscape:window-x="302"
inkscape:window-y="129"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4688" />
</sodipodi:namedview>
<metadata
id="metadata4145">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<circle
style="fill:url(#linearGradient4698);fill-opacity:1;stroke:#%HDR_FG%;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4690"
cx="8"
cy="1044.3622"
r="7.5" />
<circle
style="fill:#%ACCENT_BG%;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4741"
cx="8"
cy="1044.3622"
r="4" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,951 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="64"
height="22"
id="svg3273"
inkscape:version="0.48.2 r9819"
sodipodi:docname="toggle-off-intl.svg">
<sodipodi:namedview
pagecolor="#1e1e1e"
bordercolor="#bc1010"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="740"
id="namedview68"
showgrid="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
showborder="false"
inkscape:zoom="11.971257"
inkscape:cx="4.2457376"
inkscape:cy="10.414796"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="layer2">
<inkscape:grid
type="xygrid"
id="grid3045"
empspacing="8"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
<sodipodi:guide
orientation="1,0"
position="0,14"
id="guide4279" />
<sodipodi:guide
orientation="0,1"
position="38,22"
id="guide4281" />
<sodipodi:guide
orientation="0,1"
position="35,0"
id="guide4283" />
<sodipodi:guide
orientation="1,0"
position="64,7"
id="guide4285" />
</sodipodi:namedview>
<defs
id="defs3275">
<linearGradient
id="linearGradient3883">
<stop
id="stop3885"
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0" />
<stop
id="stop3887"
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient4649">
<stop
id="stop4651"
style="stop-color:#000000;stop-opacity:0;"
offset="0" />
<stop
id="stop4653"
style="stop-color:#000000;stop-opacity:0.27450982;"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3921">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.15686275;"
id="stop3925" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3985">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3987" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3989" />
</linearGradient>
<linearGradient
id="linearGradient3938">
<stop
style="stop-color:#a0a0a0;stop-opacity:1;"
offset="0"
id="stop3940" />
<stop
style="stop-color:#dcdcdc;stop-opacity:1;"
offset="1"
id="stop3942" />
</linearGradient>
<linearGradient
id="linearGradient4095">
<stop
id="stop4097"
style="stop-color:#131313;stop-opacity:1"
offset="0" />
<stop
id="stop4099"
style="stop-color:#131313;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921"
id="linearGradient3152"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="19.5"
x2="40.8125"
y2="-0.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3128"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
id="linearGradient3990-9">
<stop
id="stop3992-5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
y2="39"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4"
xlink:href="#linearGradient4095"
inkscape:collect="always"
gradientTransform="matrix(1,0,0,-1,-32,22)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient4013"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988">
<stop
id="stop3990"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997" />
<stop
id="stop3993"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient4011"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978" />
<stop
id="stop3995"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient4005"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient4003"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3986"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-455,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077"
xlink:href="#linearGradient3976"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3951"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3990-9"
id="linearGradient3953"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="41"
y1="1"
x2="41"
y2="28" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3955"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-455,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3957"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3959"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3961"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3963"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3965"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3971"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3975"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3978"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3983"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4062"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4066"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4071"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3985"
id="linearGradient4074"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,-1,-32,22)"
x1="48"
y1="21"
x2="48"
y2="-4" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient4013-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988-5">
<stop
id="stop3990-8"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997-5" />
<stop
id="stop3993-8"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2"
id="radialGradient4011-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976-2">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978-8" />
<stop
id="stop3995-9"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980-6" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient4005-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2"
id="radialGradient4003-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient3986-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-455,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077-8"
xlink:href="#linearGradient3976-2"
inkscape:collect="always" />
<linearGradient
y2="28"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4-9"
xlink:href="#linearGradient3990-9-4"
inkscape:collect="always"
gradientTransform="translate(-32,0)" />
<linearGradient
id="linearGradient3990-9-4">
<stop
id="stop3992-5-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0-8"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3938-4">
<stop
style="stop-color:#a0a0a0;stop-opacity:1;"
offset="0"
id="stop3940-9" />
<stop
style="stop-color:#dcdcdc;stop-opacity:1;"
offset="1"
id="stop3942-9" />
</linearGradient>
<linearGradient
y2="2"
x2="48"
y1="21"
x1="48"
gradientTransform="translate(-32,0)"
gradientUnits="userSpaceOnUse"
id="linearGradient3228"
xlink:href="#linearGradient3938-4"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938-4"
id="linearGradient4265"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient4013-9-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988-5-7">
<stop
id="stop3990-8-2"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997-5-7" />
<stop
id="stop3993-8-6"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2-0"
id="radialGradient4011-7-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-446,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976-2-0">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978-8-5" />
<stop
id="stop3995-9-0"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980-6-1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient4005-9-8"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2-0"
id="radialGradient4003-1-6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-450,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient3986-1-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-455,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-454,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077-8-1"
xlink:href="#linearGradient3976-2-0"
inkscape:collect="always" />
<linearGradient
y2="28"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4-9-4"
xlink:href="#linearGradient3990-9-4-5"
inkscape:collect="always"
gradientTransform="translate(-32,-1)" />
<linearGradient
id="linearGradient3990-9-4-5">
<stop
id="stop3992-5-7-1"
style="stop-color:#%HDR_FG%;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0-8-2"
style="stop-color:#%HDR_FG%;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
y2="2"
x2="48"
y1="21"
x1="48"
gradientTransform="translate(-32,-1)"
gradientUnits="userSpaceOnUse"
id="linearGradient3228-0"
xlink:href="#linearGradient3938-4-7"
inkscape:collect="always" />
<linearGradient
id="linearGradient3938-4-7">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1;"
offset="0"
id="stop3940-9-2" />
<stop
style="stop-color:#%BG%;stop-opacity:1;"
offset="1"
id="stop3942-9-2" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5"
id="linearGradient3152-1"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
id="linearGradient3921-5">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923-6" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.15686275;"
id="stop3925-4" />
</linearGradient>
<filter
inkscape:collect="always"
id="filter4131-3"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.5"
id="feGaussianBlur4133-2" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5"
id="linearGradient4525"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938-4-7"
id="linearGradient4529"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,-1)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4649"
id="linearGradient4550"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,64.499996,1.500006)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4443"
xlink:href="#linearGradient3921-5-9"
inkscape:collect="always" />
<linearGradient
id="linearGradient3921-5-9">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923-6-1" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.11764706;"
id="stop3925-4-6" />
</linearGradient>
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4615"
xlink:href="#linearGradient3921-5-9"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5-9-9"
id="linearGradient4621"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
id="linearGradient3921-5-9-9">
<stop
offset="0"
style="stop-color:#333333;stop-opacity:1;"
id="stop3923-6-1-6" />
<stop
offset="1"
style="stop-color:#555555;stop-opacity:1;"
id="stop3925-4-6-6" />
</linearGradient>
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4641"
xlink:href="#linearGradient3883"
inkscape:collect="always" />
</defs>
<metadata
id="metadata3278">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Trough">
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.0053965"
inkscape:original="M 5 2 C 3.338 2 2 3.338 2 5 L 2 17 C 2 18.662 3.338 20 5 20 L 59 20 C 60.662 20 62 18.662 62 17 L 62 5 C 62 3.338 60.662 2 59 2 L 5 2 z "
style="color:#000000;fill:url(#linearGradient4641);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4619"
d="M 5,3 C 3.8775991,3 3,3.8775991 3,5 l 0,12 c 0,1.122401 0.8775991,2 2,2 l 54,0 c 1.122401,0 2,-0.877599 2,-2 L 61,5 C 61,3.8775991 60.122401,3 59,3 L 5,3 z" />
<path
sodipodi:nodetypes="sssssssssccccc"
inkscape:connector-curvature="0"
style="opacity:0.07999998;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,3 54,0 0,12 -54,0 z"
id="rect4052" />
<path
sodipodi:nodetypes="ssssssssssssssssss"
inkscape:connector-curvature="0"
style="opacity:0.12000002;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,2 54,0 c 0.5825,0 1,0.4175 1,1 l 0,12 c 0,0.5825 -0.4175,1 -1,1 L 5,18 C 4.4175,18 4,17.5825 4,17 L 4,5 C 4,4.4175 4.4175,4 5,4 z"
id="rect4042" />
<path
sodipodi:nodetypes="ssssssssssssssssss"
inkscape:connector-curvature="0"
style="opacity:0.2;color:#000000;fill:#%HDR_FG%;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,1 54,0 c 1.117387,0 2,0.882613 2,2 l 0,12 c 0,1.117387 -0.882613,2 -2,2 L 5,19 C 3.8826128,19 3,18.117387 3,17 L 3,5 C 3,3.882613 3.8826128,3 5,3 z"
id="rect4038" />
<g
id="g4655"
transform="translate(-1,0)"
style="opacity:0.5">
<path
inkscape:connector-curvature="0"
style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter4131-3);enable-background:accumulate"
d="m 48,6.5 c -2.761424,0 -5,2.2385763 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.7614237 -2.238576,-5 -5,-5 z m 0,2 c 1.656854,0 3,1.3431458 3,3 0,1.656854 -1.343146,3 -3,3 -1.656854,0 -3,-1.343146 -3,-3 0,-1.6568542 1.343146,-3 3,-3 z"
id="path4125" />
<path
id="path4120"
d="m 48,6 c -2.761424,0 -5,2.2385763 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.7614237 -2.238576,-5 -5,-5 z m 0,2 c 1.656854,0 3,1.3431458 3,3 0,1.656854 -1.343146,3 -3,3 -1.656854,0 -3,-1.343146 -3,-3 0,-1.6568542 1.343146,-3 3,-3 z"
style="color:#000000;fill:#%HDR_FG%;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Button"
style="display:inline">
<path
sodipodi:type="inkscape:offset"
inkscape:radius="0.94267464"
inkscape:original="M 5 0 C 2.2642981 0 0 2.2642981 0 5 L 0 17 C 0 19.735702 2.2642982 22 5 22 L 29 22 C 31.735702 22 34 19.735702 34 17 L 34 5 C 34 2.2642982 31.735702 0 29 0 L 5 0 z "
style="opacity:0.05;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4541"
d="m 5,-0.9375 c -3.25586,0 -5.9375,2.68164 -5.9375,5.9375 l 0,12 c 0,3.25586 2.6816401,5.9375 5.9375,5.9375 l 24,0 c 3.25586,0 5.9375,-2.68164 5.9375,-5.9375 l 0,-12 c 0,-3.2558599 -2.68164,-5.9375 -5.9375,-5.9375 l -24,0 z" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="1.0204744"
inkscape:original="M 5 1.03125 C 2.8258474 1.03125 1.03125 2.8258474 1.03125 5 L 1.03125 17 C 1.03125 19.174153 2.8258474 20.96875 5 20.96875 L 29 20.96875 C 31.174153 20.96875 32.96875 19.174153 32.96875 17 L 32.96875 5 C 32.96875 2.8258474 31.174153 1.03125 29 1.03125 L 5 1.03125 z "
style="opacity:0.1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4537"
d="M 5,0 C 2.2642981,0 0,2.2642981 0,5 l 0,12 c 0,2.735702 2.2642982,5 5,5 l 24,0 c 2.735702,0 5,-2.264298 5,-5 L 34,5 C 34,2.2642982 31.735702,0 29,0 L 5,0 z" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="0.95425737"
inkscape:original="M 5 2 C 3.338 2 2 3.338 2 5 L 2 17 C 2 18.662 3.338 20 5 20 L 29 20 C 30.662 20 32 18.662 32 17 L 32 5 C 32 3.338 30.662 2 29 2 L 5 2 z "
style="opacity:0.2;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4531"
d="M 5,1.03125 C 2.8258474,1.03125 1.03125,2.8258474 1.03125,5 l 0,12 c 0,2.174153 1.7945974,3.96875 3.96875,3.96875 l 24,0 c 2.174153,0 3.96875,-1.794597 3.96875,-3.96875 l 0,-12 C 32.96875,2.8258474 31.174153,1.03125 29,1.03125 l -24,0 z" />
<rect
style="color:#000000;fill:url(#linearGradient3228-0);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3936"
width="30.00001"
height="18.00001"
x="2"
y="2"
rx="3"
ry="3" />
<path
style="opacity:0.6;color:#000000;fill:url(#linearGradient3077-4-9-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 24,0 c 1.662,0 3,-1.338 3,-3 L 32,5 C 32,3.338 30.662,2 29,2 z m 0,1 24,0 c 1.12561,0 2,0.8743885 2,2 l 0,12 c 0,1.125612 -0.87439,2 -2,2 L 5,19 C 3.874388,19 3,18.125612 3,17 L 3,5 C 3,3.8743885 3.874388,3 5,3 z"
id="rect4059"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssssssssssss" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,951 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="64"
height="22"
id="svg3273"
inkscape:version="0.48.2 r9819"
sodipodi:docname="toggle-off-intl.svg">
<sodipodi:namedview
pagecolor="#1e1e1e"
bordercolor="#bc1010"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="740"
id="namedview68"
showgrid="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:showpageshadow="false"
showborder="false"
inkscape:zoom="11.971257"
inkscape:cx="4.2457376"
inkscape:cy="10.414796"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="layer2">
<inkscape:grid
type="xygrid"
id="grid3045"
empspacing="8"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
<sodipodi:guide
orientation="1,0"
position="0,14"
id="guide4279" />
<sodipodi:guide
orientation="0,1"
position="38,22"
id="guide4281" />
<sodipodi:guide
orientation="0,1"
position="35,0"
id="guide4283" />
<sodipodi:guide
orientation="1,0"
position="64,7"
id="guide4285" />
</sodipodi:namedview>
<defs
id="defs3275">
<linearGradient
id="linearGradient3883">
<stop
id="stop3885"
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="0" />
<stop
id="stop3887"
style="stop-color:#%HDR_BG%;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient4649">
<stop
id="stop4651"
style="stop-color:#000000;stop-opacity:0;"
offset="0" />
<stop
id="stop4653"
style="stop-color:#000000;stop-opacity:0.27450982;"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3921">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.15686275;"
id="stop3925" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3985">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3987" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3989" />
</linearGradient>
<linearGradient
id="linearGradient3938">
<stop
style="stop-color:#a0a0a0;stop-opacity:1;"
offset="0"
id="stop3940" />
<stop
style="stop-color:#dcdcdc;stop-opacity:1;"
offset="1"
id="stop3942" />
</linearGradient>
<linearGradient
id="linearGradient4095">
<stop
id="stop4097"
style="stop-color:#131313;stop-opacity:1"
offset="0" />
<stop
id="stop4099"
style="stop-color:#131313;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921"
id="linearGradient3152"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="19.5"
x2="40.8125"
y2="-0.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3128"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
id="linearGradient3990-9">
<stop
id="stop3992-5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
y2="39"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4"
xlink:href="#linearGradient4095"
inkscape:collect="always"
gradientTransform="matrix(1,0,0,-1,-32,22)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient4013"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988">
<stop
id="stop3990"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997" />
<stop
id="stop3993"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient4011"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978" />
<stop
id="stop3995"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient4005"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient4003"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3986"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-455,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077"
xlink:href="#linearGradient3976"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3951"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3990-9"
id="linearGradient3953"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="41"
y1="1"
x2="41"
y2="28" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3955"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-455,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3957"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3959"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3961"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976"
id="radialGradient3963"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988"
id="radialGradient3965"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3971"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3975"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3978"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient3983"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4062"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4066"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938"
id="linearGradient4071"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3985"
id="linearGradient4074"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,-1,-32,22)"
x1="48"
y1="21"
x2="48"
y2="-4" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient4013-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-448,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988-5">
<stop
id="stop3990-8"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997-5" />
<stop
id="stop3993-8"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2"
id="radialGradient4011-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976-2">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978-8" />
<stop
id="stop3995-9"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980-6" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient4005-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-452,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2"
id="radialGradient4003-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5"
id="radialGradient3986-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-456,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-455,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077-8"
xlink:href="#linearGradient3976-2"
inkscape:collect="always" />
<linearGradient
y2="28"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4-9"
xlink:href="#linearGradient3990-9-4"
inkscape:collect="always"
gradientTransform="translate(-32,0)" />
<linearGradient
id="linearGradient3990-9-4">
<stop
id="stop3992-5-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0-8"
style="stop-color:#ffffff;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3938-4">
<stop
style="stop-color:#a0a0a0;stop-opacity:1;"
offset="0"
id="stop3940-9" />
<stop
style="stop-color:#dcdcdc;stop-opacity:1;"
offset="1"
id="stop3942-9" />
</linearGradient>
<linearGradient
y2="2"
x2="48"
y1="21"
x1="48"
gradientTransform="translate(-32,0)"
gradientUnits="userSpaceOnUse"
id="linearGradient3228"
xlink:href="#linearGradient3938-4"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938-4"
id="linearGradient4265"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,0)"
x1="48"
y1="21"
x2="48"
y2="2" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient4013-9-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-447,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3988-5-7">
<stop
id="stop3990-8-2"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
style="stop-color:#000000;stop-opacity:0.70588237;"
offset="0.60000002"
id="stop3997-5-7" />
<stop
id="stop3993-8-6"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2-0"
id="radialGradient4011-7-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-446,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<linearGradient
id="linearGradient3976-2-0">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3978-8-5" />
<stop
id="stop3995-9-0"
offset="0.60000002"
style="stop-color:#ffffff;stop-opacity:0.70588237;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3980-6-1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient4005-9-8"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-451,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3976-2-0"
id="radialGradient4003-1-6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-450,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3988-5-7"
id="radialGradient3986-1-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(11,0,0,10,-455,-99)"
cx="42.5"
cy="11"
fx="42.5"
fy="11"
r="0.5" />
<radialGradient
r="0.5"
fy="11"
fx="42.5"
cy="11"
cx="42.5"
gradientTransform="matrix(11,0,0,10,-454,-99)"
gradientUnits="userSpaceOnUse"
id="radialGradient4077-8-1"
xlink:href="#linearGradient3976-2-0"
inkscape:collect="always" />
<linearGradient
y2="28"
x2="41"
y1="1"
x1="41"
gradientUnits="userSpaceOnUse"
id="linearGradient3077-4-9-4"
xlink:href="#linearGradient3990-9-4-5"
inkscape:collect="always"
gradientTransform="translate(-32,-1)" />
<linearGradient
id="linearGradient3990-9-4-5">
<stop
id="stop3992-5-7-1"
style="stop-color:#%HDR_FG%;stop-opacity:1"
offset="0" />
<stop
id="stop3994-0-8-2"
style="stop-color:#%HDR_FG%;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
y2="2"
x2="48"
y1="21"
x1="48"
gradientTransform="translate(-32,-1)"
gradientUnits="userSpaceOnUse"
id="linearGradient3228-0"
xlink:href="#linearGradient3938-4-7"
inkscape:collect="always" />
<linearGradient
id="linearGradient3938-4-7">
<stop
style="stop-color:#%HDR_BG%;stop-opacity:1;"
offset="0"
id="stop3940-9-2" />
<stop
style="stop-color:#%BG%;stop-opacity:1;"
offset="1"
id="stop3942-9-2" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5"
id="linearGradient3152-1"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
id="linearGradient3921-5">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923-6" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.15686275;"
id="stop3925-4" />
</linearGradient>
<filter
inkscape:collect="always"
id="filter4131-3"
x="-0.12"
width="1.24"
y="-0.12"
height="1.24"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.5"
id="feGaussianBlur4133-2" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5"
id="linearGradient4525"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-64.499996,-20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3938-4-7"
id="linearGradient4529"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-32,-1)"
x1="48"
y1="21"
x2="48"
y2="2" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4649"
id="linearGradient4550"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,1,64.499996,1.500006)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4443"
xlink:href="#linearGradient3921-5-9"
inkscape:collect="always" />
<linearGradient
id="linearGradient3921-5-9">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:0;"
id="stop3923-6-1" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.11764706;"
id="stop3925-4-6" />
</linearGradient>
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4615"
xlink:href="#linearGradient3921-5-9"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3921-5-9-9"
id="linearGradient4621"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
x1="40.8125"
y1="18.499994"
x2="40.8125"
y2="0.49999401" />
<linearGradient
id="linearGradient3921-5-9-9">
<stop
offset="0"
style="stop-color:#333333;stop-opacity:1;"
id="stop3923-6-1-6" />
<stop
offset="1"
style="stop-color:#555555;stop-opacity:1;"
id="stop3925-4-6-6" />
</linearGradient>
<linearGradient
y2="0.49999401"
x2="40.8125"
y1="18.499994"
x1="40.8125"
gradientTransform="matrix(-1,0,0,-1,64.499996,20.499994)"
gradientUnits="userSpaceOnUse"
id="linearGradient4641"
xlink:href="#linearGradient3883"
inkscape:collect="always" />
</defs>
<metadata
id="metadata3278">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Trough">
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.0053965"
inkscape:original="M 5 2 C 3.338 2 2 3.338 2 5 L 2 17 C 2 18.662 3.338 20 5 20 L 59 20 C 60.662 20 62 18.662 62 17 L 62 5 C 62 3.338 60.662 2 59 2 L 5 2 z "
style="color:#000000;fill:url(#linearGradient4641);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4619"
d="M 5,3 C 3.8775991,3 3,3.8775991 3,5 l 0,12 c 0,1.122401 0.8775991,2 2,2 l 54,0 c 1.122401,0 2,-0.877599 2,-2 L 61,5 C 61,3.8775991 60.122401,3 59,3 L 5,3 z" />
<path
sodipodi:nodetypes="sssssssssccccc"
inkscape:connector-curvature="0"
style="opacity:0.07999998;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,3 54,0 0,12 -54,0 z"
id="rect4052" />
<path
sodipodi:nodetypes="ssssssssssssssssss"
inkscape:connector-curvature="0"
style="opacity:0.12000002;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,2 54,0 c 0.5825,0 1,0.4175 1,1 l 0,12 c 0,0.5825 -0.4175,1 -1,1 L 5,18 C 4.4175,18 4,17.5825 4,17 L 4,5 C 4,4.4175 4.4175,4 5,4 z"
id="rect4042" />
<path
sodipodi:nodetypes="ssssssssssssssssss"
inkscape:connector-curvature="0"
style="opacity:0.2;color:#000000;fill:#%HDR_FG%;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 54,0 c 1.662,0 3,-1.338 3,-3 L 62,5 C 62,3.338 60.662,2 59,2 z m 0,1 54,0 c 1.117387,0 2,0.882613 2,2 l 0,12 c 0,1.117387 -0.882613,2 -2,2 L 5,19 C 3.8826128,19 3,18.117387 3,17 L 3,5 C 3,3.882613 3.8826128,3 5,3 z"
id="rect4038" />
<g
id="g4655"
transform="translate(-1,0)"
style="opacity:0.5">
<path
inkscape:connector-curvature="0"
style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter4131-3);enable-background:accumulate"
d="m 48,6.5 c -2.761424,0 -5,2.2385763 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.7614237 -2.238576,-5 -5,-5 z m 0,2 c 1.656854,0 3,1.3431458 3,3 0,1.656854 -1.343146,3 -3,3 -1.656854,0 -3,-1.343146 -3,-3 0,-1.6568542 1.343146,-3 3,-3 z"
id="path4125" />
<path
id="path4120"
d="m 48,6 c -2.761424,0 -5,2.2385763 -5,5 0,2.761424 2.238576,5 5,5 2.761424,0 5,-2.238576 5,-5 0,-2.7614237 -2.238576,-5 -5,-5 z m 0,2 c 1.656854,0 3,1.3431458 3,3 0,1.656854 -1.343146,3 -3,3 -1.656854,0 -3,-1.343146 -3,-3 0,-1.6568542 1.343146,-3 3,-3 z"
style="color:#000000;fill:#%HDR_FG%;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:connector-curvature="0" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Button"
style="display:inline">
<path
sodipodi:type="inkscape:offset"
inkscape:radius="0.94267464"
inkscape:original="M 5 0 C 2.2642981 0 0 2.2642981 0 5 L 0 17 C 0 19.735702 2.2642982 22 5 22 L 29 22 C 31.735702 22 34 19.735702 34 17 L 34 5 C 34 2.2642982 31.735702 0 29 0 L 5 0 z "
style="opacity:0.05;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4541"
d="m 5,-0.9375 c -3.25586,0 -5.9375,2.68164 -5.9375,5.9375 l 0,12 c 0,3.25586 2.6816401,5.9375 5.9375,5.9375 l 24,0 c 3.25586,0 5.9375,-2.68164 5.9375,-5.9375 l 0,-12 c 0,-3.2558599 -2.68164,-5.9375 -5.9375,-5.9375 l -24,0 z" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="1.0204744"
inkscape:original="M 5 1.03125 C 2.8258474 1.03125 1.03125 2.8258474 1.03125 5 L 1.03125 17 C 1.03125 19.174153 2.8258474 20.96875 5 20.96875 L 29 20.96875 C 31.174153 20.96875 32.96875 19.174153 32.96875 17 L 32.96875 5 C 32.96875 2.8258474 31.174153 1.03125 29 1.03125 L 5 1.03125 z "
style="opacity:0.1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4537"
d="M 5,0 C 2.2642981,0 0,2.2642981 0,5 l 0,12 c 0,2.735702 2.2642982,5 5,5 l 24,0 c 2.735702,0 5,-2.264298 5,-5 L 34,5 C 34,2.2642982 31.735702,0 29,0 L 5,0 z" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="0.95425737"
inkscape:original="M 5 2 C 3.338 2 2 3.338 2 5 L 2 17 C 2 18.662 3.338 20 5 20 L 29 20 C 30.662 20 32 18.662 32 17 L 32 5 C 32 3.338 30.662 2 29 2 L 5 2 z "
style="opacity:0.2;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path4531"
d="M 5,1.03125 C 2.8258474,1.03125 1.03125,2.8258474 1.03125,5 l 0,12 c 0,2.174153 1.7945974,3.96875 3.96875,3.96875 l 24,0 c 2.174153,0 3.96875,-1.794597 3.96875,-3.96875 l 0,-12 C 32.96875,2.8258474 31.174153,1.03125 29,1.03125 l -24,0 z" />
<rect
style="color:#000000;fill:url(#linearGradient3228-0);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3936"
width="30.00001"
height="18.00001"
x="2"
y="2"
rx="3"
ry="3" />
<path
style="opacity:0.6;color:#000000;fill:url(#linearGradient3077-4-9-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 5,2 C 3.338,2 2,3.338 2,5 l 0,12 c 0,1.662 1.338,3 3,3 l 24,0 c 1.662,0 3,-1.338 3,-3 L 32,5 C 32,3.338 30.662,2 29,2 z m 0,1 24,0 c 1.12561,0 2,0.8743885 2,2 l 0,12 c 0,1.125612 -0.87439,2 -2,2 L 5,19 C 3.874388,19 3,18.125612 3,17 L 3,5 C 3,3.8743885 3.874388,3 5,3 z"
id="rect4059"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssssssssssssssssss" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,372 +0,0 @@
// extend-elements
// to bottom
%bg-grad-to-bottom {
background-gradient-direction: vertical;
background-gradient-start: $dark_bg_grad;
background-gradient-end: $light_bg_grad;
}
// hover to bottom
%hover-bg-grad-to-bottom {
background-gradient-direction: vertical;
background-gradient-start: $dark_hover_bg_grad;
background-gradient-end: $light_hover_bg_grad;
}
// button to top
%button-bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_button_bg_grad;
background-gradient-end: $dark_button_bg_grad;
}
// hover button to top
%hover-button-bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_hover_button_bg_grad;
background-gradient-end: $dark_hover_button_bg_grad;
}
// to top
%bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_bg_grad;
background-gradient-end: $dark_bg_grad;
}
// hover to top
%hover-bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_hover_bg_grad;
background-gradient-end: $dark_hover_bg_grad;
}
// selected to bottom
%selected-bg-grad-to-bottom {
background-gradient-direction: vertical;
background-gradient-start: $dark_selected_bg_grad;
background-gradient-end: $light_selected_bg_grad;
}
// selected to top
%selected-bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_selected_bg_grad;
background-gradient-end: $dark_selected_bg_grad;
}
// hover selected to bottom
%hover-selected-grad-to-bottom {
background-gradient-direction: vertical;
background-gradient-start: $dark_hover_selected_grad;
background-gradient-end: $light_hover_selected_grad;
}
// hover selected to top
%hover-selected-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_hover_selected_grad;
background-gradient-end: $dark_hover_selected_grad;
}
// to right
%bg-grad-to-right {
background-gradient-direction: horizontal;
background-gradient-start: $dark_bg_grad;
background-gradient-end: $light_bg_grad;
}
// to left
%bg-grad-to-left {
background-gradient-direction: horizontal;
background-gradient-start: $light_bg_grad;
background-gradient-end: $dark_bg_grad;
}
// hover to right
%hover-bg-grad-to-right {
background-gradient-direction: horizontal;
background-gradient-start: $dark_hover_bg_grad;
background-gradient-end: $light_hover_bg_grad;
}
// hover to left
%hover-bg-grad-to-left {
background-gradient-direction: horizontal;
background-gradient-start: $light_hover_bg_grad;
background-gradient-end: $dark_hover_bg_grad;
}
// selected to right
%selected-bg-grad-to-right {
background-gradient-direction: horizontal;
background-gradient-start: $dark_selected_bg_grad;
background-gradient-end: $light_selected_bg_grad;
}
// selected to left
%selected-bg-grad-to-left {
background-gradient-direction: horizontal;
background-gradient-start: $light_selected_bg_grad;
background-gradient-end: $dark_selected_bg_grad;
}
// hover selected to right
%hover-selected-grad-to-right {
background-gradient-direction: horizontal;
background-gradient-start: $dark_hover_selected_grad;
background-gradient-end: $light_hover_selected_grad;
}
// hover selected to left
%hover-selected-grad-to-left {
background-gradient-direction: horizontal;
background-gradient-start: $light_hover_selected_grad;
background-gradient-end: $dark_hover_selected_grad;
}
// tooltip to top
%tooltip-bg-grad-to-top {
background-gradient-direction: vertical;
background-gradient-start: $light_tooltip_bg_grad;
background-gradient-end: $dark_tooltip_bg_grad;
}
// used in selectors
// .osd-window, .info-osd, .workspace-osd
%osd-shared {
@extend %bg-grad-to-bottom;
border: 1px solid $exterior_border;
border-radius: $roundness;
color: $dark_fg_color;
}
// used in selectors
// .slider, .sound-player .slider, .popup-slider-menu-item
%slider-shared {
height: 1.2em;
min-width: 15em;
color: $button_bg_color;
-slider-height: 2px;
-slider-background-color: $scrollbar_bg_color;
-slider-border-color: $interior_border;
-slider-active-background-color: $scrollbar_slider_hover_color;
-slider-active-border-color: $selected_border;
-slider-border-width: 1px;
-slider-border-radius: $roundness;
-slider-handle-radius: 8px;
-slider-handle-border-color: $button_border;
}
// used in selectors
// .separator, .popup-seperator-menu-item
%separator-shared {
-gradient-height: 3px;
-gradient-start: $selected_bg_color;
-gradient-end: $dark_bg_color;
-margin-horizontal: 4px;
height: 1em;
}
// used in selectors
// #menu-search-entry, .run-dialog-entry, #notification StEntry
%dialog-entry {
@extend %tooltip-bg-grad-to-top;
padding: $spacing_plus2;
border-radius: $roundness;
color: $tooltip_fg_color;
border: 1px solid $interior_border;
selection-background-color: $selected_bg_color;
selected-color: $selected_fg_color;
caret-color: $primary_caret_color;
caret-size: 0.1em;
width: 250px;
height: 1.5em;
transition-duration: 150;
}
// used in selectors
// .desklet-with-borders, .desklet-with-borders-and-header, .desklet-header, .photoframe-box
%desklet-shared {
@extend %bg-grad-to-right;
color: $dark_fg_color;
padding: 8px;
border: 1px solid $exterior_border;
}
// used in selectors
// .calendar-change-month-back, .calendar-change-month-forward
%calendar-shared {
width: 16px;
height: 16px;
border-radius: $roundness;
transition-duration: 150;
}
// used in selectors
// .notification-button, .notification-icon-button, .modal-dialog-button, .sound-player-overlay StButton, .keyboard-key
%shared-button {
@extend %button-bg-grad-to-top;
border: 1px solid $button_border;
border-radius: $roundness;
text-align: center;
color: $button_fg_color;
transition-duration: 150;
}
// used in selectors
// .notification-button:hover, .notification-icon-button:hover, .modal-dialog-button:hover, .sound-player-overlay StButton:hover, .keyboard-key:hover
%shared-button-hover {
@extend %hover-button-bg-grad-to-top;
border: 1px solid $selected_border;
}
// used in selectors
// .notification-button:active, .notification-icon-button:active, .modal-dialog-button:active, .modal-dialog-button:pressed, .sound-player-overlay StButton:active, .keyboard-key:active
%shared-button-active {
@extend %selected-bg-grad-to-bottom;
color: $selected_fg_color;
}
// used in selectors
// .menu .popup-combo-menu
%shared-menu {
@extend %bg-grad-to-right;
padding: 8px;
border: 1px solid $exterior_border;
border-radius: $roundness;
color: $dark_fg_color;
}
// used in selectors
// .menu-application-button-label, .menu-category-button-label
%menu-button-label-shared {
&:ltr {
padding-left: 4px;
}
&:rtl {
padding-right: 4px;
}
}
// used in selectors
// .popup-menu-item, .popup-combobox-item, .menu-favorites-button, .menu-places-button, .menu-category-button, .menu-category-button-greyed, .menu-category-button-selected
%menu-buttons-shared {
//min-height: 22px; //setting a min height accross the board for all menu types (menu entries with an application icon are hardcoded to this min-height) causes display issues in cinnamon :-(
padding: $spacing_plus2;
}
// used in selectors
// .show-processes-dialog-subject, .mount-question-dialog-subject
%shared-dialogs-subject {
font-weight: bold;
color: $dark_fg_color;
padding-top: 10px;
padding-left: 17px;
padding-bottom: 6px;
}
// used in selectors
// .show-processes-dialog-subject:rtl, .mount-question-dialog-subject:rtl
%shared-dialogs-subject-rtl {
padding-left: 0;
padding-right: 17px;
}
// used in selectors
// .show-processes-dialog-description, .mount-question-dialog-description
%shared-dialogs-description {
color: $dark_fg_color;
padding-left: 17px;
width: 28em;
}
// used in selectors
// .menu-applications-inner-box StScrollView, .starkmenu-favorites-box .menu-context-menu
%menu-context-shared {
@extend %bg-grad-to-bottom;
padding: 8px;
margin: 8px 0;
border-radius: $roundness;
border: 1px solid $interior_border;
StIcon {
&:ltr {
padding-right: 4px;
}
&:rtl {
padding-left: 4px;
}
}
}
// used in selectors
// .panel-top .window-list-item-box:active, .panel-top .window-list-item-box:checked, .panel-top .window-list-item-box:focus
%panel-top-shared {
@extend %selected-bg-grad-to-top;
color: $selected_fg_color;
}
// used in selectors
// .panel-bottom .windows-list-item-box:active, .panel-bottom .window-list-item-box:checked, .panel-bottom .window-list-item-box:focus
%panel-bottom-shared {
@extend %selected-bg-grad-to-bottom;
color: $selected_fg_color;
}
// used in selectors
// .panel-left .window-list-item-box:active, .panel-left .window-list-item-box:checked, .panel-left .window-list-item-box:focus
%panel-left-shared {
@extend %selected-bg-grad-to-left;
color: $selected_fg_color;
}
// used in selectors
// .panel-right .windows-list-item-box:active, .panel-right .window-list-item-box:checked, .panel-right .window-list-item-box:focus
%panel-right-shared {
@extend %selected-bg-grad-to-right;
color: $selected_fg_color;
}
// used in selectors
// .check-box StBin, .check-box:focus StBin
%check-box-shared {
width: 16px;
height: 16px;
background-image: url(assets/checkbox-off.svg);
}
// used in selectors
// .radiobutton StBin, .radiobutton:focus StBin
%radiobutton-shared {
width: 16px;
height: 16px;
background-image: url(assets/radiobutton-off.svg);
border-radius: $roundness;
}
// used in selectors
// .tile-preview, .tile-hud
%tile-shared {
background-color: $dark_bg_color_trans;
border: 2px solid $exterior_border;
}
// used in selectors
// .tile-preview.snap, .tile-hud.snap
%tile-shared-snap {
background-color: $dark_bg_color_trans;
border: 2px solid $selected_border;
}

View File

@@ -1,84 +0,0 @@
// scss-lint:disable ColorVariable
// main colors used in theme
// %CINNAMON_OPACITY% < 1 will result in most cinnamon surfaces being transparent
$button_bg_color: #%BTN_BG%;
$button_fg_color: #%BTN_FG%;
$selected_bg_color: #%SEL_BG%;
$selected_fg_color: #%SEL_FG%;
$tooltip_bg_color: #%BG%;
$tooltip_fg_color: #%FG%;
$dark_bg_color: fade-out(#%HDR_BG%, 1 - %CINNAMON_OPACITY%);
$dark_fg_color: #%HDR_FG%;
// an always transparent color used for expo & scale views and the lightbox effect when cinnamon is showing an OSD.
$dark_bg_color_trans: fade-out(#%HDR_BG%, 1 - (%CINNAMON_OPACITY% / 2));
// used to calculate gradients for gradient values > 0
$lighten_amount: 1 + (%GRADIENT% / 2);
$darken_amount: 1 - (%GRADIENT% / 2);
// main background surface gradient start and end colors
$light_bg_grad: if($lighten_amount > 1, lighten($dark_bg_color, ($lighten_amount - 1) * lightness($dark_bg_color)), $dark_bg_color);
$dark_bg_grad: if($darken_amount < 1, darken($dark_bg_color, (1 - $darken_amount) * lightness($dark_bg_color)), $dark_bg_color);
// hovered background surface gradient start and end colors - used for window list
$hover_bg_color: lighten($dark_bg_color, .05 * lightness($dark_bg_color));
$light_hover_bg_grad: if($lighten_amount > 1, lighten($hover_bg_color, ($lighten_amount - 1) * lightness($hover_bg_color)), $hover_bg_color);
$dark_hover_bg_grad: if($darken_amount < 1, darken($hover_bg_color, (1 - $darken_amount) * lightness($hover_bg_color)), $hover_bg_color);
// selected background surface gradient start and end colors - used for window list & buttons
$light_selected_bg_grad: if($lighten_amount > 1, lighten($selected_bg_color, ($lighten_amount - 1) * lightness($selected_bg_color)), $selected_bg_color);
$dark_selected_bg_grad: if($darken_amount < 1, darken($selected_bg_color, (1 - $darken_amount) * lightness($selected_bg_color)), $selected_bg_color);
// hovered selected background surface gradient start and end colors - used for window list
$hover_selected_color: lighten($selected_bg_color, .05 * lightness($selected_bg_color));
$light_hover_selected_grad: if($lighten_amount > 1, lighten($hover_selected_color, ($lighten_amount - 1) * lightness($hover_selected_color)), $hover_selected_color);
$dark_hover_selected_grad: if($darken_amount < 1, darken($hover_selected_color, (1 - $darken_amount) * lightness($hover_selected_color)), $hover_selected_color);
// button background surface gradient start and end colors - used for buttons
$light_button_bg_grad: if($lighten_amount > 1, lighten($button_bg_color, ($lighten_amount - 1) * lightness($button_bg_color)), $button_bg_color);
$dark_button_bg_grad: if($darken_amount < 1, darken($button_bg_color, (1 - $darken_amount) * lightness($button_bg_color)), $button_bg_color);
// hovered button background surface gradient start and end colors - used for buttons
$hover_button_bg: lighten($button_bg_color, .05 * lightness($button_bg_color));
$light_hover_button_bg_grad: if($lighten_amount > 1, lighten($hover_button_bg, ($lighten_amount - 1) * lightness($hover_button_bg)), $hover_button_bg);
$dark_hover_button_bg_grad: if($darken_amount < 1, darken($hover_button_bg, (1 - $darken_amount) * lightness($hover_button_bg)), $hover_button_bg);
// tooltip background surface gradient start and end colors - used for tooltips
$light_tooltip_bg_grad: if($lighten_amount > 1, lighten($tooltip_bg_color, ($lighten_amount - 1) * lightness($tooltip_bg_color)), $tooltip_bg_color);
$dark_tooltip_bg_grad: if($darken_amount < 1, darken($tooltip_bg_color, (1 - $darken_amount) * lightness($tooltip_bg_color)), $tooltip_bg_color);
// borders used throughout theme buttons also use selected_borders_color
$selected_border: mix($dark_bg_color, $selected_bg_color, if(lightness($dark_bg_color) < 50%, 18%, 10%));
$border_strength: if(lightness($dark_fg_color) > 50, .1, .2);
$interior_border: fade-out($dark_fg_color, 0.88 - $border_strength);
$exterior_border: mix($dark_bg_color, $dark_fg_color, (30 + ($border_strength * 100)));
// decoration for buttons
$button_border_strength: if(lightness($button_fg_color) > 50, .1, .2);
$button_border: fade-out($button_fg_color, 0.88 - $button_border_strength);
// scrollbar colors
$scrollbar_bg_color: darken($dark_bg_color, 5%);
$scrollbar_slider_color: mix($dark_bg_color, $dark_fg_color, 20%);
$scrollbar_slider_hover_color: mix($dark_bg_color, $selected_bg_color, 20%);
// caret colors for dialog entrys
$primary_caret_color: #%CARET1_FG%;
// other colors used in the theme
$link_color: #%TERMINAL_COLOR4%;
$success_color: #%TERMINAL_COLOR10%;
$warning_color: #%TERMINAL_COLOR11%;
$error_color: #%TERMINAL_COLOR9%;
$info_fg_color: #%TERMINAL_BACKGROUND%;
$info_bg_color: #%TERMINAL_COLOR12%;
// used for border-radius throughout theme
$roundness: %ROUNDNESS%px;
// used for buttons, entrys, panel spacing, and menu item spacing.
$spacing: %SPACING%px;
$spacing_plus2: (%SPACING% + 2) + px;

View File

@@ -1,14 +0,0 @@
@import "_global";
@import "_extends";
@import "sections/_stage";
@import "sections/_menu";
@import "sections/_panel";
@import "sections/_calendar";
@import "sections/_accessibility";
@import "sections/_notifications";
@import "sections/_dialogs";
@import "sections/_desklets";
@import "sections/_alt-tab";
@import "sections/_overview";
@import "sections/_tile-hud";

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