Initial commit
|
@ -0,0 +1,12 @@
|
|||
This folder is the root of awesomewm configuration.
|
||||
The layout is as follows:
|
||||
/core - original rc.lua, split into components for convenience.
|
||||
/core/widgets - self-contained widgets from original awesomewm rc.lua.
|
||||
/modules - small self-contained plug-ins to be required in rc.lua.
|
||||
/libs - libraries, for various purposes.
|
||||
/widgets - custom widgets
|
||||
/various-scripts - scripts for clearing up desktop files, installing pam, etc.
|
||||
/docs
|
||||
/themes - themes compatible with this config or awesomewm in general.
|
||||
|
||||
Each folder contains a readme, describing what it contains and some additional details that one might need.
|
|
@ -0,0 +1,27 @@
|
|||
These are the core modules of this desktop.
|
||||
There are currently the following modules, in the order of loading:
|
||||
1) error.lua - Error handling
|
||||
2) vars.lua - Variable definitions
|
||||
3) style.lua - ``beautiful`` theme and style definitions
|
||||
4) binds.lua - Binds
|
||||
5) layout.lua - Wibar layout
|
||||
6) rules.lua - Rules
|
||||
7) signals.lua - Signals
|
||||
|
||||
Notice that Error handling and Variable definitions come before beautiful
|
||||
initialization. That is normal. Those modules don't depend on any of the
|
||||
above, therefore they are loaded before anything else.
|
||||
|
||||
Additionally, notice that Binds come before Wibar. That is not exactly how it
|
||||
was in the default rc.lua, but it is important to load them in exactly that
|
||||
order. Widgets, which are called from layout.lua, override the global bindings
|
||||
table. If you load binds after the layout is loaded, the bindings are reset to
|
||||
defaults.
|
||||
|
||||
Everything else is kept in exactly the same order as it was in the default
|
||||
rc.lua
|
||||
|
||||
Additionally, it should be noted that all widgets in this config are entirely
|
||||
independent. Simply not loading them will not load any keybindings or break
|
||||
the config. Therefore, if you want to change any keybindings for the widgets,
|
||||
you would want to search for them in their respective modules.
|
|
@ -0,0 +1,10 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local keys = require("core.binds.globalkeys")
|
||||
local buttons = require("core.binds.globalbuttons")
|
||||
|
||||
-- Set keys
|
||||
root.buttons(buttons)
|
||||
root.keys(keys)
|
||||
-- }}}
|
|
@ -0,0 +1,17 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local clientbuttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
end),
|
||||
awful.button({ global.modkey }, 1, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ global.modkey }, 3, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
return clientbuttons
|
|
@ -0,0 +1,47 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local clientkeys = gears.table.join(
|
||||
awful.key({ global.modkey, }, "f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{description = "toggle fullscreen", group = "client"}),
|
||||
awful.key({ global.modkey, "Shift" }, "c", function (c) c:kill() end,
|
||||
{description = "close", group = "client"}),
|
||||
awful.key({ global.modkey, "Control" }, "space", awful.client.floating.toggle ,
|
||||
{description = "toggle floating", group = "client"}),
|
||||
awful.key({ global.modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||
{description = "move to master", group = "client"}),
|
||||
awful.key({ global.modkey, }, "o", function (c) c:move_to_screen() end,
|
||||
{description = "move to screen", group = "client"}),
|
||||
awful.key({ global.modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||
{description = "toggle keep on top", group = "client"}),
|
||||
awful.key({ global.modkey, }, "n",
|
||||
function (c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end ,
|
||||
{description = "minimize", group = "client"}),
|
||||
awful.key({ global.modkey, }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize", group = "client"}),
|
||||
awful.key({ global.modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize vertically", group = "client"}),
|
||||
awful.key({ global.modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize horizontally", group = "client"})
|
||||
)
|
||||
return clientkeys
|
|
@ -0,0 +1,8 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
return gears.table.join(
|
||||
awful.button({ }, 3, function () require("core.widgets.menu"):toggle() end),
|
||||
awful.button({ }, 4, awful.tag.viewnext),
|
||||
awful.button({ }, 5, awful.tag.viewprev)
|
||||
)
|
|
@ -0,0 +1,132 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local globalkeys = gears.table.join(
|
||||
awful.key({ global.modkey, }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "tag"}),
|
||||
awful.key({ global.modkey, }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "tag"}),
|
||||
awful.key({ global.modkey, }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "tag"}),
|
||||
|
||||
awful.key({ global.modkey, }, "j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{description = "focus next by index", group = "client"}
|
||||
),
|
||||
awful.key({ global.modkey, }, "k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{description = "focus previous by index", group = "client"}
|
||||
),
|
||||
-- Layout manipulation
|
||||
awful.key({ global.modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||
{description = "swap with next client by index", group = "client"}),
|
||||
awful.key({ global.modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||
{description = "swap with previous client by index", group = "client"}),
|
||||
awful.key({ global.modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
|
||||
{description = "focus the next screen", group = "screen"}),
|
||||
awful.key({ global.modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "focus the previous screen", group = "screen"}),
|
||||
awful.key({ global.modkey, }, "u", awful.client.urgent.jumpto,
|
||||
{description = "jump to urgent client", group = "client"}),
|
||||
awful.key({ global.modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "client"}),
|
||||
|
||||
-- Standard program
|
||||
awful.key({ global.modkey, }, "Return", function () awful.spawn(global.terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
awful.key({ global.modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "reload awesome", group = "awesome"}),
|
||||
awful.key({ global.modkey, "Shift" }, "q", awesome.quit,
|
||||
{description = "quit awesome", group = "awesome"}),
|
||||
|
||||
awful.key({ global.modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "increase master width factor", group = "layout"}),
|
||||
awful.key({ global.modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "decrease master width factor", group = "layout"}),
|
||||
awful.key({ global.modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "increase the number of master clients", group = "layout"}),
|
||||
awful.key({ global.modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "decrease the number of master clients", group = "layout"}),
|
||||
awful.key({ global.modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "increase the number of columns", group = "layout"}),
|
||||
awful.key({ global.modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "decrease the number of columns", group = "layout"}),
|
||||
awful.key({ global.modkey, }, "space", function () awful.layout.inc( 1) end,
|
||||
{description = "select next", group = "layout"}),
|
||||
awful.key({ global.modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||
{description = "select previous", group = "layout"}),
|
||||
|
||||
awful.key({ global.modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:emit_signal(
|
||||
"request::activate", "key.unminimize", {raise = true}
|
||||
)
|
||||
end
|
||||
end,
|
||||
{description = "restore minimized", group = "client"})
|
||||
)
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
awful.key({ global.modkey }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
{description = "view tag #"..i, group = "tag"}),
|
||||
-- Toggle tag display.
|
||||
awful.key({ global.modkey, "Control" }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
{description = "toggle tag #" .. i, group = "tag"}),
|
||||
-- Move client to tag.
|
||||
awful.key({ global.modkey, "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||
-- Toggle tag on focused client.
|
||||
awful.key({ global.modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
)
|
||||
end
|
||||
|
||||
return globalkeys
|
|
@ -0,0 +1,14 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
return buttons
|
|
@ -0,0 +1,10 @@
|
|||
--{{{ Additional client setup
|
||||
local gears = require("gears")
|
||||
return function(c)
|
||||
local shape = function(cr, width, height)
|
||||
return gears.shape.partially_rounded_rect(cr, width, height,
|
||||
true,true,false,false,require("beautiful").titlebar_rounding)
|
||||
end
|
||||
c.shape = shape
|
||||
end
|
||||
--}}}
|
|
@ -0,0 +1,26 @@
|
|||
local naughty = require("naughty")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors })
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function (err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then return end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err) })
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
|
@ -0,0 +1,114 @@
|
|||
local beautiful = require("beautiful")
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
-- {{{ Wibar
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
-- {{{ Non-widget modules
|
||||
-- The following modules are not exactly widgets, however they are part of the ui.
|
||||
|
||||
-- Load the keybindings list
|
||||
require("core.widgets.hotkeys_popup")
|
||||
|
||||
-- Load the menubar
|
||||
require("core.widgets.menubar")
|
||||
-- }}}
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = require("core.widgets.prompt")()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- Create the taglist
|
||||
s.mytaglist = require("core.widgets.taglist")(s)
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = require("core.widgets.layout_box")(s)
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = require("core.widgets.tasklist")(s)
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({
|
||||
position = "top",
|
||||
screen = s,
|
||||
bg = beautiful.topbar_bg
|
||||
})
|
||||
-- Add screen lock
|
||||
require("widgets.lock")({screen = s,obscure = false})
|
||||
require("widgets.unitybar")(s,{
|
||||
top_widgets = {
|
||||
require("widgets.polytasklist")({
|
||||
vertical = true,
|
||||
stretch = false,
|
||||
--constraint = 180,
|
||||
names = false,
|
||||
margins = 5
|
||||
})(s),
|
||||
},
|
||||
bottom_widgets = {
|
||||
require("widgets.polylauncher")({vertical = true})
|
||||
}
|
||||
})
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
require("core.widgets.menu_launcher"),
|
||||
--require("widgets.polylauncher")({vertical = false}),
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
-- Middle widget
|
||||
{
|
||||
--[[require("widgets.polytasklist")({
|
||||
vertical = false,
|
||||
stretch = false,
|
||||
constraint = 180,
|
||||
names = true,
|
||||
margins = 5
|
||||
})(s),]]
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
awful.widget.keyboardlayout(),
|
||||
require("widgets.wallpapers")({
|
||||
screen = s,
|
||||
path = os.getenv("HOME").."/Pictures/Wallpapers/"
|
||||
}),
|
||||
require("widgets.mailbox")({
|
||||
screen = s,
|
||||
style = {
|
||||
rounding = 1
|
||||
}
|
||||
}),
|
||||
wibox.widget.systray(),
|
||||
require("widgets.volume")({}),
|
||||
require("widgets.battery")({percentage = true}),
|
||||
wibox.widget.textclock(),
|
||||
s.mylayoutbox,
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
|
@ -0,0 +1,61 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local beautiful = require("beautiful")
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
properties = { border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = require("core.binds.clientkeys"),
|
||||
buttons = require("core.binds.clientbuttons"),
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap+awful.placement.no_offscreen,
|
||||
requests_no_titlebar = false
|
||||
}
|
||||
},
|
||||
|
||||
-- Floating clients.
|
||||
{ rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry",
|
||||
},
|
||||
class = {
|
||||
"Arandr",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"MessageWin", -- kalarm.
|
||||
"Sxiv",
|
||||
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui",
|
||||
"veromix",
|
||||
"xtightvncviewer"},
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
}
|
||||
}, properties = { floating = true }},
|
||||
|
||||
-- Add titlebars to normal clients and dialogs
|
||||
{ rule_any = {type = { "normal", "dialog" }
|
||||
}, properties = { titlebars_enabled = true }
|
||||
},
|
||||
|
||||
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||
-- { rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "2" } },
|
||||
}
|
||||
-- }}}
|
|
@ -0,0 +1,35 @@
|
|||
local awful = require('awful')
|
||||
local gears = require('gears')
|
||||
local beautiful = require("beautiful")
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function (c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup
|
||||
and not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
local s, preprocess = pcall(require,"core.client")
|
||||
if s then
|
||||
preprocess(c)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
require("core.titlebar")(c)
|
||||
end)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||
-- }}}
|
|
@ -0,0 +1,3 @@
|
|||
local beautiful = require("beautiful")
|
||||
beautiful.init(global.theme)
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
local menu = require("widgets.polymenu")
|
||||
local move_screentags = {}
|
||||
local toggle_screentags = {}
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
local move_tags = {}
|
||||
local toggle_tags = {}
|
||||
for _,tag in pairs(s.tags) do
|
||||
table.insert(move_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
client.focus:tags({tag})
|
||||
end
|
||||
end
|
||||
})
|
||||
table.insert(toggle_tags,{
|
||||
tag.name,
|
||||
function()
|
||||
if client.focus then
|
||||
local tags = client.focus:tags()
|
||||
for k,v in pairs(tags) do
|
||||
if v == tag then
|
||||
table.remove(tags,k)
|
||||
client.focus:tags(tags)
|
||||
return
|
||||
end
|
||||
end
|
||||
table.insert(tags,tag)
|
||||
client.focus:tags(tags)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
table.insert(move_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
move_tags
|
||||
})
|
||||
table.insert(toggle_screentags,{
|
||||
"Screen "..tostring(s.index),
|
||||
toggle_tags
|
||||
})
|
||||
end)
|
||||
return function(c)
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
c.menu = menu({
|
||||
before = {
|
||||
{
|
||||
awful.titlebar.widget.floatingbutton (c),
|
||||
awful.titlebar.widget.stickybutton (c),
|
||||
awful.titlebar.widget.ontopbutton (c),
|
||||
forced_width = 72,
|
||||
forced_height = 24,
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
}
|
||||
},
|
||||
items = {
|
||||
{ "Move to tag" ,
|
||||
move_screentags
|
||||
},
|
||||
{ "Toggle on tag",
|
||||
toggle_screentags
|
||||
}
|
||||
},
|
||||
vertical = true
|
||||
})
|
||||
c.menu_button = awful.titlebar.widget.iconwidget(c)
|
||||
c.menu_button:connect_signal("button::press", function()
|
||||
c.menu.toggle()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
end)
|
||||
c:connect_signal("unfocus",function()
|
||||
if c.menu.visible then
|
||||
c.menu.toggle(0,0)
|
||||
end
|
||||
end)
|
||||
return awful.titlebar(c) : setup {
|
||||
{ -- Left
|
||||
c.menu_button,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.minimizebutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = wibox.layout.align.horizontal,
|
||||
}
|
||||
end
|
|
@ -0,0 +1,30 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
-- {{{ Variable definitions
|
||||
global = {}
|
||||
global.awesome_dir = os.getenv("HOME").."/.config/awesome/"
|
||||
global.config_dir = os.getenv("HOME").."/.awesome/"
|
||||
global.theme = global.awesome_dir .. "themes/unity2/theme.lua"
|
||||
global.terminal = "xterm"
|
||||
global.editor = os.getenv("EDITOR") or "vim"
|
||||
global.editor_cmd = global.terminal .. " -e ".. global.editor
|
||||
global.modkey = "Mod4"
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw,
|
||||
-- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
|
@ -0,0 +1,8 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
awful.key({ global.modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="show help", group="awesome"})))
|
||||
return hotkeys_popup
|
|
@ -0,0 +1,12 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
-- (Layout list is in vars.lua because it functions without this widget)
|
||||
return function(s)
|
||||
local layoutbox = awful.widget.layoutbox(s)
|
||||
layoutbox:buttons(gears.table.join(
|
||||
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 3, function () awful.layout.inc(-1) end),
|
||||
awful.button({ }, 4, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
|
||||
return layoutbox
|
||||
end
|
|
@ -0,0 +1,91 @@
|
|||
local awful = require('awful')
|
||||
local gears = require("gears")
|
||||
local beautiful = require('beautiful')
|
||||
local polymenu = require("widgets.polymenu")
|
||||
local wibox = require("wibox")
|
||||
local awmtk = require("awmtk")
|
||||
local style = awmtk.style(awmtk.defaults,{},"powercontrol_")
|
||||
local awesome_menu = {
|
||||
{ "hotkeys", function() require("core.widgets.hotkeys_popup").show_help(nil, awful.screen.focused()) end },
|
||||
{ "manual", global.terminal .. " -e man awesome" },
|
||||
{ "edit config", global.editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", function() awesome.quit() end },
|
||||
}
|
||||
local before_table = {
|
||||
{
|
||||
widget = wibox.widget.textbox,
|
||||
markup = "AwesomeWM"
|
||||
}
|
||||
}
|
||||
local after_table = {}
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
table.insert(before_table,{
|
||||
{
|
||||
widget = wibox.widget.textbox,
|
||||
markup = "Screen "..tostring(s.index)
|
||||
},
|
||||
require("core.widgets.taglist")(s),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
})
|
||||
end)
|
||||
table.insert(after_table,{
|
||||
style.icon({
|
||||
widget = wibox.widget.imagebox,
|
||||
image = gears.color.recolor_image(style.powercontrol_icon_shutdown,style.powercontrol_button_fg_normal),
|
||||
resize = true
|
||||
},{
|
||||
bg = style.powercontrol_button_bg_focus,
|
||||
forced_width = 24,
|
||||
forced_height = 24
|
||||
},{
|
||||
function()
|
||||
awful.spawn("loginctl poweroff")
|
||||
end
|
||||
}),
|
||||
style.icon({
|
||||
widget = wibox.widget.imagebox,
|
||||
image = gears.color.recolor_image(style.powercontrol_icon_suspend,style.powercontrol_button_fg_normal),
|
||||
resize = true,
|
||||
},{
|
||||
bg = style.powercontrol_button_bg_focus,
|
||||
forced_width = 24,
|
||||
forced_height = 24
|
||||
},{
|
||||
function()
|
||||
awful.spawn("loginctl suspend")
|
||||
end
|
||||
}),
|
||||
style.icon({
|
||||
widget = wibox.widget.imagebox,
|
||||
image = gears.color.recolor_image(style.powercontrol_icon_lock,style.powercontrol_button_fg_normal),
|
||||
resize = true,
|
||||
},{
|
||||
bg = style.powercontrol_button_bg_focus,
|
||||
forced_width = 24,
|
||||
forced_height = 24
|
||||
},{
|
||||
function()
|
||||
awesome.emit_signal("lock_screen")
|
||||
end
|
||||
}),
|
||||
spacing = style.powercontrol_container_spacing_horizontal,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
})
|
||||
local items = require("widgets.xdg-menu") {
|
||||
before = {{ "awesome", awesome_menu, beautiful.awesome_icon }},
|
||||
after = {{ "open terminal", global.terminal }},
|
||||
}
|
||||
local menu_template = {
|
||||
before = before_table,
|
||||
items = items,
|
||||
after = after_table,
|
||||
vertical = true,
|
||||
inverse = true
|
||||
}
|
||||
local menu = polymenu(menu_template)
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
awful.key({ global.modkey, }, "w", function () menu:show() end,
|
||||
{description = "show main menu", group = "awesome"})))
|
||||
return menu
|
|
@ -0,0 +1,5 @@
|
|||
local awful = require('awful')
|
||||
local beautiful = require('beautiful')
|
||||
return awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||
menu = require("core.widgets.menu") })
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local menubar = require("menubar")
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
-- Menubar
|
||||
awful.key({ global.modkey }, "p", function() menubar.show() end,
|
||||
{description = "show the menubar", group = "launcher"})
|
||||
))
|
||||
menubar.utils.terminal = global.terminal
|
||||
return menubar
|
|
@ -0,0 +1,25 @@
|
|||
--This widget is now entirely portable. Bindings are loaded and always reference the new object, not an object named "mypromptbox" attached to the screen.
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
return function()
|
||||
local new_prompt = awful.widget.prompt()
|
||||
root.keys(gears.table.join(
|
||||
root.keys(),
|
||||
-- Prompt
|
||||
awful.key({ global.modkey }, "r", function () new_prompt:run() end,
|
||||
{description = "run prompt", group = "launcher"}),
|
||||
|
||||
awful.key({ global.modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = new_prompt.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end,
|
||||
{description = "lua execute prompt", group = "awesome"})))
|
||||
return new_prompt
|
||||
end
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local taglist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ global.modkey }, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||
awful.button({ global.modkey }, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
|
||||
)
|
||||
|
||||
return function(s)
|
||||
return awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = taglist_buttons
|
||||
}
|
||||
end
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local tasklist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"tasklist",
|
||||
{raise = true}
|
||||
)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
awful.menu.client_list({ theme = { width = 250 } })
|
||||
end),
|
||||
awful.button({ }, 4, function ()
|
||||
awful.client.focus.byidx(1)
|
||||
end),
|
||||
awful.button({ }, 5, function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end))
|
||||
|
||||
return function(s)
|
||||
return awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons
|
||||
}
|
||||
end
|
|
@ -0,0 +1,6 @@
|
|||
This folder contains various shared libraries, either in lua or in C.
|
||||
|
||||
If the libraries are written in C, they could be installed using scripts that
|
||||
could be found in various-scripts/
|
||||
|
||||
The documentation for each library is provided in docs/libs/libraryname.md
|
|
@ -0,0 +1,343 @@
|
|||
-- AWMTK isn't exactly a toolkit as much as it is
|
||||
-- an addon on top of awesome's native widget capabilities.
|
||||
-- What it provides primarily is the ability to sub-theme
|
||||
-- various parts of the ui.
|
||||
-- Features:
|
||||
-- - Many new non-standard beautiful variables,
|
||||
-- - Hierarchic defaults,
|
||||
-- - Quick widget generators,
|
||||
-- - Variable prefix generators (like titlebar_bg_normal, etc),
|
||||
-- - Nightmares,
|
||||
-- - Why does this exist,
|
||||
-- - Please don't use it.
|
||||
local beautiful = require("beautiful")
|
||||
local wibox = require("wibox")
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local awmtk = {}
|
||||
|
||||
--Global class names
|
||||
local classes = {
|
||||
"container_",
|
||||
"button_",
|
||||
"inputbox_",
|
||||
"textbox_",
|
||||
"icon_"
|
||||
}
|
||||
-- Utility functions
|
||||
local get_child_by_id = function(widget,id,limit)
|
||||
local children = {}
|
||||
local function _get_child(widget,id)
|
||||
for k,v in pairs(widget) do
|
||||
if type(v) == "table" then
|
||||
if v.id == id then
|
||||
children[#children+1] = v
|
||||
end
|
||||
_get_child(v,id)
|
||||
end
|
||||
end
|
||||
end
|
||||
_get_child({widget},id)
|
||||
return children
|
||||
end
|
||||
local function key_union(...)
|
||||
local tables = {...}
|
||||
local keys_lookup = {}
|
||||
local keys = {}
|
||||
for _,v in pairs(tables) do
|
||||
for k,whocareslol in pairs(v) do
|
||||
if not keys_lookup[k] then
|
||||
keys_lookup[k] = k
|
||||
table.insert(keys,k)
|
||||
end
|
||||
end
|
||||
end
|
||||
return keys
|
||||
end
|
||||
-- Preprocessable boilerplates
|
||||
local preprocess = {}
|
||||
preprocess.button = function(style)
|
||||
return function(widget,args,callbacks)
|
||||
local args = args or {}
|
||||
local callbacks = callbacks or {}
|
||||
local new_widget = style.button_widget(style)
|
||||
local background = get_child_by_id(new_widget,"widget_background")[1]
|
||||
for k,v in pairs(args) do
|
||||
background[k] = v
|
||||
end
|
||||
local container = get_child_by_id(new_widget,"widget_container")[1]
|
||||
container[#container+1] = widget
|
||||
new_widget = wibox.widget(new_widget)
|
||||
awmtk.connect_buttons(new_widget,callbacks)
|
||||
return new_widget
|
||||
end
|
||||
end
|
||||
preprocess.icon = function(style)
|
||||
return function(widget,args,callbacks)
|
||||
local args = args or {}
|
||||
local callbacks = callbacks or {}
|
||||
local new_widget = style.icon_widget(style)
|
||||
local background = get_child_by_id(new_widget,"widget_background")[1]
|
||||
for k,v in pairs(args) do
|
||||
background[k] = v
|
||||
end
|
||||
local container = get_child_by_id(new_widget,"widget_container")[1]
|
||||
container[#container+1] = widget
|
||||
new_widget = wibox.widget(new_widget)
|
||||
awmtk.connect_buttons(new_widget,callbacks)
|
||||
return new_widget
|
||||
end
|
||||
end
|
||||
preprocess.inputbox = function(style)
|
||||
return function(ps1,args,prompt_args)
|
||||
local args = args or {}
|
||||
local new_widget = style.inputbox_widget(style,ps1)
|
||||
local background = get_child_by_id(new_widget,"widget_background")[1]
|
||||
for k,v in pairs(args) do
|
||||
background[k] = v
|
||||
end
|
||||
new_widget = wibox.widget(new_widget)
|
||||
local textbox = new_widget:get_children_by_id("widget_prompt")[1]
|
||||
awmtk.connect_buttons(new_widget,{function()
|
||||
if prompt_args.pre_callback then
|
||||
prompt_args.pre_callback(textbox)
|
||||
end
|
||||
local prompt_options = {
|
||||
textbox = textbox,
|
||||
}
|
||||
for k,v in pairs(prompt_args) do
|
||||
if k ~= "textbox" then
|
||||
prompt_options[k] = v
|
||||
end
|
||||
end
|
||||
prompt_options.exe_callback = function(input)
|
||||
prompt_args.exe_callback(input,textbox)
|
||||
textbox:set_markup_silently(ps1)
|
||||
end
|
||||
awful.prompt.run(prompt_options)
|
||||
end})
|
||||
return new_widget
|
||||
end
|
||||
end
|
||||
preprocess.container = function(style)
|
||||
return function(widget,args)
|
||||
local args = args or {}
|
||||
local new_widget = style.container_widget(style)
|
||||
local background = get_child_by_id(new_widget,"widget_background")[1]
|
||||
for k,v in pairs(args) do
|
||||
background[k] = v
|
||||
end
|
||||
local container = get_child_by_id(new_widget,"widget_container")[1]
|
||||
container[#container+1] = widget
|
||||
new_widget = wibox.widget(new_widget)
|
||||
return new_widget
|
||||
end
|
||||
end
|
||||
preprocess.shape = function(style)
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, style.rounding)
|
||||
end
|
||||
end
|
||||
preprocess.container_shape = function(style)
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, style.container_rounding or style.rounding)
|
||||
end
|
||||
end
|
||||
preprocess.button_shape = function(style)
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, style.button_rounding or style.rounding)
|
||||
end
|
||||
end
|
||||
preprocess.icon_shape = function(style)
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, style.icon_rounding or style.rounding)
|
||||
end
|
||||
end
|
||||
preprocess.inputbox_shape = function(style)
|
||||
return function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, style.inputbox_rounding or style.rounding)
|
||||
end
|
||||
end
|
||||
-- AWMTK functions
|
||||
|
||||
awmtk.connect_buttons = function(new_widget,callbacks)
|
||||
new_widget:buttons (
|
||||
awful.util.table.join(
|
||||
(callbacks[1] and awful.button({},1,callbacks[1],callbacks.release_1)),
|
||||
(callbacks[2] and awful.button({},2,callbacks[2],callbacks.release_2)),
|
||||
(callbacks[3] and awful.button({},3,callbacks[3],callbacks.release_3))
|
||||
)
|
||||
)
|
||||
return new_widget
|
||||
end
|
||||
|
||||
awmtk._create_preprocess_style = function(style,prefix)
|
||||
-- We use this function to force templates to favor prefix values
|
||||
new_style = setmetatable({}, {
|
||||
__index = function(t,k)
|
||||
if type(k) == "string" and style[prefix..k] then
|
||||
return style[prefix..k]
|
||||
end
|
||||
return style[k]
|
||||
end
|
||||
})
|
||||
return new_style
|
||||
end
|
||||
awmtk.create_prefix = function(style,prefix,index)
|
||||
-- Create a prefix for new widgets to use
|
||||
local keys = index
|
||||
for _,k in pairs(keys) do
|
||||
style[prefix..k] = style[prefix..k] or style[k] or parent[k]
|
||||
end
|
||||
return style
|
||||
end
|
||||
awmtk.style = function(parent,delta,prefix)
|
||||
local new_style = setmetatable({},{
|
||||
__index = function(t,k)
|
||||
return rawget(t,k) or
|
||||
delta[k] or
|
||||
parent[k]
|
||||
end
|
||||
})
|
||||
if prefix then
|
||||
new_style = awmtk.create_prefix(new_style,prefix,key_union(parent,delta))
|
||||
end
|
||||
local _new_style = awmtk._create_preprocess_style(new_style,prefix)
|
||||
_new_style.button_shape = preprocess.button_shape(_new_style)
|
||||
_new_style.icon_shape = preprocess.icon_shape(_new_style)
|
||||
_new_style.container_shape = preprocess.container_shape(_new_style)
|
||||
_new_style.inputbox_shape = preprocess.inputbox_shape(_new_style)
|
||||
new_style.button = preprocess.button(_new_style)
|
||||
new_style.icon = preprocess.icon(_new_style)
|
||||
new_style.container = preprocess.container(_new_style)
|
||||
new_style.inputbox = preprocess.inputbox(_new_style)
|
||||
return new_style
|
||||
end
|
||||
|
||||
-- Default variables table
|
||||
defaults = setmetatable({},{
|
||||
__index = beautiful
|
||||
})
|
||||
defaults.bg_normal = defaults.bg_normal
|
||||
defaults.bg_focus = defaults.bg_focus
|
||||
defaults.bg_urgent = defaults.bg_urgent
|
||||
defaults.bg_marked = defaults.bg_marked
|
||||
defaults.fg_normal = defaults.fg_normal
|
||||
defaults.fg_focus = defaults.fg_focus
|
||||
defaults.fg_urgent = defaults.fg_urgent
|
||||
defaults.fg_marked = defaults.fg_marked
|
||||
defaults.border_width = defaults.border_width
|
||||
defaults.border_normal = defaults.border_normal
|
||||
defaults.border_focus = defaults.border_focus
|
||||
defaults.border_marked = defaults.border_marked
|
||||
defaults.shape_border_width = defaults.shape_border_width or 0
|
||||
defaults.shape_border_color = defaults.shape_border_color or defaults.bg_normal
|
||||
-- Extra variables
|
||||
defaults.inner_margin = defaults.inner_margin or 5
|
||||
defaults.rounding = defaults.rounding or 0
|
||||
local new_defaults = {}
|
||||
-- Generate classes variables
|
||||
for _,class in pairs(classes) do
|
||||
for parameter,value in pairs(defaults) do
|
||||
new_defaults[class..parameter] = (
|
||||
defaults[class..parameter] or
|
||||
value
|
||||
)
|
||||
end
|
||||
end
|
||||
for parameter,value in pairs(defaults) do
|
||||
new_defaults[parameter] = value
|
||||
end
|
||||
defaults = setmetatable(new_defaults,{
|
||||
__index = beautiful
|
||||
})
|
||||
--make icons look less weird
|
||||
defaults.icon_inner_margin = beautiful.icon_inner_margin or 0
|
||||
--add spacing for lists
|
||||
defaults.container_spacing = defaults.container_spacing or 2
|
||||
defaults.container_spacing_vertical = defaults.container_spacing_vertical or defaults.container_spacing
|
||||
defaults.container_spacing_horizontal = defaults.container_spacing_horizontal or defaults.container_spacing
|
||||
-- Templates for quick widget generation
|
||||
defaults.button_widget = defaults.button_widget or function(style)
|
||||
return {
|
||||
{
|
||||
id = "widget_container",
|
||||
widget = wibox.container.margin,
|
||||
margins = style.button_inner_margin,
|
||||
},
|
||||
bg = style.button_bg_normal,
|
||||
id = "widget_background",
|
||||
widget = wibox.container.background,
|
||||
shape = style.button_shape,
|
||||
shape_border_width = style.button_shape_border_width,
|
||||
shape_border_color = style.button_shape_border_color,
|
||||
fg = style.button_fg_normal
|
||||
}
|
||||
end
|
||||
defaults.icon_widget = defaults.icon_widget or function(style)
|
||||
return {
|
||||
{
|
||||
id = "widget_container",
|
||||
widget = wibox.container.margin,
|
||||
margins = style.icon_inner_margin,
|
||||
},
|
||||
bg = style.icon_bg_normal,
|
||||
id = "widget_background",
|
||||
widget = wibox.container.background,
|
||||
shape = style.icon_shape,
|
||||
shape_border_width = style.icon_shape_border_width,
|
||||
shape_border_color = style.icon_shape_border_color,
|
||||
fg = style.icon_fg_normal
|
||||
}
|
||||
end
|
||||
defaults.container_widget = defaults.container_widget or function(style)
|
||||
return {
|
||||
{
|
||||
id = "widget_container",
|
||||
widget = wibox.container.margin,
|
||||
margins = style.container_inner_margin,
|
||||
},
|
||||
bg = style.container_bg_normal,
|
||||
id = "widget_background",
|
||||
widget = wibox.container.background,
|
||||
shape = style.container_shape,
|
||||
shape_border_width = style.container_shape_border_width,
|
||||
shape_border_color = style.container_shape_border_color,
|
||||
fg = style.container_fg_normal
|
||||
}
|
||||
end
|
||||
defaults.inputbox_widget = defaults.inputbox_widget or function(style,prompt)
|
||||
return {
|
||||
{
|
||||
{
|
||||
id = "widget_prompt",
|
||||
markup = prompt or "",
|
||||
widget = wibox.widget.textbox,
|
||||
fg = style.inputbox_fg_normal
|
||||
},
|
||||
id = "widget_container",
|
||||
widget = wibox.container.margin,
|
||||
margins = style.inputbox_inner_margin,
|
||||
},
|
||||
bg = style.inputbox_bg_normal,
|
||||
id = "widget_background",
|
||||
widget = wibox.container.background,
|
||||
shape = style.inputbox_shape,
|
||||
shape_border_width = style.inputbox_shape_border_width,
|
||||
shape_border_color = style.inputbox_shape_border_color
|
||||
}
|
||||
end
|
||||
defaults.button_shape = defaults.button_shape or preprocess.button_shape(defaults)
|
||||
defaults.icon_shape = defaults.icon_shape or preprocess.icon_shape(defaults)
|
||||
defaults.container_shape = defaults.container_shape or preprocess.container_shape(defaults)
|
||||
defaults.button = preprocess.button(defaults)
|
||||
defaults.icon = preprocess.icon(defaults)
|
||||
defaults.container = preprocess.container(defaults)
|
||||
defaults.inputbox = preprocess.inputbox(defaults)
|
||||
awmtk.defaults = defaults
|
||||
awmtk.preprocess = preprocess
|
||||
awmtk.utils = {
|
||||
key_union = key_union,
|
||||
get_child_by_id = get_child_by_id
|
||||
}
|
||||
return awmtk
|
|
@ -0,0 +1,7 @@
|
|||
Copyright (c) 2012 Dennis Schridde
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -0,0 +1 @@
|
|||
https://github.com/devurandom/lua-pam
|
|
@ -0,0 +1,52 @@
|
|||
-- If you experience errors on the next line,
|
||||
-- that means that you did not install lua-pam.
|
||||
-- Run install_luapam.sh from the various-scripts directory.
|
||||
local pam = require('pam')
|
||||
local naughty = require("naughty")
|
||||
|
||||
local function check_password(pw,username)
|
||||
local function conversation(messages)
|
||||
local responses = {}
|
||||
for i, message in ipairs(messages) do
|
||||
local msg_style, msg = message[1], message[2]
|
||||
if msg_style == pam.PROMPT_ECHO_OFF then
|
||||
-- Assume PAM asks us for the password
|
||||
print("PAM Message: ",msg)
|
||||
responses[i] = {pw, 0}
|
||||
elseif msg_style == pam.PROMPT_ECHO_ON then
|
||||
-- Assume PAM asks us for the username
|
||||
print("PAM Message: ",msg)
|
||||
responses[i] = {username or os.getenv("USER"), 0}
|
||||
elseif msg_style == pam.ERROR_MSG then
|
||||
print("PAM Error: ",msg)
|
||||
responses[i] = {"", 0}
|
||||
elseif msg_style == pam.TEXT_INFO then
|
||||
print("PAM Info message: ",msg)
|
||||
responses[i] = {"", 0}
|
||||
else
|
||||
print("Unsupported conversation message style for PAM: " .. msg_style)
|
||||
print("PAM Message: ",msg)
|
||||
end
|
||||
end
|
||||
return responses
|
||||
end
|
||||
local handler,err = pam.start("system-auth", nil, {conversation, nil})
|
||||
if not handler then
|
||||
naughty.notify({title="PAM session start error: ",text=err,bg="#AA0000"})
|
||||
print("PAM session start error: ",err)
|
||||
return false
|
||||
end
|
||||
local auth,err = pam.authenticate(handler)
|
||||
if not auth then
|
||||
print("PAM authentication error: ",err)
|
||||
return false
|
||||
end
|
||||
local s_end,err = pam.endx(handler, pam.SUCCESS)
|
||||
if not s_end then
|
||||
naughty.notify({title="PAM session end error: ",text=err,bg="#AA0000"})
|
||||
print("PAM session end error: ",err)
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
return check_password
|
|
@ -0,0 +1,7 @@
|
|||
Modules are self-contained plugins that change the behaviour of awesomewm.
|
||||
|
||||
Their config files are usually located either in ~/.awesome, or in the
|
||||
folder specified by the varioable global.config_dir in core/vars.lua.
|
||||
|
||||
The configuration format is described in docs/modules/modulename.md
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
---AwesomeWM autorun system
|
||||
-- This module provides a way to start up applications on desktop boot
|
||||
-- It's like cron's @reboot but with additional awesomewm specific features
|
||||
local awful = require("awful")
|
||||
local rcfile = io.open(global.config_dir.."rc.lua")
|
||||
local execd = {}
|
||||
-- load persistent file for "o" tag
|
||||
local execd_file = io.open("/tmp/awesomerc.started","r")
|
||||
if execd_file then
|
||||
execd_file:read("*a"):gsub("[^\n]+",function(prg)
|
||||
execd[prg] = true
|
||||
end)
|
||||
execd_file:close()
|
||||
end
|
||||
execd_file = io.open("/tmp/awesomerc.started","w")
|
||||
local function check_pid(prg)
|
||||
local args = {}
|
||||
prg:gsub("[^%s ]+",function(name)
|
||||
args[#args+1] = name
|
||||
end)
|
||||
local prgname
|
||||
for _,prgn in pairs(args) do
|
||||
if prgn:match("^[^=]+$") then
|
||||
prgname = prgn:match("[^/]+$"):sub(1,15)
|
||||
break
|
||||
end
|
||||
end
|
||||
if os.execute("pgrep "..prgname) == 0 then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
local function check_once(prg)
|
||||
if not execd[prg] then
|
||||
execd[prg] = true
|
||||
execd_file:write(tostring(prg).."\n")
|
||||
return true
|
||||
end
|
||||
end
|
||||
local function apply_tags(k,prg)
|
||||
if k:match("n") and (check_pid(prg)) then
|
||||
return false
|
||||
end
|
||||
if k:match("o") and (not check_once(prg)) then
|
||||
return false
|
||||
end
|
||||
awful.spawn(prg)
|
||||
return true
|
||||
end
|
||||
|
||||
if rcfile then
|
||||
local rc,err = load(rcfile:read("*a"))
|
||||
rcfile:close()
|
||||
local rcdata
|
||||
if not err then
|
||||
rcdata = rc()
|
||||
else
|
||||
require("naughty").notify({
|
||||
title = "Error reading rc.lua",
|
||||
text = err
|
||||
})
|
||||
end
|
||||
for entry,command in pairs(rcdata or {}) do
|
||||
apply_tags(entry,command)
|
||||
end
|
||||
end
|
||||
execd_file:close()
|
|
@ -0,0 +1,31 @@
|
|||
--This module allows loading in custom keybindings that launch programs.
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local keys = root.keys()
|
||||
local bindsfile = io.open(global.config_dir.."binds.lua")
|
||||
if bindsfile then
|
||||
local binds = {}
|
||||
local rc,err = load(bindsfile:read("*a"))
|
||||
bindsfile:close()
|
||||
if not err then
|
||||
binds = rc()
|
||||
else
|
||||
require("naughty").notify({
|
||||
title = "Error reading binds.lua",
|
||||
text = err
|
||||
})
|
||||
return
|
||||
end
|
||||
local keys = root.keys()
|
||||
for _,bind in pairs(binds) do
|
||||
keys = gears.table.join(keys,awful.key(bind[1],bind[2],
|
||||
function()
|
||||
awful.spawn.with_shell(bind[3])
|
||||
end,{
|
||||
description = bind.description,
|
||||
group = bind.group
|
||||
}))
|
||||
end
|
||||
root.keys(keys)
|
||||
end
|
||||
|
|
@ -0,0 +1,125 @@
|
|||
--This module is an attempt to add the functionality of automatic suspension to awesome.
|
||||
--Although it is not supported nor is advised, it should probably work as long as awful.spawn and gears.timer functions don't change
|
||||
--A known issue: there is a memory leak that is hard to trace
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local naughty = require("naughty")
|
||||
local rcfile = io.open(global.config_dir.."powerman.lua")
|
||||
G_PowerManPIDs = {}
|
||||
G_PowerManSleepTimer = os.time()
|
||||
G_PowerManSuspendTimer = os.time()
|
||||
G_PowerManSleepNotify = os.time()
|
||||
G_PowerManSuspendNotify = os.time()
|
||||
G_PowerManTracker = {
|
||||
MouseCoords = {}
|
||||
}
|
||||
local function pgrep(prg)
|
||||
awful.spawn.easy_async("pgrep "..prg,function(out,err,r,code)
|
||||
if out ~= "" then
|
||||
G_PowerManPIDs[prg] = true
|
||||
else
|
||||
G_PowerManPIDs[prg] = nil
|
||||
end
|
||||
end)
|
||||
end
|
||||
if rcfile then
|
||||
local sleep_activated,suspend_activated = false,false
|
||||
local sleep_notified,suspend_notified = false,false
|
||||
--rc file loading
|
||||
local rc,err = load(rcfile:read("*a"))
|
||||
rcfile:close()
|
||||
local rcdata
|
||||
if not err then
|
||||
rcdata = rc()
|
||||
else
|
||||
require("naughty").notify({
|
||||
title = "Error reading rc.lua",
|
||||
text = err
|
||||
})
|
||||
end
|
||||
--disable builtin x11 screensaver timer and dpms timer
|
||||
awful.spawn("xset -dpms s off")
|
||||
--defaults
|
||||
rcdata.sleep_rules = rcdata.sleep_rules or {}
|
||||
rcdata.suspend_rules = rcdata.suspend_rules or {}
|
||||
rcdata.sleep_time = rcdata.sleep_time or
|
||||
((type(rcdata.sleep_time) == "nil") and 900)
|
||||
rcdata.suspend_time = rcdata.suspend_time or
|
||||
((type(rcdata.suspend_time) == "nil") and 1800)
|
||||
rcdata.sleep = rcdata.sleep or ((type(rcdata.sleep) == "nil") and true)
|
||||
rcdata.suspend = rcdata.suspend
|
||||
rcdata.sleep_notify = rcdata.sleep_notify or
|
||||
((type(rcdata.sleep_notify) == "nil") and 600)
|
||||
rcdata.suspend_notify = rcdata.suspend_notify
|
||||
--main timer
|
||||
gears.timer {
|
||||
timeout = 10,
|
||||
call_now = true,
|
||||
autostart = true,
|
||||
callback = function()
|
||||
if mouse.coords() and
|
||||
mouse.coords().x ~= G_PowerManTracker.MouseCoords.x or
|
||||
mouse.coords().y ~= G_PowerManTracker.MouseCoords.y then
|
||||
G_PowerManSleepTimer = os.time()
|
||||
G_PowerManSuspendTimer = os.time()
|
||||
G_PowerManSleepNotify = os.time()
|
||||
G_PowerManSuspendNotify = os.time()
|
||||
sleep_activated = false
|
||||
suspend_activated = false
|
||||
sleep_notified = false
|
||||
suspend_notified = false
|
||||
end
|
||||
for flags,progname in pairs(rcdata.sleep_rules) do
|
||||
pgrep(progname)
|
||||
if G_PowerManPIDs[progname] then
|
||||
G_PowerManSleepTimer = os.time()
|
||||
G_PowerManSleepNotify = os.time()
|
||||
end
|
||||
end
|
||||
for flags,progname in pairs(rcdata.suspend_rules) do
|
||||
pgrep(progname)
|
||||
if G_PowerManPIDs[progname] then
|
||||
G_PowerManSuspendTimer = os.time()
|
||||
G_PowerManSuspendNotify = os.time()
|
||||
end
|
||||
end
|
||||
if rcdata.sleep_notify and (not sleep_notified) and
|
||||
(rcdata.sleep_notify+10 < rcdata.sleep_time) then
|
||||
if os.time()-G_PowerManSleepNotify > rcdata.sleep_notify then
|
||||
sleep_notified = true
|
||||
naughty.notify({text="screen will turn off in "..tostring(
|
||||
math.floor((rcdata.sleep_time-rcdata.sleep_notify)/60)
|
||||
).." minutes"})
|
||||
end
|
||||
end
|
||||
if rcdata.suspend_notify and (not suspend_notified) and
|
||||
(rcdata.suspend_notify+10 < rcdata.suspend_time) then
|
||||
if os.time()-G_PowerManSuspendNotify>rcdata.suspend_notify then
|
||||
suspend_notified = true
|
||||
naughty.notify({text="Computer will suspend in"..tostring(
|
||||
math.floor((rcdata.suspend_time-rcdata.suspend_notify)/60)
|
||||
).."minutes"})
|
||||
end
|
||||
end
|
||||
if rcdata.sleep and (not sleep_activated) then
|
||||
if os.time()-G_PowerManSleepTimer > rcdata.sleep_time then
|
||||
if rcdata.sleep_lock then
|
||||
rcdata.sleep_lock()
|
||||
end
|
||||
sleep_activated = true
|
||||
awful.spawn("xset s activate dpms suspend")
|
||||
end
|
||||
end
|
||||
if rcdata.suspend and (not suspend_activated) then
|
||||
if os.time()-G_PowerManSuspendTimer > rcdata.suspend_time then
|
||||
if rcdata.suspend_lock then
|
||||
rcdata.suspend_lock()
|
||||
end
|
||||
suspend_activated = true
|
||||
awful.spawn.with_shell("systemctl suspend || loginctl suspend")
|
||||
end
|
||||
end
|
||||
G_PowerManTracker.MouseCoords = mouse.coords() or {}
|
||||
end
|
||||
}
|
||||
end
|
|
@ -0,0 +1,44 @@
|
|||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
package.path = os.getenv("HOME").."/.config/awesome/libs/?.lua;"
|
||||
..os.getenv("HOME").."/.config/awesome/libs/?/init.lua;"
|
||||
..os.getenv("HOME").."/.config/awesome/modules/?/init.lua;"
|
||||
..os.getenv("HOME").."/.config/awesome/modules/?.lua;"
|
||||
..package.path
|
||||
package.cpath = os.getenv("HOME").."/.config/awesome/libs/?.so;"..package.cpath
|
||||
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
-- {{{ Default modules
|
||||
-- WARNING: Order matters. Don't change it unless you know what you're doing. Read ./core/README.txt
|
||||
require("core.error")
|
||||
require("core.vars")
|
||||
require("core.style")
|
||||
require("core.binds")
|
||||
require("core.layout")
|
||||
require("core.rules")
|
||||
require("core.signals")
|
||||
-- }}}
|
||||
|
||||
-- This is a questionable decision, considering that lua has automatic garbage collection, however, it might potentially improve memory usage while not using up much cpu or memory either.
|
||||
require("gears").timer.start_new(60,function()
|
||||
collectgarbage("collect")
|
||||
end)
|
||||
|
||||
require("custom_binds")
|
||||
require("awesomerc")
|
||||
require("powerman")
|
After Width: | Height: | Size: 154 B |
After Width: | Height: | Size: 154 B |
After Width: | Height: | Size: 157 B |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 224 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 103 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 133 B |
After Width: | Height: | Size: 122 B |
After Width: | Height: | Size: 111 B |
After Width: | Height: | Size: 132 B |
After Width: | Height: | Size: 131 B |
After Width: | Height: | Size: 130 B |
After Width: | Height: | Size: 133 B |
After Width: | Height: | Size: 95 B |
After Width: | Height: | Size: 127 B |
After Width: | Height: | Size: 123 B |
After Width: | Height: | Size: 128 B |
After Width: | Height: | Size: 123 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 121 B |
After Width: | Height: | Size: 107 B |
|
@ -0,0 +1,204 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="100mm"
|
||||
height="100mm"
|
||||
viewBox="0 0 100 100"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="redmond98borders.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.057805"
|
||||
inkscape:cx="174.21476"
|
||||
inkscape:cy="197.78356"
|
||||
inkscape:window-width="1861"
|
||||
inkscape:window-height="1036"
|
||||
inkscape:window-x="57"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer3" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter1980"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1.01"
|
||||
height="1.01">
|
||||
<feFlood
|
||||
flood-opacity="0.498039"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
id="feFlood1970" />
|
||||
<feComposite
|
||||
in="flood"
|
||||
in2="SourceGraphic"
|
||||
operator="in"
|
||||
result="composite1"
|
||||
id="feComposite1972" />
|
||||
<feGaussianBlur
|
||||
in="composite1"
|
||||
stdDeviation="0"
|
||||
result="blur"
|
||||
id="feGaussianBlur1974" />
|
||||
<feOffset
|
||||
dx="0.5"
|
||||
dy="0.5"
|
||||
result="offset"
|
||||
id="feOffset1976" />
|
||||
<feComposite
|
||||
in="SourceGraphic"
|
||||
in2="offset"
|
||||
operator="over"
|
||||
result="fbSourceGraphic"
|
||||
id="feComposite1978" />
|
||||
<feColorMatrix
|
||||
result="fbSourceGraphicAlpha"
|
||||
in="fbSourceGraphic"
|
||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
||||
id="feColorMatrix2000" />
|
||||
<feFlood
|
||||
id="feFlood2002"
|
||||
flood-opacity="0.498039"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
in="fbSourceGraphic" />
|
||||
<feComposite
|
||||
in2="fbSourceGraphic"
|
||||
id="feComposite2004"
|
||||
in="flood"
|
||||
operator="in"
|
||||
result="composite1" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur2006"
|
||||
in="composite1"
|
||||
stdDeviation="0"
|
||||
result="blur" />
|
||||
<feOffset
|
||||
id="feOffset2008"
|
||||
dx="0.5"
|
||||
dy="0.5"
|
||||
result="offset" />
|
||||
<feComposite
|
||||
in2="offset"
|
||||
id="feComposite2010"
|
||||
in="fbSourceGraphic"
|
||||
operator="over"
|
||||
result="composite2" />
|
||||
</filter>
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter1980-6"
|
||||
x="0"
|
||||
y="0"
|
||||
width="1.01"
|
||||
height="1.01">
|
||||
<feFlood
|
||||
flood-opacity="0.498039"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
id="feFlood1970-7" />
|
||||
<feComposite
|
||||
in="flood"
|
||||
in2="SourceGraphic"
|
||||
operator="in"
|
||||
result="composite1"
|
||||
id="feComposite1972-5" />
|
||||
<feGaussianBlur
|
||||
in="composite1"
|
||||
stdDeviation="0"
|
||||
result="blur"
|
||||
id="feGaussianBlur1974-3" />
|
||||
<feOffset
|
||||
dx="0.5"
|
||||
dy="0.5"
|
||||
result="offset"
|
||||
id="feOffset1976-5" />
|
||||
<feComposite
|
||||
in="SourceGraphic"
|
||||
in2="offset"
|
||||
operator="over"
|
||||
result="fbSourceGraphic"
|
||||
id="feComposite1978-6" />
|
||||
<feColorMatrix
|
||||
result="fbSourceGraphicAlpha"
|
||||
in="fbSourceGraphic"
|
||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
||||
id="feColorMatrix2000-2" />
|
||||
<feFlood
|
||||
id="feFlood2002-9"
|
||||
flood-opacity="0.498039"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
in="fbSourceGraphic" />
|
||||
<feComposite
|
||||
in2="fbSourceGraphic"
|
||||
id="feComposite2004-1"
|
||||
in="flood"
|
||||
operator="in"
|
||||
result="composite1" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur2006-2"
|
||||
in="composite1"
|
||||
stdDeviation="0"
|
||||
result="blur" />
|
||||
<feOffset
|
||||
id="feOffset2008-7"
|
||||
dx="0.5"
|
||||
dy="0.5"
|
||||
result="offset" />
|
||||
<feComposite
|
||||
in2="offset"
|
||||
id="feComposite2010-0"
|
||||
in="fbSourceGraphic"
|
||||
operator="over"
|
||||
result="composite2" />
|
||||
</filter>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Layer 3">
|
||||
<rect
|
||||
style="fill:#c2c6ca;fill-opacity:1;stroke:none;stroke-width:0.264584;paint-order:markers fill stroke"
|
||||
id="rect31-3"
|
||||
width="100"
|
||||
height="100"
|
||||
x="0"
|
||||
y="0" />
|
||||
<rect
|
||||
style="fill:#efefef;fill-opacity:1;stroke:none;stroke-width:0.264584;paint-order:markers fill stroke;filter:url(#filter1980)"
|
||||
id="rect31-3-3"
|
||||
width="100"
|
||||
height="100"
|
||||
x="0"
|
||||
y="0"
|
||||
transform="scale(0.99501243,0.99502488)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2" />
|
||||
</svg>
|
After Width: | Height: | Size: 5.4 KiB |
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="100mm"
|
||||
height="100mm"
|
||||
viewBox="0 0 100 100"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="win98bordersv1.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.4550879"
|
||||
inkscape:cx="13.401253"
|
||||
inkscape:cy="118.20592"
|
||||
inkscape:window-width="1861"
|
||||
inkscape:window-height="1036"
|
||||
inkscape:window-x="57"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Layer 3">
|
||||
<rect
|
||||
style="fill:#dcdcdc;fill-opacity:1;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke"
|
||||
id="rect31-3"
|
||||
width="99.736115"
|
||||
height="99.736115"
|
||||
x="0.13194287"
|
||||
y="0.13194287" />
|
||||
<path
|
||||
id="rect31-3-6"
|
||||
style="fill:#646565;fill-opacity:1;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke"
|
||||
d="M 99.868057,0.13194125 V 99.868057 H 0.13194289 Z"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
id="rect31"
|
||||
style="opacity:1;fill:#646565;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="0"
|
||||
inkscape:original="M 0.1328125 0.1328125 L 0.1328125 99.867188 L 99.867188 99.867188 L 99.867188 0.1328125 L 0.1328125 0.1328125 z "
|
||||
d="M 0.1328125,0.1328125 V 99.867188 H 99.867188 V 0.1328125 Z"
|
||||
transform="matrix(1.0026633,0,0,1.0026633,-0.13316622,-0.13316622)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="100mm"
|
||||
height="100mm"
|
||||
viewBox="0 0 100 100"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
sodipodi:docname="win98bordersv1layer2.svg"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.057805"
|
||||
inkscape:cx="178.58835"
|
||||
inkscape:cy="243.94926"
|
||||
inkscape:window-width="1861"
|
||||
inkscape:window-height="1036"
|
||||
inkscape:window-x="57"
|
||||
inkscape:window-y="21"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="Layer 3">
|
||||
<rect
|
||||
style="fill:#dcdcdc;fill-opacity:1;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke"
|
||||
id="rect31-3"
|
||||
width="99.736115"
|
||||
height="99.736115"
|
||||
x="0.13194287"
|
||||
y="0.13194287" />
|
||||
<path
|
||||
id="rect31-3-6"
|
||||
style="fill:#646565;fill-opacity:1;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke"
|
||||
d="M 99.868057,0.13194125 V 99.868057 H 0.13194289 Z"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
id="rect31"
|
||||
style="opacity:1;fill:#747575;stroke:none;stroke-width:0.263886;paint-order:markers fill stroke;fill-opacity:1"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="0"
|
||||
inkscape:original="M 0.1328125 0.1328125 L 0.1328125 99.867188 L 99.867188 99.867188 L 99.867188 0.1328125 L 0.1328125 0.1328125 z "
|
||||
d="M 0.1328125,0.1328125 V 99.867188 H 99.867188 V 0.1328125 Z"
|
||||
transform="matrix(1.0026633,0,0,1.0026633,-0.13316622,-0.13316622)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
||||
<defs id="defs1">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-NegativeText" d="M3 4l1 8H2V4zM0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"/><path d="M9 5a3 3 0 0 0-2.826 2H5v2h1.176A3 3 0 0 0 9 11v-1h2V9H9V7h2V6H9z" class="ColorScheme-PositiveText" fill="currentColor"/></svg>
|
After Width: | Height: | Size: 674 B |
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
||||
<defs id="defs1">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-NegativeText" d="M3 4l1 8H2V4zM0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"/></svg>
|
After Width: | Height: | Size: 459 B |
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
||||
<defs id="defs1">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-NegativeText" d="M0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"/><path d="M9 5a3 3 0 0 0-2.826 2H5v2h1.176A3 3 0 0 0 9 11v-1h2V9H9V7h2V6H9z" class="ColorScheme-PositiveText" fill="currentColor"/></svg>
|
After Width: | Height: | Size: 661 B |
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
||||
<defs id="defs1">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" class="ColorScheme-NegativeText" d="M0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"/></svg>
|
After Width: | Height: | Size: 446 B |
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg2037"
|
||||
sodipodi:docname="battery-full-charged-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata2041">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview2039"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2037" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
id="path2033"
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 0 2 L 0 14 L 15 14 L 15 10 L 15.5 10 C 15.777 10 16 9.777 16 9.5 L 16 6.5 C 16 6.223 15.777 6 15.5 6 L 15 6 L 15 2 L 0 2 z M 1 3 L 14 3 L 14 13 L 1 13 L 1 3 z M 2 4 L 2 12 L 13 12 L 13 4 L 2 4 z M 9 4.5 L 9.5 4.5 L 9.5 5.5 L 11.5 5.5 L 11.5 7.5 L 9.5 7.5 L 9.5 8.5 L 11.5 8.5 L 11.5 10.5 L 9.5 10.5 L 9.5 11.5 L 9 11.5 C 7.666557 11.498032 6.5431396 10.671338 5.9570312 9.5 L 4.5 9.5 L 4.5 6.5 L 5.9550781 6.5 C 6.5415944 5.3280543 7.6657892 4.5010796 9 4.5 z M 8.5 5.6601562 C 7.6694626 5.8434029 6.9366841 6.3396817 6.6445312 7.1660156 L 6.5273438 7.5 L 5.5 7.5 L 5.5 8.5 L 6.5292969 8.5 L 6.6464844 8.8339844 C 6.9384669 9.6598387 7.6700159 10.156243 8.5 10.339844 L 8.5 9.5 L 8.5 6.5 L 8.5 5.6601562 z " />
|
||||
<path
|
||||
d="M9 5a3 3 0 0 0-2.826 2H5v2h1.176A3 3 0 0 0 9 11v-1h2V9H9V7h2V6H9z"
|
||||
class="ColorScheme-PositiveText"
|
||||
fill="currentColor"
|
||||
id="path2035"
|
||||
style="fill:#27ae60;stroke:none;stroke-opacity:1;fill-opacity:1" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg942"
|
||||
sodipodi:docname="battery-full-charging-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata946">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview944"
|
||||
showgrid="false"
|
||||
inkscape:zoom="48.6875"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg942" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
id="path938"
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 0 2 L 0 14 L 15 14 L 15 10 L 15.5 10 C 15.777 10 16 9.777 16 9.5 L 16 6.5 C 16 6.223 15.777 6 15.5 6 L 15 6 L 15 2 L 0 2 z M 1 3 L 14 3 L 14 13 L 1 13 L 1 3 z M 2 4 L 2 12 L 13 12 L 13 4 L 2 4 z M 9 4.5 L 9.5 4.5 L 9.5 5.5 L 11.5 5.5 L 11.5 7.5 L 9.5 7.5 L 9.5 8.5 L 11.5 8.5 L 11.5 10.5 L 9.5 10.5 L 9.5 11.5 L 9 11.5 C 7.666557 11.498032 6.5431396 10.671338 5.9570312 9.5 L 4.5 9.5 L 4.5 6.5 L 5.9550781 6.5 C 6.5415944 5.3280543 7.6657892 4.5010796 9 4.5 z M 8.5 5.6601562 C 7.6694626 5.8434029 6.9366841 6.3396817 6.6445312 7.1660156 L 6.5273438 7.5 L 5.5 7.5 L 5.5 8.5 L 6.5292969 8.5 L 6.6464844 8.8339844 C 6.9384669 9.6598387 7.6700159 10.156243 8.5 10.339844 L 8.5 9.5 L 8.5 6.5 L 8.5 5.6601562 z " />
|
||||
<path
|
||||
d="M9 5a3 3 0 0 0-2.826 2H5v2h1.176A3 3 0 0 0 9 11v-1h2V9H9V7h2V6H9z"
|
||||
class="ColorScheme-PositiveText"
|
||||
fill="currentColor"
|
||||
id="path940" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg1375"
|
||||
sodipodi:docname="battery-full-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata1379">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview1377"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1375" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
class="ColorScheme-Text"
|
||||
d="M2 4h11v8H2zM0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"
|
||||
id="path1373" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg1149"
|
||||
sodipodi:docname="battery-good-charging-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata1153">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview1151"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1149" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
id="path1145"
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 0 2 L 0 14 L 15 14 L 15 10 L 15.5 10 C 15.777 10 16 9.777 16 9.5 L 16 6.5 C 16 6.223 15.777 6 15.5 6 L 15 6 L 15 2 L 0 2 z M 1 3 L 14 3 L 14 13 L 1 13 L 1 3 z M 2 4 L 2 12 L 10 12 L 9.8125 10.5 L 9.5 10.5 L 9.5 11.5 L 9 11.5 C 7.666557 11.498032 6.5431396 10.671338 5.9570312 9.5 L 4.5 9.5 L 4.5 6.5 L 5.9550781 6.5 C 6.5415944 5.3280543 7.6657892 4.5010796 9 4.5 L 9.0625 4.5 L 9 4 L 2 4 z M 8.5 5.6601562 C 7.6694626 5.8434029 6.9366841 6.3396817 6.6445312 7.1660156 L 6.5273438 7.5 L 5.5 7.5 L 5.5 8.5 L 6.5292969 8.5 L 6.6464844 8.8339844 C 6.9384669 9.6598387 7.6700159 10.156243 8.5 10.339844 L 8.5 9.5 L 8.5 6.5 L 8.5 5.6601562 z M 9.5 8 L 9.5 8.5 L 9.5625 8.5 L 9.5 8 z " />
|
||||
<path
|
||||
d="M9 5a3 3 0 0 0-2.826 2H5v2h1.176A3 3 0 0 0 9 11v-1h2V9H9V7h2V6H9z"
|
||||
class="ColorScheme-PositiveText"
|
||||
fill="currentColor"
|
||||
id="path1147" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg2062"
|
||||
sodipodi:docname="battery-good-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata2066">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview2064"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2062" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
class="ColorScheme-Text"
|
||||
d="M2 4h7l1 8H2zM0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"
|
||||
id="path2060" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg186"
|
||||
sodipodi:docname="battery-low-charging-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata190">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview188"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="4.8629213"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg186"
|
||||
inkscape:document-rotation="0" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-PositiveText {
|
||||
color:#27ae60;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
id="path182"
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 0 2 L 0 14 L 15 14 L 15 10 L 15.5 10 C 15.777 10 16 9.777 16 9.5 L 16 6.5 C 16 6.223 15.777 6 15.5 6 L 15 6 L 15 2 L 0 2 z M 1 3 L 14 3 L 14 13 L 1 13 L 1 3 z M 2 4 L 2 12 L 7 12 L 6.9023438 11.216797 C 6.3121937 10.79667 5.8272405 10.219642 5.5019531 9.5390625 L 3.8105469 9.5390625 L 3.8105469 6.1386719 L 5.5 6.1386719 C 5.6724011 5.7776582 5.8893752 5.4445919 6.1425781 5.1484375 L 6 4 L 2 4 z M 6.3164062 6.5195312 C 6.2712485 6.6120311 6.2247627 6.704817 6.1894531 6.8046875 L 6.0722656 7.1386719 L 4.8105469 7.1386719 L 4.8105469 8.5390625 L 6.0742188 8.5390625 L 6.1933594 8.8710938 C 6.3129661 9.2093939 6.4966297 9.5009695 6.71875 9.7539062 L 6.3164062 6.5195312 z " />
|
||||
<path
|
||||
d="M 9.1101126,4.2382021 A 3.6000002,3.6000001 0 0 0 5.7189123,6.6382022 H 4.3101122 v 2.4000001 h 1.4112001 a 3.6000002,3.6000001 0 0 0 3.3888003,2.3999997 v -1.2 H 11.510112 V 9.0382023 H 9.1101126 V 6.6382022 H 11.510112 V 5.4382021 H 9.1101126 Z"
|
||||
class="ColorScheme-PositiveText"
|
||||
fill="currentColor"
|
||||
id="path184"
|
||||
style="color:#27ae60;stroke-width:1.2;stroke-miterlimit:4;stroke-dasharray:none;fill:#44ae60;fill-opacity:1;paint-order:markers fill stroke" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg2762"
|
||||
sodipodi:docname="battery-low-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata2766">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="1036"
|
||||
id="namedview2764"
|
||||
showgrid="false"
|
||||
inkscape:zoom="55.625"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2762" />
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||
class="ColorScheme-Text"
|
||||
d="M2 4h4l1 8H2zM0 2v12h15v-4h.5c.277 0 .5-.223.5-.5v-3c0-.277-.223-.5-.5-.5H15V2zm1 1h13v10H1z"
|
||||
id="path2760" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg258"
|
||||
sodipodi:docname="battery-missing-symbolic.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata262">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1026"
|
||||
inkscape:window-height="856"
|
||||
id="namedview260"
|
||||
showgrid="true"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="5.2458034"
|
||||
inkscape:cy="7.7083638"
|
||||
inkscape:window-x="49"
|
||||
inkscape:window-y="143"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg258"
|
||||
showguides="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid348" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs1">
|
||||
<style
|
||||
type="text/css"
|
||||
id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
id="path252"
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 0 2 L 0 14 L 15 14 L 15 10 L 15.5 10 C 15.777 10 16 9.777 16 9.5 L 16 6.5 C 16 6.223 15.777 6 15.5 6 L 15 6 L 15 2 L 3 2 L 0 2 z M 1 3 L 14 3 L 14 13 L 1 13 L 1 3 z M 2 4 L 2 12 L 13 12 L 13 4 L 2 4 z M 5.4140625 5 L 7.7070312 7.2929688 L 10 5 L 10.707031 5.7070312 L 8.4140625 8 L 10.707031 10.292969 L 10 11 L 7.7070312 8.7070312 L 5.4140625 11 L 4.7070312 10.292969 L 7 8 L 4.7070312 5.7070312 L 5.4140625 5 z " />
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 11 3 C 6.568 3 3 6.568 3 11 C 3 15.432 6.568 19 11 19 C 15.432 19 19 15.432 19 11 C 19 6.568 15.432 3 11 3 z M 11 4 C 14.878 4 18 7.122 18 11 C 18 14.878 14.878 18 11 18 C 7.122 18 4 14.878 4 11 C 4 7.122 7.122 4 11 4 z M 11 6 A 2.0000021 2.0000014 0 0 0 9 8 L 9 10 L 7 10 L 7 15 L 15 15 L 15 10 L 13 10 L 13 8 A 2.0000021 2.0000014 0 0 0 11 6 z M 11 7 A 1 1 0 0 1 12 8 L 12 10 L 10 10 L 10 8 A 1 1 0 0 1 11 7 z M 8 11 L 9 11 L 10 11 L 12 11 L 13 11 L 14 11 L 14 14 L 8 14 L 8 11 z " class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 869 B |
|
@ -0,0 +1,12 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 10 3 L 10 10 L 12 10 L 12 3 L 10 3 z M 9 3.265625 C 5.5444518 4.1502188 3 7.2610109 3 11 C 3 15.432 6.568 19 11 19 C 15.432 19 19 15.432 19 11 C 19 7.2610109 16.455548 4.1502188 13 3.265625 L 13 4.3027344 C 15.895041 5.15992 18 7.819625 18 11 C 18 14.878 14.878 18 11 18 C 7.122 18 4 14.878 4 11 C 4 7.819625 6.1049587 5.15992 9 4.3027344 L 9 3.265625 z " class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 741 B |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(1,1)">
|
||||
<g class="ColorScheme-Text" fill="currentColor">
|
||||
<path d="M7.047 4.049A7.995 8 0 0 0 3 11a7.995 8 0 0 0 7.994 8 7.995 8 0 0 0 6.938-4.043 7.995 8 0 0 0 .01-.006l-.739-.738a6.996 7 0 0 1-.004.006 6.996 7 0 0 1-3.207.781 6.996 7 0 0 1-6.994-7 6.996 7 0 0 1 .785-3.213zM6.303 5.82A7.995 8 0 0 0 5.998 8a7.995 8 0 0 0 7.994 8 7.995 8 0 0 0 2.188-.313A6.996 7 0 0 1 10.994 18 6.996 7 0 0 1 4 11a6.996 7 0 0 1 2.303-5.18z"/>
|
||||
<path d="M10 6v1h2.293l-2 2-.293.293V10h4V9h-2.293l2-2L14 6.707V6h-.707zm5-3v1h2.293l-2 2-.293.293V7h4V6h-2.293l2-2L19 3.707V3h-.707z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 842 B |
|
@ -0,0 +1,15 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(1,1)">
|
||||
<g class="ColorScheme-Text" fill="currentColor">
|
||||
<path d="m14.324219 7.28125-.539063.8613281a4 4 0 0 1 1.214844 2.8574219 4 4 0 0 1 -1.210938 2.861328l.539063.863281a5 5 0 0 0 1.671875-3.724609 5 5 0 0 0 -1.675781-3.71875z"/>
|
||||
<path d="m13.865234 3.5371094-.24414.9765625a7 7 0 0 1 4.378906 6.4863281 7 7 0 0 1 -4.380859 6.478516l.24414.974609a8 8 0 0 0 5.136719-7.453125 8 8 0 0 0 -5.134766-7.4628906z"/>
|
||||
<path d="m3 8h2v6h-2z" fill-rule="evenodd"/>
|
||||
<path d="m6 14 5 5h1v-16h-1l-5 5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 785 B |
|
@ -0,0 +1,14 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(1,1)">
|
||||
<g class="ColorScheme-Text" fill="currentColor">
|
||||
<path d="m13.865234 3.5371094-.24414.9765625a7 7 0 0 1 4.378906 6.4863281 7 7 0 0 1 -4.380859 6.478516l.24414.974609a8 8 0 0 0 5.136719-7.453125 8 8 0 0 0 -5.134766-7.4628906zm.458985 3.7441406-.539063.8613281a4 4 0 0 1 1.214844 2.8574219 4 4 0 0 1 -1.210938 2.861328l.539063.863281a5 5 0 0 0 1.671875-3.724609 5 5 0 0 0 -1.675781-3.71875z" fill-opacity=".35"/>
|
||||
<path d="m3 8h2v6h-2z" fill-rule="evenodd"/>
|
||||
<path d="m6 14 5 5h1v-16h-1l-5 5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 785 B |
|
@ -0,0 +1,15 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(1,1)">
|
||||
<g class="ColorScheme-Text" fill="currentColor">
|
||||
<path d="m14.324219 7.28125-.539063.8613281a4 4 0 0 1 1.214844 2.8574219 4 4 0 0 1 -1.210938 2.861328l.539063.863281a5 5 0 0 0 1.671875-3.724609 5 5 0 0 0 -1.675781-3.71875z"/>
|
||||
<path d="m13.865234 3.5371094-.24414.9765625a7 7 0 0 1 4.378906 6.4863281 7 7 0 0 1 -4.380859 6.478516l.24414.974609a8 8 0 0 0 5.136719-7.453125 8 8 0 0 0 -5.134766-7.4628906z" fill-opacity=".35"/>
|
||||
<path d="m3.0000005 8h2v6h-2z" fill-rule="evenodd"/>
|
||||
<path d="m6.0000005 14 5.0000005 5h.999999v-16h-1l-4.9999995 5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 842 B |
|
@ -0,0 +1,23 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<style id="current-color-scheme" type="text/css">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
.ColorScheme-NegativeText {
|
||||
color:#da4453;
|
||||
}
|
||||
</style>
|
||||
<g transform="translate(1,1)">
|
||||
<g class="ColorScheme-Text" fill="currentColor">
|
||||
<path d="m3 8v6h2v-6z"/>
|
||||
<path d="m6 8v6l5 5h1v-5z"/>
|
||||
<path d="m11 3-3 3 4 4v-7z"/>
|
||||
<g opacity=".35">
|
||||
<path d="m14.832031 16.832031a7 7 0 0 1 -1.21289.646485l.24414.974609a8 8 0 0 0 1.681641-.908203z"/>
|
||||
<path d="m14.324219 7.28125-.539063.8613281a4 4 0 0 1 1.214844 2.8574219 4 4 0 0 1 -.371094 1.628906l.75.75a5 5 0 0 0 .621094-2.378906 5 5 0 0 0 -1.675781-3.71875z"/>
|
||||
<path d="m13.865234 3.5371094-.24414.9765625a7 7 0 0 1 4.378906 6.4863281 7 7 0 0 1 -1.166016 3.833984l.716797.716797a8 8 0 0 0 1.449219-4.550781 8 8 0 0 0 -5.134766-7.4628906z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="m-.50000006 4.7426407 1-.0000001v21.6274174h-1z" class="ColorScheme-NegativeText" fill="currentColor" transform="matrix(.70710678 -.70710678 .70710678 .70710678 0 0)"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 263 B |