Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
294b15e9ea | ||
|
|
bf8520ed9d | ||
|
|
c023714060 | ||
|
|
2d68ee71da | ||
|
|
1c7d2be751 | ||
|
|
3bae4f4403 | ||
| 8171f1c97e | |||
| 2bf4ff9f13 | |||
| 0e2cd5099c | |||
|
|
0e3aafcff5 | ||
|
|
24bce4c810 | ||
|
|
ea77c5f1a1 | ||
|
|
3a85753a74 | ||
| 61930bf561 | |||
| e3757c0ef9 | |||
|
|
dcbdbcb4fd | ||
|
|
6392dc76ef | ||
|
|
78547a1501 | ||
| 95d0175f17 | |||
| f399235db0 | |||
|
|
4f3fb75687 | ||
| 44836685ec | |||
| 1751ab9d45 | |||
| d45e2496b1 | |||
|
|
42a888c311 | ||
| 675ab6692d | |||
| 2abdb05ab9 | |||
|
|
642338e577 | ||
| d63ffa1171 | |||
| 3e628db637 | |||
| be25a16e3c | |||
|
|
10f56a7273 | ||
|
|
c6341f84e7 | ||
|
|
210682e955 | ||
|
|
747b8a9787 | ||
|
|
6cdda097c1 | ||
|
|
b5c6dc31f7 | ||
|
|
3d8b240ef0 | ||
|
|
e5cdb33eec | ||
|
|
f2e6709f6b | ||
|
|
7a9b93aa65 | ||
|
|
3d743c6be0 | ||
|
|
fa656cd5f3 | ||
|
|
686de62f0f | ||
|
|
be6a819ca9 | ||
|
|
268cb29a6b | ||
|
|
9cea2f98cc | ||
|
|
535c763a30 | ||
|
|
2422b9a07f | ||
|
|
e425b7b79e | ||
|
|
978a8580c8 | ||
|
|
e727015e81 | ||
|
|
b2e22fdf8a | ||
|
|
0ccd38f03a | ||
|
|
7280db1a5b | ||
|
|
6e1cc7eaa4 | ||
|
|
fb22b50a97 | ||
|
|
454c80336c | ||
|
|
2b9003c70a | ||
|
|
b479255c39 | ||
|
|
bc5348f53a | ||
|
|
521d392769 | ||
|
|
fd74ab9fb4 | ||
|
|
1ea91d2b6d | ||
|
|
3dfd991456 | ||
|
|
f7d7fb1b95 | ||
|
|
da2d55e149 | ||
|
|
ed9043c4ee | ||
|
|
dadb6ef1dc | ||
|
|
dbc7708f58 | ||
|
|
0e22af5a87 | ||
|
|
ab37a88570 | ||
|
|
16c6345135 | ||
|
|
9049f5c51c |
92
.config/crylia_theme/crylia_theme.json
Normal file
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"autostart": [
|
||||
"nm-applet",
|
||||
"protonvpn-cli ks --off",
|
||||
"picom",
|
||||
"/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1",
|
||||
"setxkbmap -option caps:swapescape",
|
||||
"/home/crylia/.screenlayout/double.sh",
|
||||
"gnome-keyring-daemon --start --components=secrets"
|
||||
],
|
||||
"battery_kind": "BATTERY",
|
||||
"battery_path": null,
|
||||
"brightness_step": 2,
|
||||
"dock_icon_size": 64,
|
||||
"energy_manager": "xfce4-power-manager-settings",
|
||||
"file_manager": "nemo",
|
||||
"font": "JetBrainsMono Nerd Font",
|
||||
"font-size": 12,
|
||||
"font-weight": "Bold",
|
||||
"gtk_settings": "lxappearance",
|
||||
"icon_theme": "Papirus-Dark",
|
||||
"kblayout": [
|
||||
"de",
|
||||
"ru"
|
||||
],
|
||||
"layouts": [
|
||||
"awful.layout.suit.fair",
|
||||
"awful.layout.suit.floating"
|
||||
],
|
||||
"modkey": "Mod4",
|
||||
"namestyle": "userhost",
|
||||
"screen_settings": "arandr",
|
||||
"screenshot_program": "flameshot gui",
|
||||
"status_bar_widgets": [
|
||||
"cpu_usage",
|
||||
"cpu_temp",
|
||||
"ram_usage",
|
||||
"microphone",
|
||||
"volume",
|
||||
"gpu_temp",
|
||||
"gpu_usage",
|
||||
"backlight",
|
||||
"battery"
|
||||
],
|
||||
"taskbar_use_name": true,
|
||||
"terminal": "kitty",
|
||||
"text_editor": "code",
|
||||
"titlebar_exception": [
|
||||
"protonvpn"
|
||||
],
|
||||
"titlebar_position": "left",
|
||||
"titlebar_items": {
|
||||
"left_and_bottom": [
|
||||
"icon"
|
||||
],
|
||||
"right_and_top": [
|
||||
"close",
|
||||
"maximize",
|
||||
"minimize"
|
||||
]
|
||||
},
|
||||
"wallpaper": "/home/crylia/Bilder/Hintergründe/1223939.jpg",
|
||||
"weather_secrets": {
|
||||
"key": "e71b00168ca7219563dde4514a425b14",
|
||||
"city_id": "2864118",
|
||||
"unit": "metric"
|
||||
},
|
||||
"web_browser": "firefox",
|
||||
"crylia_bar": [
|
||||
{
|
||||
"left_bar": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist"
|
||||
],
|
||||
"center_bar": [
|
||||
"Tasklist"
|
||||
],
|
||||
"right_bar": [
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
14
.config/crylia_theme/one_dark.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"bg": "#282c34",
|
||||
"bg1": "#3e4451",
|
||||
"bg2": "#545d6d",
|
||||
"fg": "#FFFFFF",
|
||||
"fg_dark": "#282c34",
|
||||
"border_color": "#3e4451",
|
||||
"bg_red": "#E06C75",
|
||||
"bg_green": "#98C379",
|
||||
"bg_yellow": "#E5C07B",
|
||||
"bg_blue": "#61AFEF",
|
||||
"bg_purple": "#C678DD",
|
||||
"bg_teal": "#56B6C2"
|
||||
}
|
||||
22
.config/crylia_theme/theme.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"fg_dark": "#212121",
|
||||
"fg": "#f5f5f5",
|
||||
"bg": "#212121",
|
||||
"bg1": "#424242",
|
||||
"bg2": "#616161",
|
||||
"bg_red": "#ef9a9a",
|
||||
"bg_green": "#a5d6a7",
|
||||
"bg_yellow": "#fff59d",
|
||||
"bg_blue": "#90caf9",
|
||||
"bg_teal": "#80cbc4",
|
||||
"bg_purple": "#CE93D8",
|
||||
"bg_deeppurple": "#B39DDB",
|
||||
"bg_cyan": "#80DEEA",
|
||||
"bg_orange": "#ffcc80",
|
||||
"bg_deeporange": "#ffab91",
|
||||
"bg_lightblue": "#81D4FA",
|
||||
"bg_pink": "#f48fb1",
|
||||
"bg_lightgreen": "#C5E1A5",
|
||||
"bg_lime": "#E6EE9C",
|
||||
"border_color": "#424242"
|
||||
}
|
||||
7
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
**/awesome/.idea
|
||||
**/awesome/.vscode
|
||||
**/awesome/start-xephyr.sh
|
||||
awesome/.idea
|
||||
awesome/.vscode
|
||||
awesome/start-xephyr.sh
|
||||
awesome/src/config/**
|
||||
|
||||
9
.gitmodules
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
[submodule "awesome/src/lib/rubato"]
|
||||
path = awesome/src/lib/rubato
|
||||
url = https://github.com/andOrlando/rubato
|
||||
[submodule "awesome/src/lib/color"]
|
||||
path = awesome/src/lib/color
|
||||
url = https://github.com/andOrlando/color
|
||||
[submodule "awesome/src/lib/lua-dbus_proxy"]
|
||||
path = awesome/src/lib/lua-dbus_proxy
|
||||
url = git@github.com:Crylia/lua-dbus_proxy.git
|
||||
18
.vscode/settings.json
vendored
@@ -1,14 +1,18 @@
|
||||
{
|
||||
"Lua.diagnostics.disable": [
|
||||
"undefined-field",
|
||||
"undefined-doc-name",
|
||||
"deprecated"
|
||||
],
|
||||
"Lua.diagnostics.globals": [
|
||||
"user_vars",
|
||||
"modkey",
|
||||
"root",
|
||||
"awesome",
|
||||
"mouse",
|
||||
"mousegrabber",
|
||||
"client",
|
||||
"screen",
|
||||
"mouse",
|
||||
"double_click_timer",
|
||||
"vim",
|
||||
"lspSymbol"
|
||||
"selection",
|
||||
"tag",
|
||||
"root",
|
||||
"vim"
|
||||
]
|
||||
}
|
||||
|
||||
12
.zshrc
Normal file
@@ -0,0 +1,12 @@
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
ZSH_THEME="robbyrussell"
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=6
|
||||
|
||||
plugins=(git zsh-autosuggestions)
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
alias spicetify=/home/crylia/.spicetify/spicetify
|
||||
|
||||
eval "$(starship init zsh)"
|
||||
@@ -122,14 +122,6 @@ meson --buildtype=release . build
|
||||
sudo ninja -C build install
|
||||
```
|
||||
|
||||
#### **nvidia-smi**
|
||||
|
||||
> **Ubuntu**
|
||||
|
||||
```bash
|
||||
sudo apt install nvidia-smi
|
||||
```
|
||||
|
||||
</details>
|
||||
<details>
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
# Set the window Width and Height in console columns.
|
||||
# The window size will change if the font size changes.
|
||||
window:
|
||||
padding:
|
||||
x: 24
|
||||
y: 24
|
||||
dimensions:
|
||||
columns: 110
|
||||
lines: 30
|
||||
@@ -24,63 +27,61 @@ scrolling:
|
||||
# Font family and style
|
||||
font:
|
||||
normal:
|
||||
family: "MesloLGS NF"
|
||||
family: "JetBrains Mono Nerd Font"
|
||||
style: Regular
|
||||
bold:
|
||||
family: "MesloLGS NF"
|
||||
family: "JetBrains Mono Nerd Font"
|
||||
style: Bold
|
||||
italic:
|
||||
family: "MesloLGS NF"
|
||||
family: "JetBrains Mono Nerd Font"
|
||||
style: italic
|
||||
bold_italic:
|
||||
family: "MesloLGS NF"
|
||||
family: "JetBrains Mono Nerd Font"
|
||||
style: Bold Italic
|
||||
size: 12.0
|
||||
size: 13.0
|
||||
offset:
|
||||
x: 0
|
||||
y: 0
|
||||
draw_bold_text_with_bright_colors: false
|
||||
glyph_offset:
|
||||
y: 0
|
||||
# Background opacity from 0.0 transparent, 1.0 Opaque
|
||||
window:
|
||||
opacity: 0.4
|
||||
# Terminal colors
|
||||
colors:
|
||||
primary:
|
||||
background: '#000000'
|
||||
foreground: '#FFFFFF'
|
||||
background: '0x131621'
|
||||
foreground: '0xa6accd'
|
||||
cursor:
|
||||
cursor: '#00b8ff'
|
||||
text: CellBackground
|
||||
cursor: CellForeground
|
||||
search:
|
||||
matches:
|
||||
foreground: '#000000'
|
||||
background: '#EA80FC'
|
||||
foreground: '0x1b1e28'
|
||||
background: '0xadd7ff'
|
||||
focus_match:
|
||||
foreground: '#000000'
|
||||
background: '#E040FB'
|
||||
bar:
|
||||
foreground: '#B388FF'
|
||||
background: '#121212'
|
||||
foreground: '0x1b1e28'
|
||||
background: '0xadd7ff'
|
||||
selection:
|
||||
text: '#EA80FC'
|
||||
background: '#121212'
|
||||
text: CellForeground
|
||||
background: '0x303340'
|
||||
normal:
|
||||
black: '#121212'
|
||||
red: '#ff5252'
|
||||
green: '#8BC34A'
|
||||
yellow: '#FFFF00'
|
||||
blue: '#82B1FF'
|
||||
magenta: '#EA80FC'
|
||||
cyan: '#84FFFF'
|
||||
white: '#FFFFFF'
|
||||
black: '0x1b1e28'
|
||||
red: '0xd0679d'
|
||||
green: '0x5de4c7'
|
||||
yellow: '0xfffac2'
|
||||
blue: '#435c89'
|
||||
magenta: '0xfcc5e9'
|
||||
cyan: '0xadd7ff'
|
||||
white: '0xffffff'
|
||||
bright:
|
||||
black: '#363636'
|
||||
red: '#ef9a9a'
|
||||
green: '#A5D6A7'
|
||||
yellow: '#FFF59D'
|
||||
blue: '#90CAF9'
|
||||
magenta: '#CE93D8'
|
||||
cyan: '#80DEEA'
|
||||
white: '#FFFFFF'
|
||||
black: '0xa6accd'
|
||||
red: '0xd0679d'
|
||||
green: '0x5de4c7'
|
||||
yellow: '0xfffac2'
|
||||
blue: '0xadd7ff'
|
||||
magenta: '0xfae4fc'
|
||||
cyan: '0x89ddff'
|
||||
white: '0xffffff'
|
||||
# Cursor styling
|
||||
cursor:
|
||||
style: Beam
|
||||
|
||||
|
Before Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 2.9 MiB |
BIN
assets/dock.png
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 241 KiB |
447
awesome/awful/widget/inputbox.lua
Normal file
@@ -0,0 +1,447 @@
|
||||
---------------------------------------------------------------------------
|
||||
-- This widget can be used to type text and get the text from it.
|
||||
--@DOC_wibox_widget_defaults_inputbox_EXAMPLE@
|
||||
--
|
||||
-- @author Rene Kievits
|
||||
-- @copyright 2022, Rene Kievits
|
||||
-- @module awful.widget.inputbox
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
local setmetatable = setmetatable
|
||||
local beautiful = require('beautiful')
|
||||
local gtable = require('gears.table')
|
||||
local base = require('wibox.widget.base')
|
||||
local gstring = require('gears.string')
|
||||
local akeygrabber = require('awful.keygrabber')
|
||||
local akey = require('awful.key')
|
||||
local textbox = require('wibox.widget.textbox')
|
||||
|
||||
local capi = {
|
||||
selection = selection,
|
||||
mousegrabber = mousegrabber,
|
||||
mouse = mouse,
|
||||
}
|
||||
|
||||
local inputbox = { mt = {} }
|
||||
|
||||
--- Formats the text with a cursor and highlights if set.
|
||||
local function text_with_cursor(text, cursor_pos, self)
|
||||
local char, spacer, text_start, text_end
|
||||
|
||||
local cursor_fg = beautiful.inputbox_cursor_fg or '#313131'
|
||||
local cursor_bg = beautiful.inputbox_cursor_bg or '#0dccfc'
|
||||
local placeholder_text = self.hint_text or ''
|
||||
local placeholder_fg = beautiful.inputbox_placeholder_fg or '#777777'
|
||||
local highlight_bg = beautiful.inputbox_highlight_bg or '#35ffe4'
|
||||
local highlight_fg = beautiful.inputbox_highlight_fg or '#000000'
|
||||
|
||||
if text == '' then
|
||||
return "<span foreground='" .. placeholder_fg .. "'>" .. placeholder_text .. '</span>'
|
||||
end
|
||||
|
||||
local offset = 0
|
||||
if text:sub(cursor_pos - 1, cursor_pos - 1) == -1 then
|
||||
offset = 1
|
||||
end
|
||||
|
||||
if #text < cursor_pos then
|
||||
char = ' '
|
||||
spacer = ''
|
||||
text_start = gstring.xml_escape(text)
|
||||
text_end = ''
|
||||
else
|
||||
char = gstring.xml_escape(text:sub(cursor_pos, cursor_pos + offset))
|
||||
spacer = ' '
|
||||
text_start = gstring.xml_escape(text:sub(1, cursor_pos - 1))
|
||||
text_end = gstring.xml_escape(text:sub(cursor_pos + offset + 1))
|
||||
end
|
||||
|
||||
if self._private.highlight and self._private.highlight.cur_pos_start and self._private.highlight.cur_pos_end then
|
||||
-- split the text into 3 parts based on the highlight and cursor position
|
||||
local text_start_highlight = gstring.xml_escape(text:sub(1, self._private.highlight.cur_pos_start - 1))
|
||||
local text_highlighted = gstring.xml_escape(text:sub(self._private.highlight.cur_pos_start,
|
||||
self._private.highlight.cur_pos_end))
|
||||
local text_end_highlight = gstring.xml_escape(text:sub(self._private.highlight.cur_pos_end + 1))
|
||||
|
||||
return text_start_highlight ..
|
||||
"<span foreground='" .. highlight_fg .. "' background='" .. highlight_bg .. "'>" ..
|
||||
text_highlighted .. '</span>' .. text_end_highlight
|
||||
else
|
||||
return text_start .. "<span background='" .. cursor_bg .. "' foreground='" .. cursor_fg .. "'>" ..
|
||||
char .. '</span>' .. text_end .. spacer
|
||||
end
|
||||
end
|
||||
|
||||
function inputbox:layout(_, width, height)
|
||||
if self._private.widget then
|
||||
return { base.place_widget_at(self._private.widget, 0, 0, width, height) }
|
||||
end
|
||||
end
|
||||
|
||||
function inputbox:fit(context, width, height)
|
||||
local w, h = 0, 0
|
||||
if self._private.widget then
|
||||
w, h = base.fit_widget(self, context, self._private.widget, width, height)
|
||||
end
|
||||
return w, h
|
||||
end
|
||||
|
||||
inputbox.set_widget = base.set_widget_common
|
||||
|
||||
--- Clears the current text
|
||||
function inputbox:clear()
|
||||
self:set_text('')
|
||||
end
|
||||
|
||||
function inputbox:get_text()
|
||||
return self._private.text or ''
|
||||
end
|
||||
|
||||
function inputbox:set_text(text)
|
||||
self._private.text = text
|
||||
self.markup = text_with_cursor(self:get_text(), #self:get_text(), self)
|
||||
self:emit_signal('property::text', text)
|
||||
end
|
||||
|
||||
--- Stop the keygrabber and mousegrabber
|
||||
function inputbox:stop()
|
||||
if (not self.akeygrabber) or (not self.akeygrabber.is_running) then return end
|
||||
self:emit_signal('stopped')
|
||||
self.akeygrabber.stop()
|
||||
end
|
||||
|
||||
function inputbox:focus()
|
||||
if (not self.akeygrabber) or (not self.akeygrabber.is_running) then
|
||||
akeygrabber.stop()
|
||||
self:run()
|
||||
end
|
||||
|
||||
self:connect_signal('button::press', function()
|
||||
if capi.mouse.current_widget ~= self then
|
||||
self:emit_signal('keygrabber::stop', '')
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
--- Init the inputbox and start the keygrabber
|
||||
function inputbox:run()
|
||||
if not self._private.text then self._private.text = '' end
|
||||
|
||||
-- Init the cursor position, but causes on refocus the cursor to move to the left
|
||||
local cursor_pos = #self:get_text() + 1
|
||||
|
||||
-- Init and reset(when refocused) the highlight
|
||||
self._private.highlight = {}
|
||||
|
||||
self.akeygrabber = akeygrabber {
|
||||
autostart = true,
|
||||
start_callback = function()
|
||||
self:emit_signal('started')
|
||||
end,
|
||||
stop_callback = function(_, stop_key)
|
||||
if stop_key == 'Return' then
|
||||
self:emit_signal('submit', self:get_text(), stop_key)
|
||||
else
|
||||
self:emit_signal('stopped', stop_key)
|
||||
end
|
||||
end,
|
||||
stop_key = { 'Escape', 'Return' },
|
||||
keybindings = {
|
||||
--lShift, rShift = #50, #62
|
||||
--lControl, rControl = #37, #105
|
||||
akey {
|
||||
modifiers = { 'Shift' },
|
||||
key = 'Left', -- left
|
||||
on_press = function()
|
||||
if cursor_pos > 1 then
|
||||
local offset = (self._private.text:sub(cursor_pos - 1, cursor_pos - 1):wlen() == -1) and 1 or 0
|
||||
if not self._private.highlight.cur_pos_start then
|
||||
self._private.highlight.cur_pos_start = cursor_pos - 1
|
||||
end
|
||||
if not self._private.highlight.cur_pos_end then
|
||||
self._private.highlight.cur_pos_end = cursor_pos
|
||||
end
|
||||
|
||||
if self._private.highlight.cur_pos_start < cursor_pos then
|
||||
self._private.highlight.cur_pos_end = self._private.highlight.cur_pos_end - 1
|
||||
else
|
||||
self._private.highlight.cur_pos_start = self._private.highlight.cur_pos_start
|
||||
end
|
||||
|
||||
cursor_pos = cursor_pos - 1
|
||||
end
|
||||
if cursor_pos < 1 then
|
||||
cursor_pos = 1
|
||||
elseif cursor_pos > #self._private.text + 1 then
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Shift', 'Left')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Shift' },
|
||||
key = 'Right', -- right
|
||||
on_press = function()
|
||||
if #self._private.text >= cursor_pos then
|
||||
if not self._private.highlight.cur_pos_end then
|
||||
self._private.highlight.cur_pos_end = cursor_pos - 1
|
||||
end
|
||||
if not self._private.highlight.cur_pos_start then
|
||||
self._private.highlight.cur_pos_start = cursor_pos
|
||||
end
|
||||
|
||||
if self._private.highlight.cur_pos_end <= cursor_pos then
|
||||
self._private.highlight.cur_pos_end = self._private.highlight.cur_pos_end + 1
|
||||
else
|
||||
self._private.highlight.cur_pos_start = self._private.highlight.cur_pos_start + 1
|
||||
end
|
||||
cursor_pos = cursor_pos + 1
|
||||
if cursor_pos > #self._private.text + 1 then
|
||||
self._private.highlight = {}
|
||||
end
|
||||
end
|
||||
if cursor_pos < 1 then
|
||||
cursor_pos = 1
|
||||
elseif cursor_pos > #self._private.text + 1 then
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Shift', 'Right')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'a', -- a
|
||||
on_press = function()
|
||||
-- Mark the entire text
|
||||
self._private.highlight = {
|
||||
cur_pos_start = 1,
|
||||
cur_pos_end = #self._private.text,
|
||||
}
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Control', 'a')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'v', -- v
|
||||
on_press = function()
|
||||
local sel = capi.selection()
|
||||
if sel then
|
||||
sel = sel:gsub('\n', '')
|
||||
if self._private.highlight and self._private.highlight.cur_pos_start and
|
||||
self._private.highlight.cur_pos_end then
|
||||
-- insert the text into the selected part
|
||||
local text_start = self._private.text:sub(1, self._private.highlight.cur_pos_start - 1)
|
||||
local text_end = self._private.text:sub(self._private.highlight.cur_pos_end + 1)
|
||||
self:set_text(text_start .. sel .. text_end)
|
||||
self._private.highlight = {}
|
||||
cursor_pos = #text_start + #sel + 1
|
||||
else
|
||||
self:set_text(self._private.text:sub(1, cursor_pos - 1) ..
|
||||
sel .. self._private.text:sub(cursor_pos))
|
||||
cursor_pos = cursor_pos + #sel
|
||||
end
|
||||
end
|
||||
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Control', 'v')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'c', -- c
|
||||
on_press = function()
|
||||
--TODO
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'x', -- x
|
||||
on_press = function()
|
||||
--TODO
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'Left', -- left
|
||||
on_press = function()
|
||||
-- Find all spaces
|
||||
local spaces = {}
|
||||
local t, i = self._private.text, 0
|
||||
|
||||
while t:find('%s') do
|
||||
i = t:find('%s')
|
||||
table.insert(spaces, i)
|
||||
t = t:sub(1, i - 1) .. '-' .. t:sub(i + 1)
|
||||
end
|
||||
|
||||
local cp = 1
|
||||
for _, v in ipairs(spaces) do
|
||||
if (v < cursor_pos) then
|
||||
cp = v
|
||||
end
|
||||
end
|
||||
cursor_pos = cp
|
||||
if cursor_pos < 1 then
|
||||
cursor_pos = 1
|
||||
elseif cursor_pos > #self._private.text + 1 then
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Control', 'Left')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = { 'Control' },
|
||||
key = 'Right', -- right
|
||||
on_press = function()
|
||||
local next_space = self._private.text:sub(cursor_pos):find('%s')
|
||||
if next_space then
|
||||
cursor_pos = cursor_pos + next_space
|
||||
else
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
|
||||
if cursor_pos < 1 then
|
||||
cursor_pos = 1
|
||||
elseif cursor_pos > #self._private.text + 1 then
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', 'Control', 'Right')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = {},
|
||||
key = 'BackSpace', --BackSpace
|
||||
on_press = function()
|
||||
-- If text is highlighted delete that, else just delete the character to the left
|
||||
if self._private.highlight and self._private.highlight.cur_pos_start and
|
||||
self._private.highlight.cur_pos_end then
|
||||
local text_start = self._private.text:sub(1, self._private.highlight.cur_pos_start - 1)
|
||||
local text_end = self._private.text:sub(self._private.highlight.cur_pos_end + 1)
|
||||
self:set_text(text_start .. text_end)
|
||||
self._private.highlight = {}
|
||||
cursor_pos = #text_start + 1
|
||||
else
|
||||
if cursor_pos > 1 then
|
||||
local offset = (self._private.text:sub(cursor_pos - 1, cursor_pos - 1):wlen() == -1) and 1 or
|
||||
0
|
||||
self:set_text(self._private.text:sub(1, cursor_pos - 2 - offset) ..
|
||||
self._private.text:sub(cursor_pos))
|
||||
cursor_pos = cursor_pos - 1 - offset
|
||||
end
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', nil, 'BackSpace')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = {},
|
||||
key = 'Delete', --delete
|
||||
on_press = function()
|
||||
-- If text is highlighted delete that, else just delete the character to the right
|
||||
if self._private.highlight and self._private.highlight.cur_pos_start and
|
||||
self._private.highlight.cur_pos_end then
|
||||
local text_start = self._private.text:sub(1, self._private.highlight.cur_pos_start - 1)
|
||||
local text_end = self._private.text:sub(self._private.highlight.cur_pos_end + 1)
|
||||
self:set_text(text_start .. text_end)
|
||||
self._private.highlight = {}
|
||||
cursor_pos = #text_start + 1
|
||||
else
|
||||
if cursor_pos <= #self._private.text then
|
||||
self:set_text(self._private.text:sub(1, cursor_pos - 1) ..
|
||||
self._private.text:sub(cursor_pos + 1))
|
||||
end
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', nil, 'Delete')
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = {},
|
||||
key = 'Left', --left
|
||||
on_press = function()
|
||||
-- Move cursor ro the left
|
||||
if cursor_pos > 1 then
|
||||
cursor_pos = cursor_pos - 1
|
||||
end
|
||||
self._private.highlight = {}
|
||||
end,
|
||||
},
|
||||
akey {
|
||||
modifiers = {},
|
||||
key = 'Right', --right
|
||||
on_press = function()
|
||||
-- Move cursor to the right
|
||||
if cursor_pos <= #self._private.text then
|
||||
cursor_pos = cursor_pos + 1
|
||||
end
|
||||
self._private.highlight = {}
|
||||
end,
|
||||
},
|
||||
--self.keybindings
|
||||
},
|
||||
keypressed_callback = function(_, modifiers, key)
|
||||
if modifiers[1] == 'Shift' then
|
||||
if key:wlen() == 1 then
|
||||
self:set_text(self._private.text:sub(1, cursor_pos - 1) ..
|
||||
string.upper(key) .. self._private.text:sub(cursor_pos))
|
||||
cursor_pos = cursor_pos + #key
|
||||
end
|
||||
elseif modifiers[1] == 'Mod2' or '' then
|
||||
if key:wlen() == 1 then
|
||||
self:set_text(self._private.text:sub(1, cursor_pos - 1) ..
|
||||
key .. self._private.text:sub(cursor_pos))
|
||||
cursor_pos = cursor_pos + #key
|
||||
end
|
||||
end
|
||||
|
||||
if cursor_pos < 1 then
|
||||
cursor_pos = 1
|
||||
elseif cursor_pos > #self._private.text + 1 then
|
||||
cursor_pos = #self._private.text + 1
|
||||
end
|
||||
self.markup = text_with_cursor(self:get_text(), cursor_pos, self)
|
||||
self:emit_signal('inputbox::key_pressed', modifiers, key)
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
--- Creates a new inputbox widget
|
||||
-- @tparam table args Arguments for the inputbox widget
|
||||
-- @tparam string args.text The text to display in the inputbox
|
||||
-- @tparam[opt=beautiful.fg_normal] string args.fg Text foreground color
|
||||
-- @tparam[opt=beautiful.border_focus] string args.border_focus_color Border color when focused
|
||||
-- @tparam[opt=""] string args.placeholder_text placeholder text to be shown when not focused and
|
||||
-- @tparam[opt=beautiful.inputbox_placeholder_fg] string args.placeholder_fg placeholder text foreground color
|
||||
-- @tparam[opt=beautiful.inputbox_cursor_bg] string args.cursor_bg Cursor background color
|
||||
-- @tparam[opt=beautiful.inputbox_cursor_fg] string args.cursor_fg Cursor foreground color
|
||||
-- @tparam[opt=beautiful.inputbox_highlight_bg] string args.highlight_bg Highlight background color
|
||||
-- @tparam[opt=beautiful.inputbox_highlight_fg] string args.highlight_fg Highlight foreground color
|
||||
-- @treturn awful.widget.inputbox The inputbox widget.
|
||||
-- @constructorfct awful.widget.inputbox
|
||||
function inputbox.new(args)
|
||||
args = args or {}
|
||||
-- directly pass a possible default text(this is not meant to be a hint)
|
||||
local w = textbox()
|
||||
|
||||
--gtable.crush(w, args)
|
||||
gtable.crush(w, inputbox, true)
|
||||
|
||||
w.font = args.font or beautiful.font
|
||||
|
||||
w.keybindings = args.keybindings or {}
|
||||
w.hint_text = args.hint_text
|
||||
|
||||
w.markup = args.text or text_with_cursor('', 1, w)
|
||||
return w
|
||||
end
|
||||
|
||||
function inputbox.mt:__call(...)
|
||||
return inputbox.new(...)
|
||||
end
|
||||
|
||||
return setmetatable(inputbox, inputbox.mt)
|
||||
160
awesome/awful/widget/toggle_widget.lua
Normal file
@@ -0,0 +1,160 @@
|
||||
local base = require('wibox.widget.base')
|
||||
local gtable = require('gears.table')
|
||||
local gcolor = require('gears.color')
|
||||
local beautiful = require('beautiful')
|
||||
local dpi = require('beautiful').xresources.apply_dpi
|
||||
local wibox = require('wibox')
|
||||
local gshape = require('gears.shape')
|
||||
local rubato = require('src.lib.rubato')
|
||||
local abutton = require('awful.button')
|
||||
|
||||
local toggle_widget = { mt = {} }
|
||||
|
||||
function toggle_widget:layout(_, width, height)
|
||||
if self._private.widget then
|
||||
return { base.place_widget_at(self._private.widget, 0, 0, width, height) }
|
||||
end
|
||||
end
|
||||
|
||||
function toggle_widget:fit(context, width, height)
|
||||
local w, h = 0, 0
|
||||
if self._private.widget then
|
||||
w, h = base.fit_widget(self, context, self._private.widget, width, height)
|
||||
end
|
||||
return w, h
|
||||
end
|
||||
|
||||
toggle_widget.set_widget = base.set_widget_common
|
||||
|
||||
function toggle_widget:get_widget()
|
||||
return self._private.widget
|
||||
end
|
||||
|
||||
function toggle_widget:set_enabled()
|
||||
self.active = true
|
||||
self.toggle_button.border_color = self.color
|
||||
self.newcolor = self.color
|
||||
self.rubato_timed.target = 39
|
||||
end
|
||||
|
||||
function toggle_widget:set_disabled()
|
||||
self.active = not self.active
|
||||
self.toggle_button.border_color = beautiful.colorscheme.bg1
|
||||
self.newcolor = beautiful.colorscheme.bg1
|
||||
self.rubato_timed.target = 5
|
||||
end
|
||||
|
||||
function toggle_widget:toggle_animation(pos, color)
|
||||
if pos > 39 then return end
|
||||
return function(_, _, cr, width, height)
|
||||
cr:set_source(gcolor(beautiful.colorscheme.bg))
|
||||
cr:paint()
|
||||
cr:set_source(gcolor(color))
|
||||
cr:move_to(pos, 0)
|
||||
local x = pos
|
||||
local y = 5
|
||||
local newwidth = dpi(width / 2 - 6)
|
||||
local newheight = height - 10
|
||||
|
||||
local radius = height / 6.0
|
||||
local degrees = math.pi / 180.0
|
||||
|
||||
cr:new_sub_path()
|
||||
cr:arc(x + newwidth - radius, y + radius, radius, -90 * degrees, 0 * degrees)
|
||||
cr:arc(x + newwidth - radius, y + newheight - radius, radius, 0 * degrees, 90 * degrees)
|
||||
cr:arc(x + radius, y + newheight - radius, radius, 90 * degrees, 180 * degrees)
|
||||
cr:arc(x + radius, y + radius, radius, 180 * degrees, 270 * degrees)
|
||||
cr:close_path()
|
||||
cr:fill()
|
||||
end
|
||||
end
|
||||
|
||||
function toggle_widget.new(args)
|
||||
args = args or {}
|
||||
|
||||
local ret = base.make_widget(nil, nil, {
|
||||
enable_properties = true,
|
||||
})
|
||||
|
||||
gtable.crush(ret, toggle_widget, true)
|
||||
|
||||
ret.newcolor = beautiful.colorscheme.bg1
|
||||
ret.color = args.color
|
||||
|
||||
ret.toggle_button = wibox.widget {
|
||||
{
|
||||
widget = wibox.widget {
|
||||
fit = function(_, width, height)
|
||||
return width, height
|
||||
end,
|
||||
draw = ret:toggle_animation(0, ret.newcolor),
|
||||
},
|
||||
id = 'background',
|
||||
},
|
||||
active = false,
|
||||
widget = wibox.container.background,
|
||||
bg = beautiful.colorscheme.bg,
|
||||
border_color = beautiful.colorscheme.border_color,
|
||||
border_width = dpi(2),
|
||||
forced_height = args.size,
|
||||
forced_width = args.size * 2,
|
||||
shape = beautiful.shape[10],
|
||||
}
|
||||
|
||||
ret.rubato_timed = rubato.timed {
|
||||
duration = 0.2,
|
||||
pos = 5,
|
||||
subscribed = function(pos)
|
||||
ret.toggle_button:get_children_by_id('background')[1].draw = ret:toggle_animation(pos, ret.newcolor)
|
||||
ret.toggle_button:emit_signal('widget::redraw_needed')
|
||||
end,
|
||||
}
|
||||
|
||||
ret:set_widget(wibox.widget {
|
||||
{
|
||||
{
|
||||
args.text and {
|
||||
text = args.text,
|
||||
valign = 'center',
|
||||
align = 'center',
|
||||
widget = wibox.widget.textbox,
|
||||
id = 'clearall',
|
||||
} or nil,
|
||||
ret.toggle_button,
|
||||
spacing = args.text and dpi(10) or dpi(0),
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
id = 'layout12',
|
||||
},
|
||||
id = 'background4',
|
||||
fg = args.fg,
|
||||
shape = beautiful.shape[12],
|
||||
widget = wibox.container.background,
|
||||
},
|
||||
id = 'place',
|
||||
widget = wibox.container.place,
|
||||
valign = 'bottom',
|
||||
halign = 'right',
|
||||
})
|
||||
|
||||
ret.toggle_button:buttons(
|
||||
gtable.join(
|
||||
abutton({}, 1, function()
|
||||
if ret.active then
|
||||
ret:set_disabled()
|
||||
else
|
||||
ret:set_enabled()
|
||||
end
|
||||
ret:emit_signal('dnd::toggle', ret.active)
|
||||
end
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
return ret
|
||||
end
|
||||
|
||||
function toggle_widget.mt:__call(...)
|
||||
return toggle_widget.new(...)
|
||||
end
|
||||
|
||||
return setmetatable(toggle_widget, toggle_widget.mt)
|
||||
@@ -1,122 +0,0 @@
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local color = require("src.theme.colors")
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
return function(s, widgets)
|
||||
|
||||
local top_center = awful.popup {
|
||||
screen = s,
|
||||
widget = wibox.container.background,
|
||||
ontop = false,
|
||||
bg = color["Grey900"],
|
||||
visible = true,
|
||||
maximum_width = dpi(500),
|
||||
placement = function(c) awful.placement.top(c, { margins = dpi(10) }) end,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 5)
|
||||
end
|
||||
}
|
||||
|
||||
top_center:struts {
|
||||
top = 55
|
||||
}
|
||||
|
||||
local function prepare_widgets(widgets)
|
||||
local layout = {
|
||||
forced_height = 45,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
for i, widget in pairs(widgets) do
|
||||
if i == 1 then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(6),
|
||||
right = dpi(6),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
elseif i == #widgets then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(6),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
else
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(3),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
end
|
||||
end
|
||||
return layout
|
||||
end
|
||||
|
||||
top_center:setup {
|
||||
nil,
|
||||
prepare_widgets(widgets),
|
||||
nil,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
|
||||
client.connect_signal(
|
||||
"manage",
|
||||
function(c)
|
||||
if #s.selected_tag:clients() < 1 then
|
||||
top_center.visible = false
|
||||
else
|
||||
top_center.visible = true
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"unmanage",
|
||||
function(c)
|
||||
if #s.selected_tag:clients() < 1 then
|
||||
top_center.visible = false
|
||||
else
|
||||
top_center.visible = true
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"tag::switched",
|
||||
function(c)
|
||||
if #s.selected_tag:clients() < 1 then
|
||||
top_center.visible = false
|
||||
else
|
||||
top_center.visible = true
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
awesome.connect_signal(
|
||||
"refresh",
|
||||
function(c)
|
||||
if #s.selected_tag:clients() < 1 then
|
||||
top_center.visible = false
|
||||
else
|
||||
top_center.visible = true
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
end
|
||||
@@ -1,313 +0,0 @@
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local color = require("src.theme.colors")
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
return function(screen, programs)
|
||||
|
||||
local function create_dock_element(class, program, name, user_icon, is_steam, size)
|
||||
if program == nil or class == nil then
|
||||
return
|
||||
end
|
||||
is_steam = is_steam or false
|
||||
user_icon = user_icon or nil
|
||||
local dock_element = wibox.widget {
|
||||
{
|
||||
{
|
||||
{
|
||||
resize = true,
|
||||
forced_width = size,
|
||||
forced_height = size,
|
||||
image = user_icon or Get_icon(user_vars.icon_theme, nil, program, class, is_steam),
|
||||
widget = wibox.widget.imagebox,
|
||||
id = "icon",
|
||||
},
|
||||
margins = dpi(5),
|
||||
widget = wibox.container.margin,
|
||||
id = "margin"
|
||||
},
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 10)
|
||||
end,
|
||||
bg = color["Grey900"],
|
||||
widget = wibox.container.background,
|
||||
id = "background"
|
||||
},
|
||||
top = dpi(5),
|
||||
left = dpi(5),
|
||||
right = dpi(5),
|
||||
widget = wibox.container.margin
|
||||
}
|
||||
|
||||
for _, c in ipairs(client.get()) do
|
||||
if string.lower(c.class):match(program) and c == client.focus then
|
||||
dock_element.background.bg = color["Grey800"]
|
||||
end
|
||||
end
|
||||
|
||||
Hover_signal(dock_element.background, color["Grey800"], color["White"])
|
||||
|
||||
dock_element:connect_signal(
|
||||
"button::press",
|
||||
function()
|
||||
if is_steam then
|
||||
awful.spawn("steam steam://rungameid/" .. program)
|
||||
else
|
||||
awful.spawn(program)
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
awful.tooltip {
|
||||
objects = { dock_element },
|
||||
text = name,
|
||||
mode = "outside",
|
||||
preferred_alignments = "middle",
|
||||
margins = dpi(10)
|
||||
}
|
||||
|
||||
return dock_element
|
||||
end
|
||||
|
||||
local dock = awful.popup {
|
||||
widget = wibox.container.background,
|
||||
ontop = true,
|
||||
bg = color["Grey900"],
|
||||
visible = true,
|
||||
screen = screen,
|
||||
type = "dock",
|
||||
height = user_vars.dock_icon_size + 10,
|
||||
placement = function(c) awful.placement.bottom(c, { margins = dpi(10) }) end,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 15)
|
||||
end
|
||||
}
|
||||
|
||||
local fakedock = awful.popup {
|
||||
widget = wibox.container.background,
|
||||
ontop = true,
|
||||
bg = '#00000000',
|
||||
visible = true,
|
||||
screen = screen,
|
||||
type = "dock",
|
||||
id = "fakedock",
|
||||
height = dpi(10),
|
||||
placement = function(c) awful.placement.bottom(c, { margins = dpi(0) }) end,
|
||||
}
|
||||
|
||||
local function get_dock_elements(pr)
|
||||
local dock_elements = { layout = wibox.layout.fixed.horizontal }
|
||||
|
||||
for i, p in ipairs(pr) do
|
||||
dock_elements[i] = create_dock_element(p[1], p[2], p[3], p[4], p[5], user_vars.dock_icon_size)
|
||||
end
|
||||
|
||||
return dock_elements
|
||||
end
|
||||
|
||||
local dock_elements = get_dock_elements(programs)
|
||||
|
||||
local function get_fake_elements(amount)
|
||||
local fake_elements = { layout = wibox.layout.fixed.horizontal }
|
||||
|
||||
for i = 0, amount, 1 do
|
||||
fake_elements[i] = wibox.widget {
|
||||
bg = '00000000',
|
||||
forced_width = user_vars.dock_icon_size + dpi(20),
|
||||
forced_height = dpi(10),
|
||||
id = "fake",
|
||||
widget = wibox.container.background
|
||||
}
|
||||
end
|
||||
return fake_elements
|
||||
end
|
||||
|
||||
local function create_incicator_widget(prog)
|
||||
local container = { layout = wibox.layout.flex.horizontal }
|
||||
local clients = client.get()
|
||||
for index, pr in ipairs(prog) do
|
||||
local indicators = { layout = wibox.layout.flex.horizontal, spacing = dpi(5) }
|
||||
local col = color["Grey600"]
|
||||
for i, c in ipairs(clients) do
|
||||
if string.lower(c.class or c.name):match(string.lower(pr[1]) or string.lower(pr[2])) then
|
||||
if c == client.focus then
|
||||
col = color["YellowA200"]
|
||||
elseif c.urgent then
|
||||
col = color["RedA200"]
|
||||
elseif c.maximized then
|
||||
col = color["GreenA200"]
|
||||
elseif c.minimized then
|
||||
col = color["BlueA200"]
|
||||
elseif c.fullscreen then
|
||||
col = color["PinkA200"]
|
||||
else
|
||||
col = color["Grey600"]
|
||||
end
|
||||
indicators[i] = wibox.widget {
|
||||
widget = wibox.container.background,
|
||||
shape = gears.shape.rounded_rect,
|
||||
forced_height = dpi(3),
|
||||
bg = col,
|
||||
forced_width = dpi(5),
|
||||
}
|
||||
end
|
||||
end
|
||||
container[index] = wibox.widget {
|
||||
indicators,
|
||||
forced_height = dpi(5),
|
||||
forced_width = dpi(50),
|
||||
left = dpi(5),
|
||||
right = dpi(5),
|
||||
widget = wibox.container.margin,
|
||||
}
|
||||
end
|
||||
|
||||
return wibox.widget {
|
||||
container,
|
||||
bottom = dpi(5),
|
||||
widget = wibox.container.margin,
|
||||
}
|
||||
end
|
||||
|
||||
fakedock:setup {
|
||||
get_fake_elements(#programs),
|
||||
type = 'dock',
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
|
||||
local function check_for_dock_hide(s)
|
||||
for _, client in ipairs(s.selected_tag:clients()) do
|
||||
if client.fullscreen then
|
||||
dock.visible = false
|
||||
fakedock.visible = false
|
||||
else
|
||||
fakedock.visible = true
|
||||
end
|
||||
end
|
||||
if #s.selected_tag:clients() < 1 then
|
||||
dock.visible = true
|
||||
return
|
||||
end
|
||||
if s == mouse.screen then
|
||||
local minimized
|
||||
for _, c in ipairs(s.selected_tag:clients()) do
|
||||
if c.minimized then
|
||||
minimized = true
|
||||
end
|
||||
if c.maximized or c.fullscreen then
|
||||
dock.visible = false
|
||||
return
|
||||
end
|
||||
if not c.minimized then
|
||||
local y = c:geometry().y
|
||||
local h = c.height
|
||||
if (y + h) >= s.geometry.height - user_vars.dock_icon_size - 35 then
|
||||
dock.visible = false
|
||||
return
|
||||
else
|
||||
dock.visible = true
|
||||
end
|
||||
end
|
||||
end
|
||||
if minimized then
|
||||
dock.visible = true
|
||||
end
|
||||
else
|
||||
dock.visible = false
|
||||
end
|
||||
end
|
||||
|
||||
local dock_intelligent_hide = gears.timer {
|
||||
timeout = 1,
|
||||
autostart = true,
|
||||
call_now = true,
|
||||
callback = function()
|
||||
check_for_dock_hide(screen)
|
||||
end
|
||||
}
|
||||
|
||||
fakedock:connect_signal(
|
||||
"mouse::enter",
|
||||
function()
|
||||
for _, c in ipairs(screen.clients) do
|
||||
if not c.fullscreen then
|
||||
dock_intelligent_hide:stop()
|
||||
dock.visible = true
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"manage",
|
||||
function()
|
||||
check_for_dock_hide(screen)
|
||||
dock:setup {
|
||||
dock_elements,
|
||||
create_incicator_widget(programs),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"property::minimized",
|
||||
function()
|
||||
check_for_dock_hide(screen)
|
||||
dock:setup {
|
||||
dock_elements,
|
||||
create_incicator_widget(programs),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"unmanage",
|
||||
function()
|
||||
check_for_dock_hide(screen)
|
||||
dock:setup {
|
||||
dock_elements,
|
||||
create_incicator_widget(programs),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
client.connect_signal(
|
||||
"focus",
|
||||
function()
|
||||
check_for_dock_hide(screen)
|
||||
dock:setup {
|
||||
dock_elements,
|
||||
create_incicator_widget(programs),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
end
|
||||
)
|
||||
|
||||
dock:connect_signal(
|
||||
"mouse::enter",
|
||||
function()
|
||||
dock_intelligent_hide:stop()
|
||||
end
|
||||
)
|
||||
|
||||
dock:connect_signal(
|
||||
"mouse::leave",
|
||||
function()
|
||||
dock_intelligent_hide:again()
|
||||
end
|
||||
)
|
||||
|
||||
dock:setup {
|
||||
get_dock_elements(programs),
|
||||
create_incicator_widget(programs),
|
||||
layout = wibox.layout.fixed.vertical
|
||||
}
|
||||
end
|
||||
@@ -1,65 +0,0 @@
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
|
||||
awful.screen.connect_for_each_screen(
|
||||
-- For each screen this function is called once
|
||||
-- If you want to change the modules per screen use the indices
|
||||
-- e.g. 1 would be the primary screen and 2 the secondary screen.
|
||||
function(s)
|
||||
-- Create 9 tags
|
||||
awful.layout.layouts = user_vars.layouts
|
||||
awful.tag(
|
||||
{ "1", "2", "3", "4", "5", "6", "7", "8", "9" },
|
||||
s,
|
||||
user_vars.layouts[1]
|
||||
)
|
||||
|
||||
require("src.modules.powermenu")(s)
|
||||
-- TODO: rewrite calendar osd, maybe write an own inplementation
|
||||
-- require("src.modules.calendar_osd")(s)
|
||||
require("src.modules.volume_osd")(s)
|
||||
require("src.modules.brightness_osd")(s)
|
||||
require("src.modules.titlebar")
|
||||
require("src.modules.volume_controller")(s)
|
||||
|
||||
-- Widgets
|
||||
--s.battery = require("src.widgets.battery")()
|
||||
s.audio = require("src.widgets.audio")(s)
|
||||
s.date = require("src.widgets.date")()
|
||||
s.clock = require("src.widgets.clock")()
|
||||
--s.bluetooth = require("src.widgets.bluetooth")()
|
||||
s.layoutlist = require("src.widgets.layout_list")(s)
|
||||
s.powerbutton = require("src.widgets.power")()
|
||||
s.kblayout = require("src.widgets.kblayout")(s)
|
||||
s.taglist = require("src.widgets.taglist")(s)
|
||||
s.tasklist = require("src.widgets.tasklist")(s)
|
||||
--s.cpu_freq = require("src.widgets.cpu_info")("freq", "average")
|
||||
|
||||
-- Add more of these if statements if you want to change
|
||||
-- the modules/widgets per screen.
|
||||
if s.index == 1 then
|
||||
s.systray = require("src.widgets.systray")(s)
|
||||
s.cpu_usage = require("src.widgets.cpu_info")("usage")
|
||||
s.cpu_temp = require("src.widgets.cpu_info")("temp")
|
||||
s.gpu_usage = require("src.widgets.gpu_info")("usage")
|
||||
s.gpu_temp = require("src.widgets.gpu_info")("temp")
|
||||
|
||||
require("crylia_bar.left_bar")(s, { s.layoutlist, s.systray, s.taglist })
|
||||
require("crylia_bar.center_bar")(s, { s.tasklist })
|
||||
require("crylia_bar.right_bar")(s, { s.gpu_usage, s.gpu_temp, s.cpu_usage, s.cpu_temp, s.audio, s.kblayout, s.date, s.clock, s.powerbutton })
|
||||
require("crylia_bar.dock")(s, user_vars.dock_programs)
|
||||
end
|
||||
|
||||
if s.index == 2 then
|
||||
s.network = require("src.widgets.network")()
|
||||
s.ram_info = require("src.widgets.ram_info")()
|
||||
|
||||
require("crylia_bar.left_bar")(s, { s.layoutlist, s.taglist })
|
||||
require("crylia_bar.center_bar")(s, { s.tasklist })
|
||||
require("crylia_bar.right_bar")(s, { s.ram_info, s.audio, s.kblayout, s.network, s.date, s.clock, s.powerbutton })
|
||||
end
|
||||
end
|
||||
)
|
||||
@@ -1,77 +0,0 @@
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local color = require("src.theme.colors")
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
return function(s, widgets)
|
||||
|
||||
local top_left = awful.popup {
|
||||
screen = s,
|
||||
widget = wibox.container.background,
|
||||
ontop = false,
|
||||
bg = color["Grey900"],
|
||||
visible = true,
|
||||
maximum_width = dpi(650),
|
||||
placement = function(c) awful.placement.top_left(c, { margins = dpi(10) }) end,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 5)
|
||||
end
|
||||
}
|
||||
|
||||
top_left:struts {
|
||||
top = 55
|
||||
}
|
||||
|
||||
local function prepare_widgets(widgets)
|
||||
local layout = {
|
||||
forced_height = 45,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
for i, widget in pairs(widgets) do
|
||||
if i == 1 then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(6),
|
||||
right = dpi(3),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
elseif i == #widgets then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(6),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
else
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(3),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
end
|
||||
end
|
||||
return layout
|
||||
end
|
||||
|
||||
top_left:setup {
|
||||
prepare_widgets(widgets),
|
||||
nil,
|
||||
nil,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
end
|
||||
@@ -1,76 +0,0 @@
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- This is the statusbar, every widget, module and so on is combined to all the stuff you see on the screen --
|
||||
--------------------------------------------------------------------------------------------------------------
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local color = require("src.theme.colors")
|
||||
local dpi = require("beautiful").xresources.apply_dpi
|
||||
local gears = require("gears")
|
||||
local wibox = require("wibox")
|
||||
|
||||
return function(s, widgets)
|
||||
|
||||
local top_right = awful.popup {
|
||||
widget = wibox.container.background,
|
||||
ontop = false,
|
||||
bg = color["Grey900"],
|
||||
visible = true,
|
||||
screen = s,
|
||||
placement = function(c) awful.placement.top_right(c, { margins = dpi(10) }) end,
|
||||
shape = function(cr, width, height)
|
||||
gears.shape.rounded_rect(cr, width, height, 5)
|
||||
end
|
||||
}
|
||||
|
||||
top_right:struts {
|
||||
top = 55
|
||||
}
|
||||
|
||||
local function prepare_widgets(widgets)
|
||||
local layout = {
|
||||
forced_height = 45,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
}
|
||||
for i, widget in pairs(widgets) do
|
||||
if i == 1 then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(6),
|
||||
right = dpi(3),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
elseif i == #widgets then
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(6),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
else
|
||||
table.insert(layout,
|
||||
{
|
||||
widget,
|
||||
left = dpi(3),
|
||||
right = dpi(3),
|
||||
top = dpi(6),
|
||||
bottom = dpi(6),
|
||||
widget = wibox.container.margin
|
||||
})
|
||||
end
|
||||
end
|
||||
return layout
|
||||
end
|
||||
|
||||
top_right:setup {
|
||||
nil,
|
||||
nil,
|
||||
prepare_widgets(widgets),
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
end
|
||||
@@ -1,67 +0,0 @@
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
local globalkeys = require("../mappings/global_keys")
|
||||
local modkey = user_vars.modkey
|
||||
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
|
||||
-- View tag only
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#" .. i + 9,
|
||||
function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
client.emit_signal("tag::switched")
|
||||
end,
|
||||
{ description = "View Tag " .. i, group = "Tag" }
|
||||
),
|
||||
-- Brings the window over without chaning the tag, reverts automatically on tag change
|
||||
awful.key(
|
||||
{ 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" }
|
||||
),
|
||||
-- Brings the window over without chaning the tag, reverts automatically on tag change
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#" .. i + 9,
|
||||
function()
|
||||
local screen = awful.screen.focused()
|
||||
if client.focus then
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{ description = "Move focused client on tag " .. i, group = "Tag" }
|
||||
),
|
||||
-- Brings the window over without chaning the tag, reverts automatically on tag change
|
||||
awful.key(
|
||||
{ modkey, "Control", "Shift" },
|
||||
"#" .. i + 9,
|
||||
function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
{ description = "Move focused client on tag " .. i, group = "Tag" }
|
||||
)
|
||||
)
|
||||
end
|
||||
root.keys(globalkeys)
|
||||
@@ -1,19 +0,0 @@
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local modkey = user_vars.modkey
|
||||
|
||||
return gears.table.join(
|
||||
awful.button({}, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
end),
|
||||
awful.button({ modkey }, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ modkey }, 3, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", { raise = true })
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
@@ -1,57 +0,0 @@
|
||||
-- Awesome Libs
|
||||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local modkey = user_vars.modkey
|
||||
|
||||
return gears.table.join(
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#41",
|
||||
function(c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{ description = "Toggle fullscreen", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#24",
|
||||
function(c)
|
||||
c:kill()
|
||||
end,
|
||||
{ description = "Close focused client", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#42",
|
||||
awful.client.floating.toggle,
|
||||
{ description = "Toggle floating window", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#58",
|
||||
function(c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end,
|
||||
{ description = "(un)maximize", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#57",
|
||||
function(c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c.minimized = false
|
||||
if not c:isvisible() and c.first_tag then
|
||||
c.first_tag:view_only()
|
||||
end
|
||||
c:emit_signal('request::activate')
|
||||
c:raise()
|
||||
end
|
||||
end,
|
||||
{ description = "(un)hide", group = "Client" }
|
||||
)
|
||||
)
|
||||
@@ -1,8 +0,0 @@
|
||||
-- Awesome Libs
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
|
||||
root.buttons = gears.table.join(
|
||||
awful.button({}, 4, awful.tag.viewnext),
|
||||
awful.button({}, 5, awful.tag.viewprev)
|
||||
)
|
||||
@@ -1,373 +0,0 @@
|
||||
-- Awesome Libs
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
local ruled = require("ruled")
|
||||
|
||||
local modkey = user_vars.modkey
|
||||
|
||||
return gears.table.join(
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#39",
|
||||
hotkeys_popup.show_help,
|
||||
{ description = "Cheat sheet", group = "Awesome" }
|
||||
),
|
||||
-- Tag browsing
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#113",
|
||||
awful.tag.viewprev,
|
||||
{ description = "View previous tag", group = "Tag" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#114",
|
||||
awful.tag.viewnext,
|
||||
{ description = "View next tag", group = "Tag" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#66",
|
||||
awful.tag.history.restore,
|
||||
{ description = "Go back to last tag", group = "Tag" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#44",
|
||||
function()
|
||||
awful.client.focus.byidx(1)
|
||||
end,
|
||||
{ description = "Focus next client by index", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#45",
|
||||
function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{ description = "Focus previous client by index", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#44",
|
||||
function()
|
||||
awful.client.swap.byidx(1)
|
||||
end,
|
||||
{ description = "Swap with next client by index", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#45",
|
||||
function()
|
||||
awful.client.swap.byidx(-1)
|
||||
end,
|
||||
{ description = "Swap with previous client by index", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"#44",
|
||||
function()
|
||||
awful.screen.focus_relative(1)
|
||||
end,
|
||||
{ description = "Focus the next screen", group = "Screen" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"#45",
|
||||
function()
|
||||
awful.screen.focus_relative(-1)
|
||||
end,
|
||||
{ description = "Focus the previous screen", group = "Screen" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#30",
|
||||
awful.client.urgent.jumpto,
|
||||
{ description = "Jump to urgent client", group = "Client" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#36",
|
||||
function()
|
||||
awful.spawn(user_vars.terminal)
|
||||
end,
|
||||
{ description = "Open terminal", group = "Applications" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"#27",
|
||||
awesome.restart,
|
||||
{ description = "Reload awesome", group = "Awesome" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#46",
|
||||
function()
|
||||
awful.tag.incmwfact(0.05)
|
||||
end,
|
||||
{ description = "Increase client width", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#43",
|
||||
function()
|
||||
awful.tag.incmwfact(-0.05)
|
||||
end,
|
||||
{ description = "Decrease client width", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"#43",
|
||||
function()
|
||||
awful.tag.incncol(1, nil, true)
|
||||
end,
|
||||
{ description = "Increase the number of columns", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Control" },
|
||||
"#46",
|
||||
function()
|
||||
awful.tag.incncol(-1, nil, true)
|
||||
end,
|
||||
{ description = "Decrease the number of columns", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#65",
|
||||
function()
|
||||
awful.layout.inc(-1)
|
||||
end,
|
||||
{ description = "Select previous layout", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#36",
|
||||
function()
|
||||
awful.layout.inc(1)
|
||||
end,
|
||||
{ description = "Select next layout", group = "Layout" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#40",
|
||||
function()
|
||||
awful.spawn("rofi -show drun -theme ~/.config/rofi/rofi.rasi")
|
||||
end,
|
||||
{ descripton = "Application launcher", group = "Application" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#23",
|
||||
function()
|
||||
awful.spawn("rofi -show window -theme ~/.config/rofi/window.rasi")
|
||||
end,
|
||||
{ descripton = "Client switcher (alt+tab)", group = "Application" }
|
||||
),
|
||||
awful.key(
|
||||
{ "Mod1" },
|
||||
"#23",
|
||||
function()
|
||||
awful.spawn("rofi -show window -theme ~/.config/rofi/window.rasi")
|
||||
end,
|
||||
{ descripton = "Client switcher (alt+tab)", group = "Application" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#26",
|
||||
function()
|
||||
awful.spawn(user_vars.file_manager)
|
||||
end,
|
||||
{ descripton = "Open file manager", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#26",
|
||||
function()
|
||||
awesome.emit_signal("module::powermenu:show")
|
||||
end,
|
||||
{ descripton = "Session options", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"#107",
|
||||
function()
|
||||
awful.spawn(user_vars.screenshot_program)
|
||||
end,
|
||||
{ description = "Screenshot", group = "Applications" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioLowerVolume",
|
||||
function(c)
|
||||
awful.spawn.easy_async_with_shell("pactl set-sink-volume @DEFAULT_SINK@ -2%", function()
|
||||
awesome.emit_signal("module::volume_osd:show", true)
|
||||
awesome.emit_signal("module::slider:update")
|
||||
awesome.emit_signal("widget::volume_osd:rerun")
|
||||
end)
|
||||
end,
|
||||
{ description = "Lower volume", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioRaiseVolume",
|
||||
function(c)
|
||||
awful.spawn.easy_async_with_shell("pactl set-sink-volume @DEFAULT_SINK@ +2%", function()
|
||||
awesome.emit_signal("module::volume_osd:show", true)
|
||||
awesome.emit_signal("module::slider:update")
|
||||
awesome.emit_signal("widget::volume_osd:rerun")
|
||||
end)
|
||||
end,
|
||||
{ description = "Increase volume", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioMute",
|
||||
function(c)
|
||||
awful.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")
|
||||
awesome.emit_signal("module::volume_osd:show", true)
|
||||
awesome.emit_signal("module::slider:update")
|
||||
awesome.emit_signal("widget::volume_osd:rerun")
|
||||
end,
|
||||
{ description = "Mute volume", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86MonBrightnessUp",
|
||||
function(c)
|
||||
--awful.spawn("xbacklight -time 100 -inc 10%+")
|
||||
awful.spawn.easy_async_with_shell(
|
||||
"pkexec xfpm-power-backlight-helper --get-brightness",
|
||||
function(stdout)
|
||||
awful.spawn.easy_async_with_shell("pkexec xfpm-power-backlight-helper --set-brightness " .. tostring(tonumber(stdout) + BACKLIGHT_SEPS), function(stdou2)
|
||||
|
||||
end)
|
||||
awesome.emit_signal("module::brightness_osd:show", true)
|
||||
awesome.emit_signal("module::brightness_slider:update")
|
||||
awesome.emit_signal("widget::brightness_osd:rerun")
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description = "Raise backlight brightness", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86MonBrightnessDown",
|
||||
function(c)
|
||||
awful.spawn.easy_async_with_shell(
|
||||
"pkexec xfpm-power-backlight-helper --get-brightness",
|
||||
function(stdout)
|
||||
awful.spawn.easy_async_with_shell("pkexec xfpm-power-backlight-helper --set-brightness " .. tostring(tonumber(stdout) - BACKLIGHT_SEPS), function(stdout2)
|
||||
|
||||
end)
|
||||
awesome.emit_signal("module::brightness_osd:show", true)
|
||||
awesome.emit_signal("module::brightness_slider:update")
|
||||
awesome.emit_signal("widget::brightness_osd:rerun")
|
||||
end
|
||||
)
|
||||
end,
|
||||
{ description = "Lower backlight brightness", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioPlay",
|
||||
function(c)
|
||||
awful.spawn("playerctl play-pause")
|
||||
end,
|
||||
{ description = "Play / Pause audio", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioNext",
|
||||
function(c)
|
||||
awful.spawn("playerctl next")
|
||||
end,
|
||||
{ description = "Play / Pause audio", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{},
|
||||
"XF86AudioPrev",
|
||||
function(c)
|
||||
awful.spawn("playerctl previous")
|
||||
end,
|
||||
{ description = "Play / Pause audio", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#65",
|
||||
function()
|
||||
awesome.emit_signal("kblayout::toggle")
|
||||
end,
|
||||
{ description = "Toggle keyboard layout", group = "System" }
|
||||
),
|
||||
awful.key(
|
||||
{ modkey },
|
||||
"#22",
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[xprop | grep WM_CLASS | awk '{gsub(/"/, "", $4); print $4}']],
|
||||
function(stdout)
|
||||
if stdout then
|
||||
ruled.client.append_rule {
|
||||
rule = { class = stdout:gsub("\n", "") },
|
||||
properties = {
|
||||
floating = true
|
||||
},
|
||||
}
|
||||
awful.spawn.easy_async_with_shell(
|
||||
"cat ~/.config/awesome/src/assets/rules.txt",
|
||||
function(stdout2)
|
||||
for class in stdout2:gmatch("%a+") do
|
||||
if class:match(stdout:gsub("\n", "")) then
|
||||
return
|
||||
end
|
||||
end
|
||||
awful.spawn.with_shell("echo -n '" .. stdout:gsub("\n", "") .. ";' >> ~/.config/awesome/src/assets/rules.txt")
|
||||
local c = mouse.screen.selected_tag:clients()
|
||||
for j, client in ipairs(c) do
|
||||
if client.class:match(stdout:gsub("\n", "")) then
|
||||
client.floating = true
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
),
|
||||
awful.key(
|
||||
{ modkey, "Shift" },
|
||||
"#22",
|
||||
function()
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[xprop | grep WM_CLASS | awk '{gsub(/"/, "", $4); print $4}']],
|
||||
function(stdout)
|
||||
if stdout then
|
||||
ruled.client.append_rule {
|
||||
rule = { class = stdout:gsub("\n", "") },
|
||||
properties = {
|
||||
floating = false
|
||||
},
|
||||
}
|
||||
awful.spawn.easy_async_with_shell(
|
||||
[[
|
||||
REMOVE="]] .. stdout:gsub("\n", "") .. [[;"
|
||||
STR=$(cat ~/.config/awesome/src/assets/rules.txt)
|
||||
echo -n ${STR//$REMOVE/} > ~/.config/awesome/src/assets/rules.txt
|
||||
]],
|
||||
function(stdout2)
|
||||
local c = mouse.screen.selected_tag:clients()
|
||||
for j, client in ipairs(c) do
|
||||
if client.class:match(stdout:gsub("\n", "")) then
|
||||
client.floating = false
|
||||
end
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
)
|
||||
)
|
||||
@@ -1,19 +1,49 @@
|
||||
-----------------------------------------------------------------------------------------
|
||||
-- █████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗██╗ ██╗███╗ ███╗ --
|
||||
-- ██╔══██╗██║ ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝██║ ██║████╗ ████║ --
|
||||
-- ███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗ ██║ █╗ ██║██╔████╔██║ --
|
||||
-- ██╔══██║██║███╗██║██╔══╝ ╚════██║██║ ██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║╚██╔╝██║ --
|
||||
-- ██║ ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗╚███╔███╔╝██║ ╚═╝ ██║ --
|
||||
-- ╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝ --
|
||||
-----------------------------------------------------------------------------------------
|
||||
-- Initialising, order is important!
|
||||
require("src.theme.user_variables")
|
||||
require("src.theme.init")
|
||||
require("src.core.error_handling")
|
||||
require("src.core.signals")
|
||||
require("src.core.notifications")
|
||||
require("src.core.rules")
|
||||
require("mappings.global_buttons")
|
||||
require("mappings.bind_to_tags")
|
||||
require("crylia_bar.init")
|
||||
require("src.tools.auto_starter")(user_vars.autostart)
|
||||
---@diagnostic disable: lowercase-global
|
||||
--[[
|
||||
|
||||
╭─────────────────────────────────────────────────────────────────╮
|
||||
│ ______ ___ ________ │
|
||||
│ / ____/______ __/ (_)___ _ /_ __/ /_ ___ ____ ___ ___ │
|
||||
│ / / / ___/ / / / / / __ `/ / / / __ \/ _ \/ __ `__ \/ _ \ │
|
||||
│ / /___/ / / /_/ / / / /_/ / / / / / / / __/ / / / / / __/ │
|
||||
│ \____/_/ \__, /_/_/\__,_/ /_/ /_/ /_/\___/_/ /_/ /_/\___/ │
|
||||
│ /____/ │
|
||||
╰─────────────────────────────────────────────────────────────────╯
|
||||
|
||||
]]
|
||||
--#region s
|
||||
io.stdout:write([[
|
||||
]] .. '\n\27[32m' .. [[╭─────────────────────────────────────────────────────────────────╮
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ ______ ___ ________ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / ____/______ __/ (_)___ _ /_ __/ /_ ___ ____ ___ ___ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / / / ___/ / / / / / __ `/ / / / __ \/ _ \/ __ `__ \/ _ \ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / /___/ / / /_/ / / / /_/ / / / / / / / __/ / / / / / __/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ \____/_/ \__, /_/_/\__,_/ /_/ /_/ /_/\___/_/ /_/ /_/\___/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ /____/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[╰─────────────────────────────────────────────────────────────────╯
|
||||
]] .. '\27[0m\n')
|
||||
|
||||
io.stderr:write([[
|
||||
]] .. '\n\27[32m' .. [[╭─────────────────────────────────────────────────────────────────╮
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ ______ ___ ________ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / ____/______ __/ (_)___ _ /_ __/ /_ ___ ____ ___ ___ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / / / ___/ / / / / / __ `/ / / / __ \/ _ \/ __ `__ \/ _ \ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ / /___/ / / /_/ / / / /_/ / / / / / / / __/ / / / / / __/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ \____/_/ \__, /_/_/\__,_/ /_/ /_/ /_/\___/_/ /_/ /_/\___/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[│]] .. '\27[1;36m' .. [[ /____/ ]] .. '\27[32m' .. [[│
|
||||
]] .. '\27[32m' .. [[╰─────────────────────────────────────────────────────────────────╯
|
||||
]] .. '\27[0m\n')
|
||||
--#endregion
|
||||
|
||||
require('src.core.error_handling') {}
|
||||
require('src.theme') {}
|
||||
require('src.core.signals') {}
|
||||
require('src.core.notifications') {}
|
||||
require('src.core.rules') {}
|
||||
require('src.bindings.global_buttons')
|
||||
require('src.bindings.bind_to_tags')
|
||||
require('src.modules') {}
|
||||
require('src.tools.auto_starter') {}
|
||||
--require('src.core.setup')()
|
||||
|
||||
require('src.tools.network')()
|
||||
|
||||
422
awesome/schema.json
Normal file
@@ -0,0 +1,422 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://example.com/product.schema.json",
|
||||
"title": "theme completion",
|
||||
"description": "completion for crylia-theme config",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"autostart": {
|
||||
"description": "Commands that run on startup",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"battery_kind": {
|
||||
"description": "Where to fetch the battery information from",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"UNKNOWN",
|
||||
"LINE_POWER",
|
||||
"TABLET",
|
||||
"COMPUTER",
|
||||
"GAMING_INPUT",
|
||||
"LAST",
|
||||
"BATTERY",
|
||||
"UPS",
|
||||
"MONITOR",
|
||||
"MOUSE",
|
||||
"KEYBOARD",
|
||||
"PDA",
|
||||
"PHONE",
|
||||
"MEDIA_PLAYER"
|
||||
]
|
||||
},
|
||||
"battery_path": {
|
||||
"description": "Custom battery path",
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"brightness_step": {
|
||||
"description": "Brightness step in %",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 100
|
||||
},
|
||||
"dock_icon_size": {
|
||||
"description": "Dock icon size",
|
||||
"type": "integer"
|
||||
},
|
||||
"energy_manager": {
|
||||
"description": "Program started when battery widget is clicked",
|
||||
"type": "string"
|
||||
},
|
||||
"file_manager": {
|
||||
"description": "Default File manager",
|
||||
"type": "string"
|
||||
},
|
||||
"font": {
|
||||
"description": "Font used for UI elements",
|
||||
"type": "string"
|
||||
},
|
||||
"font-size": {
|
||||
"description": "Font size",
|
||||
"type": "integer",
|
||||
"exclusiveMinimum": 0
|
||||
},
|
||||
"font-weight": {
|
||||
"description": "Font weight",
|
||||
"type": "string"
|
||||
},
|
||||
"gtk_settings": {
|
||||
"description": "Program used for GTK settings",
|
||||
"type": "string"
|
||||
},
|
||||
"icon_theme": {
|
||||
"description": "Icon theme",
|
||||
"type": "string"
|
||||
},
|
||||
"kblayout": {
|
||||
"description": "Keyboard layouts to use",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"description": "Layouts",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"enum": [
|
||||
"awful.layout.suit.fair",
|
||||
"awful.layout.suit.floating"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"modkey": {
|
||||
"description": "Modkey",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Mod5",
|
||||
"Mod4",
|
||||
"Mod3",
|
||||
"Mod2",
|
||||
"Mod1"
|
||||
]
|
||||
},
|
||||
"namestyle": {
|
||||
"description": "Name formatting used for power menu",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"userhost",
|
||||
"fullname"
|
||||
]
|
||||
},
|
||||
"screen_settings": {
|
||||
"description": "Program used for screen settings",
|
||||
"type": "string"
|
||||
},
|
||||
"screenshot_program": {
|
||||
"description": "Program used for screenshots",
|
||||
"type": "string"
|
||||
},
|
||||
"status_bar_widgets": {
|
||||
"description": "Widgets used in the notification center",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"cpu_usage",
|
||||
"cpu_temp",
|
||||
"ram_usage",
|
||||
"microphone",
|
||||
"volume",
|
||||
"gpu_temp",
|
||||
"gpu_usage",
|
||||
"battery",
|
||||
"backlight"
|
||||
]
|
||||
}
|
||||
},
|
||||
"taskbar_use_name": {
|
||||
"description": "If the taskbar should use the name or class",
|
||||
"type": "boolean"
|
||||
},
|
||||
"terminal": {
|
||||
"description": "Default terminal",
|
||||
"type": "string"
|
||||
},
|
||||
"text_editor": {
|
||||
"description": "Default texteditor",
|
||||
"type": "string"
|
||||
},
|
||||
"titlebar_exception": {
|
||||
"description": "Exceptions for titlebars",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"titlebar_position": {
|
||||
"description": "Position of the titlebar",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"top",
|
||||
"left"
|
||||
]
|
||||
},
|
||||
"titlebar_items": {
|
||||
"description": "Items in the titlebar",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"left_and_bottom": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"icon",
|
||||
"close",
|
||||
"maximize",
|
||||
"minimize",
|
||||
"title"
|
||||
]
|
||||
}
|
||||
},
|
||||
"right_and_top": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"icon",
|
||||
"close",
|
||||
"maximize",
|
||||
"minimize",
|
||||
"title"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"wallpaper": {
|
||||
"description": "wallpaper",
|
||||
"type": "string"
|
||||
},
|
||||
"weather_secrets": {
|
||||
"description": "weather api secrets",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": "string",
|
||||
"key": {
|
||||
"type": "string",
|
||||
"minLength": 32,
|
||||
"maxLength": 32
|
||||
},
|
||||
"city_id": {
|
||||
"type": "string",
|
||||
"minLength": 7,
|
||||
"maxLength": 7
|
||||
},
|
||||
"unit": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"metric",
|
||||
"imperial"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"web_browser": {
|
||||
"description": "Browser",
|
||||
"type": "string"
|
||||
},
|
||||
"crylia_bar": {
|
||||
"description": "Default bar widgets",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"left_bar": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
},
|
||||
"center_bar": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
},
|
||||
"right_bar": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"crylia_wibox": {
|
||||
"description": "Default bar widgets",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"left": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
},
|
||||
"center": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
},
|
||||
"right": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Tiling Layout",
|
||||
"Systray",
|
||||
"Taglist",
|
||||
"Tasklist",
|
||||
"Bluetooth",
|
||||
"Network",
|
||||
"Battery",
|
||||
"Cpu Usage",
|
||||
"Cpu Temp",
|
||||
"Cpu Freq",
|
||||
"Gpu Usage",
|
||||
"Gpu Temp",
|
||||
"Ram Usage",
|
||||
"Audio",
|
||||
"Keyboard Layout",
|
||||
"Date",
|
||||
"Clock",
|
||||
"Power Button"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"anyOf": [
|
||||
{
|
||||
"required": [
|
||||
"crylia_bar"
|
||||
]
|
||||
},
|
||||
{
|
||||
"required": [
|
||||
"crylia_wibox"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
1
awesome/src/assets/CT.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="ct" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"><defs><linearGradient id="ct-s-path1-stroke" x1="-0.024162" y1="0.504999" x2="0.975838" y2="0.504455" spreadMethod="pad" gradientUnits="objectBoundingBox" gradientTransform="translate(0 0)"><stop id="ct-s-path1-stroke-0" offset="0%" stop-color="#faa3ff"/><stop id="ct-s-path1-stroke-1" offset="50%" stop-color="#ffd9fd"/><stop id="ct-s-path1-stroke-2" offset="100%" stop-color="#7ef2ff"/></linearGradient></defs><path id="ct-s-path1" d="M281.200226,185.600197L215.59979,316.799803L346.800008,316.8l-32.800004,65.6h-131.200023l-32.800005-65.600197L248.400073,120h196.799951h196.799951l-32.800004,65.6h-65.600012L461.599945,382.4h-65.600011l85.280014-196.799803-68.470031.000003L445.200024,120l-32.390106,65.6h-131.609692" transform="translate(-139.999975-.535)" fill="#fff" fill-opacity="0" stroke="url(#ct-s-path1-stroke)" stroke-width="16" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset="5"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
0
awesome/src/assets/cache/rules.txt
vendored
Normal file
93
awesome/src/assets/fonts/Comfortaa/OFL.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2011 The Comfortaa Project Authors (https://github.com/alexeiva/comfortaa), with Reserved Font Name "Comfortaa".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
67
awesome/src/assets/fonts/Comfortaa/README.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
Comfortaa Variable Font
|
||||
=======================
|
||||
|
||||
This download contains Comfortaa as both a variable font and static fonts.
|
||||
|
||||
Comfortaa is a variable font with this axis:
|
||||
wght
|
||||
|
||||
This means all the styles are contained in a single file:
|
||||
Comfortaa-VariableFont_wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Comfortaa:
|
||||
static/Comfortaa-Light.ttf
|
||||
static/Comfortaa-Regular.ttf
|
||||
static/Comfortaa-Medium.ttf
|
||||
static/Comfortaa-SemiBold.ttf
|
||||
static/Comfortaa-Bold.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them in your products & projects – print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||
BIN
awesome/src/assets/fonts/Comfortaa/static/Comfortaa-Bold.ttf
Normal file
BIN
awesome/src/assets/fonts/Comfortaa/static/Comfortaa-Light.ttf
Normal file
BIN
awesome/src/assets/fonts/Comfortaa/static/Comfortaa-Medium.ttf
Normal file
BIN
awesome/src/assets/fonts/Comfortaa/static/Comfortaa-Regular.ttf
Normal file
BIN
awesome/src/assets/fonts/Comfortaa/static/Comfortaa-SemiBold.ttf
Normal file
93
awesome/src/assets/fonts/Raleway/OFL.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway".
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
81
awesome/src/assets/fonts/Raleway/README.txt
Normal file
@@ -0,0 +1,81 @@
|
||||
Raleway Variable Font
|
||||
=====================
|
||||
|
||||
This download contains Raleway as both variable fonts and static fonts.
|
||||
|
||||
Raleway is a variable font with this axis:
|
||||
wght
|
||||
|
||||
This means all the styles are contained in these files:
|
||||
Raleway-VariableFont_wght.ttf
|
||||
Raleway-Italic-VariableFont_wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Raleway:
|
||||
static/Raleway-Thin.ttf
|
||||
static/Raleway-ExtraLight.ttf
|
||||
static/Raleway-Light.ttf
|
||||
static/Raleway-Regular.ttf
|
||||
static/Raleway-Medium.ttf
|
||||
static/Raleway-SemiBold.ttf
|
||||
static/Raleway-Bold.ttf
|
||||
static/Raleway-ExtraBold.ttf
|
||||
static/Raleway-Black.ttf
|
||||
static/Raleway-ThinItalic.ttf
|
||||
static/Raleway-ExtraLightItalic.ttf
|
||||
static/Raleway-LightItalic.ttf
|
||||
static/Raleway-Italic.ttf
|
||||
static/Raleway-MediumItalic.ttf
|
||||
static/Raleway-SemiBoldItalic.ttf
|
||||
static/Raleway-BoldItalic.ttf
|
||||
static/Raleway-ExtraBoldItalic.ttf
|
||||
static/Raleway-BlackItalic.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them in your products & projects – print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||
BIN
awesome/src/assets/fonts/Raleway/Raleway-VariableFont_wght.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Black.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-BlackItalic.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Bold.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-BoldItalic.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-ExtraBold.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-ExtraLight.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Italic.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Light.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-LightItalic.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Medium.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-MediumItalic.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Regular.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-SemiBold.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-Thin.ttf
Normal file
BIN
awesome/src/assets/fonts/Raleway/static/Raleway-ThinItalic.ttf
Normal file
|
Before Width: | Height: | Size: 20 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z" /></svg>
|
||||
|
After Width: | Height: | Size: 552 B |
5
awesome/src/assets/icons/bluetooth/audio-card.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M2,7V8.5H3V17H4.5V7C3.7,7 2.8,7 2,7M6,7V7L6,16H7V17H14V16H22V7H6M17.5,9A2.5,2.5 0 0,1 20,11.5A2.5,2.5 0 0,1 17.5,14A2.5,2.5 0 0,1 15,11.5A2.5,2.5 0 0,1 17.5,9Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 463 B |
5
awesome/src/assets/icons/bluetooth/audio-headphones.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H18A3,3 0 0,0 21,17V10C21,5 16.97,1 12,1Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 431 B |
5
awesome/src/assets/icons/bluetooth/audio-headset.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H19V21H12V23H18A3,3 0 0,0 21,20V10C21,5 16.97,1 12,1Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 443 B |
@@ -1 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M13,5.83L14.88,7.71L13.28,9.31L14.69,10.72L17.71,7.7L12,2H11V7.03L13,9.03M5.41,4L4,5.41L10.59,12L5,17.59L6.41,19L11,14.41V22H12L16.29,17.71L18.59,20L20,18.59M13,18.17V14.41L14.88,16.29" /></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M13,5.83L14.88,7.71L13.28,9.31L14.69,10.72L17.71,7.7L12,2H11V7.03L13,9.03M5.41,4L4,5.41L10.59,12L5,17.59L6.41,19L11,14.41V22H12L16.29,17.71L18.59,20L20,18.59M13,18.17V14.41L14.88,16.29" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 486 B |
@@ -1 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z" /></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 460 B After Width: | Height: | Size: 467 B |
5
awesome/src/assets/icons/bluetooth/camera-photo.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M13.09,9.45L11.05,12.18L12.6,14.25L11.73,14.91L9.27,11.64L6,16H18L13.09,9.45Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 469 B |
5
awesome/src/assets/icons/bluetooth/camera-video.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 527 B |
5
awesome/src/assets/icons/bluetooth/computer.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M4,6H20V16H4M20,18A2,2 0 0,0 22,16V6C22,4.89 21.1,4 20,4H4C2.89,4 2,4.89 2,6V16A2,2 0 0,0 4,18H0V20H24V18H20Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 413 B |
1
awesome/src/assets/icons/bluetooth/delete.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6,19C6,20.1 6.9,21 8,21H16C17.1,21 18,20.1 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z" /></svg>
|
||||
|
After Width: | Height: | Size: 188 B |
1
awesome/src/assets/icons/bluetooth/edit.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z" /></svg>
|
||||
|
After Width: | Height: | Size: 305 B |
5
awesome/src/assets/icons/bluetooth/input-gaming.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M7.97,16L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.21,7.81 5.14,6 7.5,6H16.5C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75A1.75,1.75 0 0,1 20.25,19.5C19.77,19.5 19.33,19.3 19,19L16.03,16H7.97M7,8V10H5V11H7V13H8V11H10V10H8V8H7M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1015 B |
5
awesome/src/assets/icons/bluetooth/input-keyboard.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4C2.89,5 2,5.89 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7C22,5.89 21.1,5 20,5Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 538 B |
5
awesome/src/assets/icons/bluetooth/input-mouse.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 419 B |
5
awesome/src/assets/icons/bluetooth/input-tablet.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 402 B |
5
awesome/src/assets/icons/bluetooth/link-off.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.43 19.12,14.63 17.79,15L19.25,16.44C20.88,15.61 22,13.95 22,12A5,5 0 0,0 17,7M16,11H13.81L15.81,13H16V11M2,4.27L5.11,7.38C3.29,8.12 2,9.91 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12C3.9,10.41 5.11,9.1 6.66,8.93L8.73,11H8V13H10.73L13,15.27V17H14.73L18.74,21L20,19.74L3.27,3L2,4.27Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 649 B |
5
awesome/src/assets/icons/bluetooth/link.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 539 B |
5
awesome/src/assets/icons/bluetooth/menu-down.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M7,10L12,15L17,10H7Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 322 B |
5
awesome/src/assets/icons/bluetooth/menu-up.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M7,15L12,10L17,15H7Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 322 B |
5
awesome/src/assets/icons/bluetooth/multimedia-player.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M13,2.05V4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03V2.05M5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37L5.67,19.74M7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74M5.69,7.1L4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1M4.06,13H2.06C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13M10,16.5L16,12L10,7.5V16.5Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 800 B |
5
awesome/src/assets/icons/bluetooth/network-wireless.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 419 B |
5
awesome/src/assets/icons/bluetooth/phone.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 402 B |
5
awesome/src/assets/icons/bluetooth/power.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path d="M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 515 B |
5
awesome/src/assets/icons/bluetooth/printer.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 458 B |
3
awesome/src/assets/icons/bluetooth/refresh.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 294 B |
5
awesome/src/assets/icons/bluetooth/scanner.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M4.2,10.7L19.8,5L20.5,6.9L6.4,12H19A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7M17,17H19V15H17V17M5,17H15V15H5V17Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 456 B |
5
awesome/src/assets/icons/bluetooth/television.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 404 B |
1
awesome/src/assets/icons/bluetooth/trusted.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23,12L20.6,9.2L20.9,5.5L17.3,4.7L15.4,1.5L12,3L8.6,1.5L6.7,4.7L3.1,5.5L3.4,9.2L1,12L3.4,14.8L3.1,18.5L6.7,19.3L8.6,22.5L12,21L15.4,22.5L17.3,19.3L20.9,18.5L20.6,14.8L23,12M18.7,16.9L16,17.5L14.6,19.9L12,18.8L9.4,19.9L8,17.5L5.3,16.9L5.5,14.1L3.7,12L5.5,9.9L5.3,7.1L8,6.5L9.4,4.1L12,5.2L14.6,4.1L16,6.5L18.7,7.1L18.5,9.9L20.3,12L18.5,14.1L18.7,16.9M16.6,7.6L18,9L10,17L6,13L7.4,11.6L10,14.2L16.6,7.6Z" /></svg>
|
||||
|
After Width: | Height: | Size: 479 B |
1
awesome/src/assets/icons/bluetooth/untrusted.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12Z" /></svg>
|
||||
|
After Width: | Height: | Size: 471 B |
5
awesome/src/assets/icons/bluetooth/video-display.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 425 B |
5
awesome/src/assets/icons/bluetooth/watch.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="128" height="128" viewBox="0 0 24 24">
|
||||
<path d="M6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12M20,12C20,9.45 18.81,7.19 16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.45 4,12C4,14.54 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27C18.81,16.81 20,14.54 20,12Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 524 B |
1
awesome/src/assets/icons/calendar/add_ical.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3H18V1" /></svg>
|
||||
|
After Width: | Height: | Size: 201 B |
1
awesome/src/assets/icons/calendar/add_task.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z" /></svg>
|
||||
|
After Width: | Height: | Size: 120 B |