update
This commit is contained in:
parent
cbcc20d616
commit
3713a644eb
40 changed files with 625 additions and 1764 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule "awesome/.config/awesome/battery-widget"]
|
||||
path = awesome/.config/awesome/battery-widget
|
||||
url = https://github.com/deficient/battery-widget.git
|
|
@ -1,29 +0,0 @@
|
|||
font:
|
||||
normal:
|
||||
family: JuliaMono
|
||||
size: 10
|
||||
|
||||
#colors:
|
||||
# primary:
|
||||
# background: '0x151515'
|
||||
# foreground: '0xd7d0c7'
|
||||
#
|
||||
# normal:
|
||||
# black: '0x101010'
|
||||
# red: '0xe84f4f'
|
||||
# green: '0xb8d68c'
|
||||
# yellow: '0xe1aa5d'
|
||||
# blue: '0x7dc1cf'
|
||||
# magenta: '0x9b64fb'
|
||||
# cyan: '0x6d878d'
|
||||
# white: '0xdddddd'
|
||||
#
|
||||
# bright:
|
||||
# black: '0x404040'
|
||||
# red: '0xd23d3d'
|
||||
# green: '0xa0cf5d'
|
||||
# yellow: '0xf39d21'
|
||||
# blue: '0x4e9fb1'
|
||||
# magenta: '0x8542ff'
|
||||
# cyan: '0x42717b'
|
||||
# white: '0xdddddd'
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 25b7e94a34ed854697d61e3cbb0a3ebd9745dbd4
|
Binary file not shown.
Before Width: | Height: | Size: 2.1 MiB |
|
@ -1,603 +0,0 @@
|
|||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
local menubar = require("menubar")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors })
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function (err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then return end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err) })
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init(gears.filesystem.get_configuration_dir() .. "theme.lua")
|
||||
|
||||
-- battery widget
|
||||
local bat_widget = require("battery-widget")
|
||||
local BAT0 = bat_widget {
|
||||
adapter = "BAT0",
|
||||
ac = "AC",
|
||||
listen = true,
|
||||
widget_text=" [${AC_BAT}${color_on}${percent}%${color_off}]",
|
||||
widget_font="ttyp0 9"
|
||||
}
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "alacritty"
|
||||
editor = os.getenv("EDITOR") or "vi"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.tile.bottom,
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.magnifier,
|
||||
-- awful.layout.suit.tile.top,
|
||||
-- awful.layout.suit.spiral,
|
||||
-- awful.layout.suit.spiral.dwindle,
|
||||
-- awful.layout.suit.max.fullscreen,
|
||||
-- awful.layout.suit.fair.horizontal,
|
||||
-- awful.layout.suit.tile.left,
|
||||
-- awful.layout.suit.corner.nw,
|
||||
-- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a launcher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", function() awesome.quit() end },
|
||||
}
|
||||
|
||||
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||
{ "open terminal", terminal }
|
||||
}
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||
menu = mymainmenu })
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- Keyboard map indicator and switcher
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- {{{ Wibar
|
||||
-- Create a textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
local taglist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||
awful.button({ modkey }, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
|
||||
)
|
||||
|
||||
local tasklist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"tasklist",
|
||||
{raise = true}
|
||||
)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
awful.menu.client_list({ theme = { width = 250 } })
|
||||
end),
|
||||
awful.button({ }, 4, function ()
|
||||
awful.client.focus.byidx(1)
|
||||
end),
|
||||
awful.button({ }, 5, function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end))
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||
s.mylayoutbox:buttons(gears.table.join(
|
||||
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 3, function () awful.layout.inc(-1) end),
|
||||
awful.button({ }, 4, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = taglist_buttons
|
||||
}
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons
|
||||
}
|
||||
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({ position = "top", screen = s })
|
||||
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mylauncher,
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
s.mytasklist, -- Middle widget
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mykeyboardlayout,
|
||||
wibox.widget.systray(),
|
||||
BAT0,
|
||||
mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse bindings
|
||||
root.buttons(gears.table.join(
|
||||
awful.button({ }, 3, function () mymainmenu:toggle() end),
|
||||
awful.button({ }, 4, awful.tag.viewnext),
|
||||
awful.button({ }, 5, awful.tag.viewprev)
|
||||
))
|
||||
-- }}}
|
||||
|
||||
-- {{{ Key bindings
|
||||
globalkeys = gears.table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="show help", group="awesome"}),
|
||||
awful.key({ modkey, }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "tag"}),
|
||||
awful.key({ modkey, }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "tag"}),
|
||||
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "tag"}),
|
||||
|
||||
awful.key({ modkey, }, "j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{description = "focus next by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{description = "focus previous by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
|
||||
{description = "show main menu", group = "awesome"}),
|
||||
|
||||
-- Layout manipulation
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||
{description = "swap with next client by index", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||
{description = "swap with previous client by index", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
|
||||
{description = "focus the next screen", group = "screen"}),
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "focus the previous screen", group = "screen"}),
|
||||
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
|
||||
{description = "jump to urgent client", group = "client"}),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "client"}),
|
||||
|
||||
-- Standard program
|
||||
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "reload awesome", group = "awesome"}),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit,
|
||||
{description = "quit awesome", group = "awesome"}),
|
||||
|
||||
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "increase master width factor", group = "layout"}),
|
||||
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "decrease master width factor", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "increase the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "decrease the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "increase the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "decrease the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
|
||||
{description = "select next", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||
{description = "select previous", group = "layout"}),
|
||||
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:emit_signal(
|
||||
"request::activate", "key.unminimize", {raise = true}
|
||||
)
|
||||
end
|
||||
end,
|
||||
{description = "restore minimized", group = "client"}),
|
||||
|
||||
-- Prompt
|
||||
-- awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||
-- {description = "run prompt", group = "launcher"}),
|
||||
awful.key({ modkey }, "r", function() awful.spawn.with_shell("rofi -show combi") end,
|
||||
{ description = "rofi", group = "launcher" }),
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end,
|
||||
{description = "lua execute prompt", group = "awesome"}),
|
||||
-- Menubar
|
||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||
{description = "show the menubar", group = "launcher"}),
|
||||
|
||||
-- Screenshots
|
||||
awful.key({ modkey, "Mod1" }, "p", function() awful.spawn.with_shell("flameshot gui") end,
|
||||
{ description = "flameshot", group = "launcher" }),
|
||||
|
||||
-- Screen lock
|
||||
awful.key({ modkey }, "BackSpace", function() awful.spawn.with_shell("i3lock-fancy -p") end,
|
||||
{description = "Lock Screen", group = "awesome"})
|
||||
)
|
||||
|
||||
clientkeys = gears.table.join(
|
||||
awful.key({ modkey, }, "f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{description = "toggle fullscreen", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
|
||||
{description = "close", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
|
||||
{description = "toggle floating", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||
{description = "move to master", group = "client"}),
|
||||
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
|
||||
{description = "move to screen", group = "client"}),
|
||||
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||
{description = "toggle keep on top", group = "client"}),
|
||||
awful.key({ modkey, }, "n",
|
||||
function (c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end ,
|
||||
{description = "minimize", group = "client"}),
|
||||
awful.key({ modkey, }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize vertically", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize horizontally", group = "client"})
|
||||
)
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
awful.key({ modkey }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
{description = "view tag #"..i, group = "tag"}),
|
||||
-- Toggle tag display.
|
||||
awful.key({ modkey, "Control" }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
{description = "toggle tag #" .. i, group = "tag"}),
|
||||
-- Move client to tag.
|
||||
awful.key({ modkey, "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||
-- Toggle tag on focused client.
|
||||
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
)
|
||||
end
|
||||
|
||||
clientbuttons = 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)
|
||||
)
|
||||
|
||||
-- Set keys
|
||||
root.keys(globalkeys)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
properties = { border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = clientkeys,
|
||||
buttons = clientbuttons,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap+awful.placement.no_offscreen
|
||||
}
|
||||
},
|
||||
|
||||
-- Floating clients.
|
||||
{ rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry",
|
||||
},
|
||||
class = {
|
||||
"Arandr",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"MessageWin", -- kalarm.
|
||||
"Sxiv",
|
||||
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui",
|
||||
"veromix",
|
||||
"xtightvncviewer"},
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
}
|
||||
}, properties = { floating = true }},
|
||||
|
||||
-- Add titlebars to normal clients and dialogs
|
||||
{ rule_any = {type = { "normal", "dialog" }
|
||||
}, properties = { titlebars_enabled = false }
|
||||
},
|
||||
|
||||
{ rule = { class = "Firefox" },
|
||||
properties = { opacity = 1, maximized = false, floating = false } },
|
||||
|
||||
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||
-- { rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "2" } },
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function (c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup
|
||||
and not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
awful.titlebar(c) : setup {
|
||||
{ -- Left
|
||||
awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.floatingbutton (c),
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.stickybutton (c),
|
||||
awful.titlebar.widget.ontopbutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
end)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Autorun
|
||||
autorun = true;
|
||||
autorunApps = {
|
||||
"blueman-applet",
|
||||
"flameshot"
|
||||
}
|
||||
|
||||
if autorun then
|
||||
for app = 1, #autorunApps do
|
||||
awful.util.spawn(autorunApps[app])
|
||||
end
|
||||
end
|
||||
-- }}}
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
local theme_assets = require("beautiful.theme_assets")
|
||||
local xresources = require("beautiful.xresources")
|
||||
local dpi = xresources.apply_dpi
|
||||
|
||||
local gfs = require("gears.filesystem")
|
||||
local themes_path = gfs.get_themes_dir()
|
||||
local config_path = gfs.get_configuration_dir()
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.font = "ttyp0 9"
|
||||
|
||||
theme.bg_normal = "#222222"
|
||||
theme.bg_focus = "#535d6c"
|
||||
theme.bg_urgent = "#ff0000"
|
||||
theme.bg_minimize = "#444444"
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
theme.fg_normal = "#aaaaaa"
|
||||
theme.fg_focus = "#ffffff"
|
||||
theme.fg_urgent = "#ffffff"
|
||||
theme.fg_minimize = "#ffffff"
|
||||
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(2)
|
||||
theme.border_normal = "#404040"
|
||||
theme.border_focus = "#f39d21"
|
||||
theme.border_marked = "#91231c"
|
||||
|
||||
-- There are other variable sets
|
||||
-- overriding the default one when
|
||||
-- defined, the sets are:
|
||||
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
|
||||
-- tasklist_[bg|fg]_[focus|urgent]
|
||||
-- titlebar_[bg|fg]_[normal|focus]
|
||||
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
|
||||
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
|
||||
-- Example:
|
||||
--theme.taglist_bg_focus = "#ff0000"
|
||||
|
||||
-- Generate taglist squares:
|
||||
local taglist_square_size = dpi(4)
|
||||
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
|
||||
-- Variables set for theming notifications:
|
||||
-- notification_font
|
||||
-- notification_[bg|fg]
|
||||
-- notification_[width|height|margin]
|
||||
-- notification_[border_color|border_width|shape|opacity]
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = themes_path.."default/submenu.png"
|
||||
theme.menu_height = dpi(15)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- You can add as many variables as
|
||||
-- you wish and access them by using
|
||||
-- beautiful.variable in your rc.lua
|
||||
--theme.bg_widget = "#cc0000"
|
||||
|
||||
-- Define the image to load
|
||||
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
|
||||
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
|
||||
|
||||
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
|
||||
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
|
||||
|
||||
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
|
||||
|
||||
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
|
||||
|
||||
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
|
||||
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
|
||||
|
||||
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
|
||||
|
||||
theme.wallpaper = config_path.."bg.png"
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||
|
||||
-- Generate Awesome icon:
|
||||
theme.awesome_icon = theme_assets.awesome_icon(
|
||||
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||
)
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
volume_widget = widget({ type = "textbox", name = "tb_volume",
|
||||
align = "right" })
|
||||
|
||||
function update_volume(widget)
|
||||
local fd = io.popen("amixer sget Master")
|
||||
local status = fd:read("*all")
|
||||
fd:close()
|
||||
|
||||
local volume = tonumber(string.match(status, "(%d?%d?%d)%%")) / 100
|
||||
-- volume = string.format("% 3d", volume)
|
||||
|
||||
status = string.match(status, "%[(o[^%]]*)%]")
|
||||
|
||||
-- starting colour
|
||||
local sr, sg, sb = 0x3F, 0x3F, 0x3F
|
||||
-- ending colour
|
||||
local er, eg, eb = 0xDC, 0xDC, 0xCC
|
||||
|
||||
local ir = volume * (er - sr) + sr
|
||||
local ig = volume * (eg - sg) + sg
|
||||
local ib = volume * (eb - sb) + sb
|
||||
interpol_colour = string.format("%.2x%.2x%.2x", ir, ig, ib)
|
||||
if string.find(status, "on", 1, true) then
|
||||
volume = " <span background='#" .. interpol_colour .. "'> </span>"
|
||||
else
|
||||
volume = " <span color='red' background='#" .. interpol_colour .. "'> M </span>"
|
||||
end
|
||||
widget.text = volume
|
||||
end
|
||||
|
||||
update_volume(volume_widget)
|
||||
awful.hooks.timer.register(1, function () update_volume(volume_widget) end)
|
|
@ -1,224 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Chromium (dark)
|
||||
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
|
||||
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
|
||||
GenericName=Web Browser
|
||||
GenericName[ar]=متصفح الشبكة
|
||||
GenericName[bg]=Уеб браузър
|
||||
GenericName[ca]=Navegador web
|
||||
GenericName[cs]=WWW prohlížeč
|
||||
GenericName[da]=Browser
|
||||
GenericName[de]=Web-Browser
|
||||
GenericName[el]=Περιηγητής ιστού
|
||||
GenericName[en_GB]=Web Browser
|
||||
GenericName[es]=Navegador web
|
||||
GenericName[et]=Veebibrauser
|
||||
GenericName[fi]=WWW-selain
|
||||
GenericName[fr]=Navigateur Web
|
||||
GenericName[gu]=વેબ બ્રાઉઝર
|
||||
GenericName[he]=דפדפן אינטרנט
|
||||
GenericName[hi]=वेब ब्राउज़र
|
||||
GenericName[hu]=Webböngésző
|
||||
GenericName[it]=Browser Web
|
||||
GenericName[ja]=ウェブブラウザ
|
||||
GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
|
||||
GenericName[ko]=웹 브라우저
|
||||
GenericName[lt]=Žiniatinklio naršyklė
|
||||
GenericName[lv]=Tīmekļa pārlūks
|
||||
GenericName[ml]=വെബ് ബ്രൌസര്
|
||||
GenericName[mr]=वेब ब्राऊजर
|
||||
GenericName[nb]=Nettleser
|
||||
GenericName[nl]=Webbrowser
|
||||
GenericName[pl]=Przeglądarka WWW
|
||||
GenericName[pt]=Navegador Web
|
||||
GenericName[pt_BR]=Navegador da Internet
|
||||
GenericName[ro]=Navigator de Internet
|
||||
GenericName[ru]=Веб-браузер
|
||||
GenericName[sl]=Spletni brskalnik
|
||||
GenericName[sv]=Webbläsare
|
||||
GenericName[ta]=இணைய உலாவி
|
||||
GenericName[th]=เว็บเบราว์เซอร์
|
||||
GenericName[tr]=Web Tarayıcı
|
||||
GenericName[uk]=Навігатор Тенет
|
||||
GenericName[zh_CN]=网页浏览器
|
||||
GenericName[zh_HK]=網頁瀏覽器
|
||||
GenericName[zh_TW]=網頁瀏覽器
|
||||
# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
|
||||
GenericName[bn]=ওয়েব ব্রাউজার
|
||||
GenericName[fil]=Web Browser
|
||||
GenericName[hr]=Web preglednik
|
||||
GenericName[id]=Browser Web
|
||||
GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
|
||||
GenericName[sk]=WWW prehliadač
|
||||
GenericName[sr]=Интернет прегледник
|
||||
GenericName[te]=మహాతల అన్వేషి
|
||||
GenericName[vi]=Bộ duyệt Web
|
||||
# Gnome and KDE 3 uses Comment.
|
||||
Comment=Access the Internet
|
||||
Comment[ar]=الدخول إلى الإنترنت
|
||||
Comment[bg]=Достъп до интернет
|
||||
Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
|
||||
Comment[ca]=Accedeix a Internet
|
||||
Comment[cs]=Přístup k internetu
|
||||
Comment[da]=Få adgang til internettet
|
||||
Comment[de]=Internetzugriff
|
||||
Comment[el]=Πρόσβαση στο Διαδίκτυο
|
||||
Comment[en_GB]=Access the Internet
|
||||
Comment[es]=Accede a Internet.
|
||||
Comment[et]=Pääs Internetti
|
||||
Comment[fi]=Käytä internetiä
|
||||
Comment[fil]=I-access ang Internet
|
||||
Comment[fr]=Accéder à Internet
|
||||
Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
|
||||
Comment[he]=גישה אל האינטרנט
|
||||
Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
|
||||
Comment[hr]=Pristup Internetu
|
||||
Comment[hu]=Internetelérés
|
||||
Comment[id]=Akses Internet
|
||||
Comment[it]=Accesso a Internet
|
||||
Comment[ja]=インターネットにアクセス
|
||||
Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
|
||||
Comment[ko]=인터넷 연결
|
||||
Comment[lt]=Interneto prieiga
|
||||
Comment[lv]=Piekļūt internetam
|
||||
Comment[ml]=ഇന്റര്നെറ്റ് ആക്സസ് ചെയ്യുക
|
||||
Comment[mr]=इंटरनेटमध्ये प्रवेश करा
|
||||
Comment[nb]=Gå til Internett
|
||||
Comment[nl]=Verbinding maken met internet
|
||||
Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
|
||||
Comment[pl]=Skorzystaj z internetu
|
||||
Comment[pt]=Aceder à Internet
|
||||
Comment[pt_BR]=Acessar a internet
|
||||
Comment[ro]=Accesaţi Internetul
|
||||
Comment[ru]=Доступ в Интернет
|
||||
Comment[sk]=Prístup do siete Internet
|
||||
Comment[sl]=Dostop do interneta
|
||||
Comment[sr]=Приступите Интернету
|
||||
Comment[sv]=Gå ut på Internet
|
||||
Comment[ta]=இணையத்தை அணுகுதல்
|
||||
Comment[te]=ఇంటర్నెట్ను ఆక్సెస్ చెయ్యండి
|
||||
Comment[th]=เข้าถึงอินเทอร์เน็ต
|
||||
Comment[tr]=İnternet'e erişin
|
||||
Comment[uk]=Доступ до Інтернету
|
||||
Comment[vi]=Truy cập Internet
|
||||
Comment[zh_CN]=访问互联网
|
||||
Comment[zh_HK]=連線到網際網路
|
||||
Comment[zh_TW]=連線到網際網路
|
||||
Exec=/usr/bin/chromium-freeworld --force-dark-mode --enable-features=WebUIDarkMode %U
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Icon=chromium-freeworld
|
||||
Type=Application
|
||||
Categories=Network;WebBrowser;
|
||||
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/ftp;x-scheme-handler/http;x-scheme-handler/https;
|
||||
Actions=new-window;new-private-window;
|
||||
|
||||
X-Desktop-File-Install-Version=0.26
|
||||
|
||||
[Desktop Action new-window]
|
||||
Name=New Window
|
||||
Name[am]=አዲስ መስኮት
|
||||
Name[ar]=نافذة جديدة
|
||||
Name[bg]=Нов прозорец
|
||||
Name[bn]=নতুন উইন্ডো
|
||||
Name[ca]=Finestra nova
|
||||
Name[cs]=Nové okno
|
||||
Name[da]=Nyt vindue
|
||||
Name[de]=Neues Fenster
|
||||
Name[el]=Νέο Παράθυρο
|
||||
Name[en_GB]=New Window
|
||||
Name[es]=Nueva ventana
|
||||
Name[et]=Uus aken
|
||||
Name[fa]=پنجره جدید
|
||||
Name[fi]=Uusi ikkuna
|
||||
Name[fil]=New Window
|
||||
Name[fr]=Nouvelle fenêtre
|
||||
Name[gu]=નવી વિંડો
|
||||
Name[hi]=नई विंडो
|
||||
Name[hr]=Novi prozor
|
||||
Name[hu]=Új ablak
|
||||
Name[id]=Jendela Baru
|
||||
Name[it]=Nuova finestra
|
||||
Name[iw]=חלון חדש
|
||||
Name[ja]=新規ウインドウ
|
||||
Name[kn]=ಹೊಸ ವಿಂಡೊ
|
||||
Name[ko]=새 창
|
||||
Name[lt]=Naujas langas
|
||||
Name[lv]=Jauns logs
|
||||
Name[ml]=പുതിയ വിന്ഡോ
|
||||
Name[mr]=नवीन विंडो
|
||||
Name[nl]=Nieuw venster
|
||||
Name[no]=Nytt vindu
|
||||
Name[pl]=Nowe okno
|
||||
Name[pt]=Nova janela
|
||||
Name[pt_BR]=Nova janela
|
||||
Name[ro]=Fereastră nouă
|
||||
Name[ru]=Новое окно
|
||||
Name[sk]=Nové okno
|
||||
Name[sl]=Novo okno
|
||||
Name[sr]=Нови прозор
|
||||
Name[sv]=Nytt fönster
|
||||
Name[sw]=Dirisha Jipya
|
||||
Name[ta]=புதிய சாளரம்
|
||||
Name[te]=క్రొత్త విండో
|
||||
Name[th]=หน้าต่างใหม่
|
||||
Name[tr]=Yeni Pencere
|
||||
Name[uk]=Нове вікно
|
||||
Name[vi]=Cửa sổ Mới
|
||||
Name[zh_CN]=新建窗口
|
||||
Name[zh_TW]=開新視窗
|
||||
Exec=/usr/bin/chromium-freeworld --force-dark-mode --enable-features=WebUIDarkMode
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
Name=New Incognito Window
|
||||
Name[ar]=نافذة جديدة للتصفح المتخفي
|
||||
Name[bg]=Нов прозорец „инкогнито“
|
||||
Name[bn]=নতুন ছদ্মবেশী উইন্ডো
|
||||
Name[ca]=Finestra d'incògnit nova
|
||||
Name[cs]=Nové anonymní okno
|
||||
Name[da]=Nyt inkognitovindue
|
||||
Name[de]=Neues Inkognito-Fenster
|
||||
Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση
|
||||
Name[en_GB]=New Incognito window
|
||||
Name[es]=Nueva ventana de incógnito
|
||||
Name[et]=Uus inkognito aken
|
||||
Name[fa]=پنجره جدید حالت ناشناس
|
||||
Name[fi]=Uusi incognito-ikkuna
|
||||
Name[fil]=Bagong Incognito window
|
||||
Name[fr]=Nouvelle fenêtre de navigation privée
|
||||
Name[gu]=નવી છુપી વિંડો
|
||||
Name[hi]=नई गुप्त विंडो
|
||||
Name[hr]=Novi anoniman prozor
|
||||
Name[hu]=Új Inkognitóablak
|
||||
Name[id]=Jendela Penyamaran baru
|
||||
Name[it]=Nuova finestra di navigazione in incognito
|
||||
Name[iw]=חלון חדש לגלישה בסתר
|
||||
Name[ja]=新しいシークレット ウィンドウ
|
||||
Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ
|
||||
Name[ko]=새 시크릿 창
|
||||
Name[lt]=Naujas inkognito langas
|
||||
Name[lv]=Jauns inkognito režīma logs
|
||||
Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്ഡോ
|
||||
Name[mr]=नवीन गुप्त विंडो
|
||||
Name[nl]=Nieuw incognitovenster
|
||||
Name[no]=Nytt inkognitovindu
|
||||
Name[pl]=Nowe okno incognito
|
||||
Name[pt]=Nova janela de navegação anónima
|
||||
Name[pt_BR]=Nova janela anônima
|
||||
Name[ro]=Fereastră nouă incognito
|
||||
Name[ru]=Новое окно в режиме инкогнито
|
||||
Name[sk]=Nové okno inkognito
|
||||
Name[sl]=Novo okno brez beleženja zgodovine
|
||||
Name[sr]=Нови прозор за прегледање без архивирања
|
||||
Name[sv]=Nytt inkognitofönster
|
||||
Name[ta]=புதிய மறைநிலைச் சாளரம்
|
||||
Name[te]=క్రొత్త అజ్ఞాత విండో
|
||||
Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน
|
||||
Name[tr]=Yeni Gizli pencere
|
||||
Name[uk]=Нове вікно в режимі анонімного перегляду
|
||||
Name[vi]=Cửa sổ ẩn danh mới
|
||||
Name[zh_CN]=新建隐身窗口
|
||||
Name[zh_TW]=新增無痕式視窗
|
||||
Exec=/usr/bin/chromium-freeworld --incognito --force-dark-mode --enable-features=WebUIDarkMode
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"ExtensionInstallForcelist": [
|
||||
"pkehgijcmpdhfbdbbnkijodmdjhbjlgp",
|
||||
"ekhagklcjbdpajgpjgmbionohlpdbjgc",
|
||||
"nngceckbapebfimnlniiiahkandclblb",
|
||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm"
|
||||
],
|
||||
"BrowserSignin": 0,
|
||||
"SyncDisabled": true,
|
||||
"PasswordManagerEnabled": false,
|
||||
"TranslateEnabled": false,
|
||||
"AutofillAddressEnabled": false,
|
||||
"AutofillCreditCardEnabled": false,
|
||||
"AutoplayAllowed": false,
|
||||
"DefaultNotificationsSetting": 2,
|
||||
"BackgroundModeEnabled": false,
|
||||
"MediaRecommendationsEnabled": false,
|
||||
"DefaultSearchProviderEnabled": true,
|
||||
"DefaultSearchProviderSearchURL": "https://duckduckgo.com/?q={searchTerms}",
|
||||
"SearchSuggestEnable": false
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
[flake8]
|
||||
ignore = E221,E501,E203,E202,E272,E251,E211,E222,E701
|
||||
max-line-length = 160
|
||||
exclude = tests/*
|
||||
max-complexity = 10
|
23
foot/.config/foot/foot.ini
Normal file
23
foot/.config/foot/foot.ini
Normal file
|
@ -0,0 +1,23 @@
|
|||
font=Hack Nerd Font:pixelsize=12,Font Awesome 6 Free:pixelsize=12
|
||||
[cursor]
|
||||
color=000000 ffffff
|
||||
|
||||
[colors]
|
||||
foreground=dcdccc
|
||||
background=111111
|
||||
regular0=222222
|
||||
regular1=cc9393
|
||||
regular2=7f9f7f
|
||||
regular3=d0bf8f
|
||||
regular4=6ca0a3
|
||||
regular5=dc8cc3
|
||||
regular6=93e0e3
|
||||
regular7=dcdccc
|
||||
bright0=666666
|
||||
bright1=dca3a3
|
||||
bright2=bfebbf
|
||||
bright3=f0dfaf
|
||||
bright4=8cd0d3
|
||||
bright5=fcace3
|
||||
bright6=b3ffff
|
||||
bright7=ffffff
|
|
@ -11,12 +11,21 @@
|
|||
[credential]
|
||||
helper = cache --timeout 28800
|
||||
[alias]
|
||||
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||
diffw = diff --word-diff=color
|
||||
diffs = diff --stat
|
||||
diffstat = diff --stat
|
||||
diffw = diff --word-diff=color
|
||||
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||
br = branch
|
||||
ci = commit
|
||||
ciall = commit -a
|
||||
ciam = commit --amend
|
||||
co = checkout
|
||||
dic = diff --cached
|
||||
dif = diff
|
||||
s = status
|
||||
[pull]
|
||||
ff = only
|
||||
[init]
|
||||
defaultBranch = main
|
||||
defaultBranch = master
|
||||
[safe]
|
||||
directory = /etc/nixos
|
||||
|
|
2
lsd/.config/lsd/config.yaml
Normal file
2
lsd/.config/lsd/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
icons:
|
||||
when: auto
|
1
mail/.config/msmtp/.gitignore
vendored
Normal file
1
mail/.config/msmtp/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
msmtp.log
|
33
mail/.config/msmtp/config
Normal file
33
mail/.config/msmtp/config
Normal file
|
@ -0,0 +1,33 @@
|
|||
account mail@oxapentane.com
|
||||
host smtp.migadu.com
|
||||
port 587
|
||||
from *@oxapentane.com
|
||||
user mail@oxapentane.com
|
||||
passwordeval "pass mail@oxapentane.com"
|
||||
auth on
|
||||
tls on
|
||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||
logfile /home/grue/.config/msmtp/msmtp.log
|
||||
|
||||
account grigory@shipunov.xyz
|
||||
host smtp.migadu.com
|
||||
port 587
|
||||
from *@shipunov.xyz
|
||||
user grigory@shipunov.xyz
|
||||
passwordeval "pass grigory@shipunov.xyz"
|
||||
auth on
|
||||
tls on
|
||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||
logfile /home/grue/.config/msmtp/msmtp.log
|
||||
|
||||
account dump@dvb.solutions
|
||||
host smtp.migadu.com
|
||||
port 587
|
||||
from dump@dvb.solutions
|
||||
user dump@dvb.solutions
|
||||
passwordeval "pass dump@dvb.solutions"
|
||||
auth on
|
||||
tls on
|
||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||
logfile /home/grue/.config/msmtp/msmtp.log
|
||||
|
51
mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc
Normal file
51
mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc
Normal file
|
@ -0,0 +1,51 @@
|
|||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account mail@oxapentane.com
|
||||
set realname = "0xA"
|
||||
set from = "mail@oxapentane.com"
|
||||
alternates "@oxapentane\.com$"
|
||||
set reverse_name
|
||||
set sendmail = "msmtp -a mail@oxapentane.com"
|
||||
alias me 0xA <mail@oxapentane.com>
|
||||
set folder = "~/mail/mail@oxapentane.com"
|
||||
set header_cache = ~/mail/mail@oxapentane.com/headers
|
||||
set message_cachedir = ~/mail/mail@oxapentane.com/bodies
|
||||
set mbox_type = Maildir
|
||||
|
||||
|
||||
bind index,pager gg noop
|
||||
bind index,pager g noop
|
||||
bind index,pager M noop
|
||||
bind index,pager C noop
|
||||
bind index gg first-entry
|
||||
unmailboxes *
|
||||
unalternates *
|
||||
unset signature
|
||||
unmacro index o
|
||||
macro index o "<shell-escape>mbsync mail@oxapentane.com<enter>" "run mbsync to sync mail@oxapentane.com"
|
||||
|
||||
mailboxes "=Archive" "=Drafts" "=flipper" "=funk24" "=hackint" "=hkinv" "=INBOX" "=juliaacademy" "=Junk" "=kickstarter" "=leanpub" "=meduza" "=mercht" "=misc" "=monster" "=nplus1" "=nytimes" "=online-go" "=openweathermap" "=ovdinfo" "=quantumcountry" "=rocky" "=rockylinux" "=Sent" "=sinkhole" "=teepublic" "=Templates" "=threadless" "=Trash" "=vodafone" "=vultr" "=xakep" "=zotero-sync"
|
||||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
|
||||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
|
||||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
|
||||
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
|
||||
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
|
||||
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
|
||||
set spoolfile = "+INBOX"
|
||||
macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
|
||||
macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
|
||||
macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
|
||||
set postponed = "+Drafts"
|
||||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
|
||||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
|
||||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
|
||||
set record = "+Sent"
|
||||
macro index,pager gS "<change-folder>=Sent<enter>" "go to sent"
|
||||
macro index,pager MS ";<save-message>=Sent<enter>" "move mail to sent"
|
||||
macro index,pager CS ";<copy-message>=Sent<enter>" "copy mail to sent"
|
||||
macro index,pager gs "<change-folder>=sinkhole<enter>" "go to sinkhole"
|
||||
macro index,pager Ms ";<save-message>=sinkhole<enter>" "move mail to sinkhole"
|
||||
macro index,pager Cs ";<copy-message>=sinkhole<enter>" "copy mail to sinkhole"
|
||||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
|
||||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
|
||||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
|
||||
set trash = "+Trash"
|
46
mail/.config/neomutt/accounts/2-grigory@shipunov.xyz.muttrc
Normal file
46
mail/.config/neomutt/accounts/2-grigory@shipunov.xyz.muttrc
Normal file
|
@ -0,0 +1,46 @@
|
|||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account grigory@shipunov.xyz
|
||||
set realname = "Grigory Shipunov"
|
||||
set from = "grigory@shipunov.xyz"
|
||||
set sendmail = "msmtp -a grigory@shipunov.xyz"
|
||||
alias me Grigory Shipunov <grigory@shipunov.xyz>
|
||||
set folder = "~/mail/grigory@shipunov.xyz"
|
||||
set header_cache = ~/mail/grigory@shipunov.xyz/headers
|
||||
set message_cachedir = ~/mail/grigory@shipunov.xyz/bodies
|
||||
set mbox_type = Maildir
|
||||
|
||||
|
||||
bind index,pager gg noop
|
||||
bind index,pager g noop
|
||||
bind index,pager M noop
|
||||
bind index,pager C noop
|
||||
bind index gg first-entry
|
||||
unmailboxes *
|
||||
unalternates *
|
||||
unset signature
|
||||
unmacro index o
|
||||
macro index o "<shell-escape>mbsync grigory@shipunov.xyz<enter>" "run mbsync to sync grigory@shipunov.xyz"
|
||||
|
||||
mailboxes "=Junk" "=Trash" "=Archive" "=Drafts" "=Sent" "=INBOX"
|
||||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
|
||||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
|
||||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
|
||||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
|
||||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
|
||||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
|
||||
set trash = "+Trash"
|
||||
macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
|
||||
macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
|
||||
macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
|
||||
set postponed = "+Drafts"
|
||||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
|
||||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
|
||||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
|
||||
set record = "+Sent"
|
||||
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
|
||||
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
|
||||
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
|
||||
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
|
||||
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
|
||||
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
|
||||
set spoolfile = "+INBOX"
|
46
mail/.config/neomutt/accounts/3-dump@dvb.solutions.muttrc
Normal file
46
mail/.config/neomutt/accounts/3-dump@dvb.solutions.muttrc
Normal file
|
@ -0,0 +1,46 @@
|
|||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account dump@dvb.solutions
|
||||
set realname = "dump"
|
||||
set from = "dump@dvb.solutions"
|
||||
set sendmail = "msmtp -a dump@dvb.solutions"
|
||||
alias me dump <dump@dvb.solutions>
|
||||
set folder = "~/mail/dump@dvb.solutions"
|
||||
set header_cache = ~/dump@dvb.solutions/headers
|
||||
set message_cachedir = ~/dump@dvb.solutions/bodies
|
||||
set mbox_type = Maildir
|
||||
|
||||
|
||||
bind index,pager gg noop
|
||||
bind index,pager g noop
|
||||
bind index,pager M noop
|
||||
bind index,pager C noop
|
||||
bind index gg first-entry
|
||||
unmailboxes *
|
||||
unalternates *
|
||||
unset signature
|
||||
unmacro index o
|
||||
macro index o "<shell-escape>mbsync dump@dvb.solutions<enter>" "run mbsync to sync dump@dvb.solutions"
|
||||
|
||||
mailboxes "=Sent" "=Drafts" "=Archive" "=Trash" "=Junk" "=INBOX"
|
||||
set record = "+Sent"
|
||||
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
|
||||
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
|
||||
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
|
||||
set postponed = "+Drafts"
|
||||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
|
||||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
|
||||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
|
||||
macro index,pager ga "<change-folder>=Archive<enter>" "go to archive"
|
||||
macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
|
||||
macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
|
||||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
|
||||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
|
||||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
|
||||
set trash = "+Trash"
|
||||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk"
|
||||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
|
||||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
|
||||
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
|
||||
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
|
||||
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
|
||||
set spoolfile = "+INBOX"
|
161
mail/.config/neomutt/defaults.muttrc
Normal file
161
mail/.config/neomutt/defaults.muttrc
Normal file
|
@ -0,0 +1,161 @@
|
|||
set mailcap_path = ~/.config/neomutt/mailcap:$mailcap_path
|
||||
set mime_type_query_command = "file --mime-type -b %s"
|
||||
set date_format="%y-%m-%d %H:%M"
|
||||
set index_format="%2C %Z %?X?A& ? %D %-25.25F %s (%-4.4c)"
|
||||
#set index_format= "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
|
||||
set edit_headers = yes
|
||||
set use_threads = 'threads'
|
||||
set sort = 'reverse-last-date'
|
||||
set smtp_authenticators = 'gssapi:login'
|
||||
set query_command = "abook --mutt-query '%s'"
|
||||
set rfc2047_parameters = yes
|
||||
set sleep_time = 0 # Pause 0 seconds for informational messages
|
||||
set markers = no # Disables the `+` displayed at line wraps
|
||||
set mark_old = no # Unread mail stay unread until read
|
||||
set mime_forward = yes # attachments are forwarded with mail
|
||||
set wait_key = no # mutt won't ask "press key to continue"
|
||||
set fast_reply # skip to compose when replying
|
||||
set fcc_attach # save attachments with the body
|
||||
set forward_format = "Fwd: %s" # format of subject when forwarding
|
||||
set forward_quote # include message in forwards
|
||||
set reverse_name # reply as whomever it was to
|
||||
set include # include message in replies
|
||||
set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example)
|
||||
auto_view text/html # automatically show html (mailcap uses lynx)
|
||||
auto_view application/pgp-encrypted
|
||||
#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages.
|
||||
alternative_order text/plain text/enriched text/html
|
||||
bind index,pager i noop
|
||||
bind index,pager g noop
|
||||
bind index \Cf noop
|
||||
|
||||
# General rebindings
|
||||
bind index j next-entry
|
||||
bind index k previous-entry
|
||||
bind attach <return> view-mailcap
|
||||
bind attach l view-mailcap
|
||||
bind editor <space> noop
|
||||
bind index G last-entry
|
||||
bind index gg first-entry
|
||||
bind pager,attach h exit
|
||||
bind pager j next-line
|
||||
bind pager k previous-line
|
||||
bind pager l view-attachments
|
||||
bind index D delete-message
|
||||
bind index U undelete-message
|
||||
bind index L limit
|
||||
bind index h noop
|
||||
bind index l display-message
|
||||
bind index,query <space> tag-entry
|
||||
#bind browser h goto-parent
|
||||
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
|
||||
bind index,pager H view-raw-message
|
||||
bind browser l select-entry
|
||||
bind pager,browser gg top-page
|
||||
bind pager,browser G bottom-page
|
||||
bind index,pager,browser d half-down
|
||||
bind index,pager,browser u half-up
|
||||
bind index,pager S sync-mailbox
|
||||
bind index,pager R group-reply
|
||||
bind index \031 previous-undeleted # Mouse wheel
|
||||
bind index \005 next-undeleted # Mouse wheel
|
||||
bind pager \031 previous-line # Mouse wheel
|
||||
bind pager \005 next-line # Mouse wheel
|
||||
bind editor <Tab> complete-query
|
||||
|
||||
#set crypt_autosign = yes
|
||||
#set crypt_opportunistic_encrypt = yes
|
||||
#set pgp_self_encrypt = yes
|
||||
#set pgp_default_key = 'your@gpgemailaddre.ss'
|
||||
|
||||
macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
|
||||
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||
macro index O "<shell-escape>mbsync -a<enter>" "refresh all mail"
|
||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
||||
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||
|
||||
# Sidebar mappings
|
||||
set sidebar_visible = no
|
||||
set sidebar_width = 20
|
||||
set sidebar_short_path = yes
|
||||
set sidebar_next_new_wrap = yes
|
||||
set mail_check_stats
|
||||
set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
||||
bind index,pager \Ck sidebar-prev
|
||||
bind index,pager \Cj sidebar-next
|
||||
bind index,pager \Co sidebar-open
|
||||
bind index,pager \Cp sidebar-prev-new
|
||||
bind index,pager \Cn sidebar-next-new
|
||||
bind index,pager B sidebar-toggle-visible
|
||||
|
||||
# Default index colors:
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# New mail is boldened:
|
||||
color index brightyellow black "~N"
|
||||
color index_author brightred black "~N"
|
||||
color index_subject brightcyan black "~N"
|
||||
|
||||
# Tagged mail is highlighted:
|
||||
color index brightyellow blue "~T"
|
||||
color index_author brightred blue "~T"
|
||||
color index_subject brightcyan blue "~T"
|
||||
|
||||
# Other colors and aesthetic settings:
|
||||
mono bold bold
|
||||
mono underline underline
|
||||
mono indicator reverse
|
||||
mono error bold
|
||||
color normal default default
|
||||
color indicator brightblack white
|
||||
color sidebar_highlight red default
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged red black
|
||||
color sidebar_new green black
|
||||
color normal brightyellow default
|
||||
color error red default
|
||||
color tilde black default
|
||||
color message cyan default
|
||||
color markers red white
|
||||
color attachment white default
|
||||
color search brightmagenta default
|
||||
color status brightyellow black
|
||||
color hdrdefault brightgreen default
|
||||
color quoted green default
|
||||
color quoted1 blue default
|
||||
color quoted2 cyan default
|
||||
color quoted3 yellow default
|
||||
color quoted4 red default
|
||||
color quoted5 brightred default
|
||||
color signature brightgreen default
|
||||
color bold black default
|
||||
color underline black default
|
||||
color normal default default
|
||||
|
||||
# Regex highlighting:
|
||||
color header blue default ".*"
|
||||
color header brightmagenta default "^(From)"
|
||||
color header brightcyan default "^(Subject)"
|
||||
color header brightwhite default "^(CC|BCC)"
|
||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||
color body brightblue default "^# \.*" # Headings as bold blue
|
||||
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||
color body brightcyan default "[;:][)(|]" # emoticons
|
||||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||
color body red default "(BAD signature)"
|
||||
color body cyan default "(Good signature)"
|
||||
color body brightblack default "^gpg: Good signature .*"
|
||||
color body brightyellow default "^gpg: "
|
||||
color body brightyellow red "^gpg: BAD signature from.*"
|
||||
mono body bold "^gpg: Good signature"
|
||||
mono body bold "^gpg: BAD signature from.*"
|
||||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
8
mail/.config/neomutt/mailcap
Normal file
8
mail/.config/neomutt/mailcap
Normal file
|
@ -0,0 +1,8 @@
|
|||
text/plain; $EDITOR %s ;
|
||||
text/html; w3m -I %{charset} -T text/html; copiousoutput;
|
||||
image/*; feh %s ;
|
||||
video/*; setsid mpv --quiet %s &; copiousoutput
|
||||
audio/*; mpv %s ;
|
||||
application/pdf; zathura %s ;
|
||||
application/pgp-encrypted; gpg -d '%s'; copiousoutput;
|
||||
application/pgp-keys; gpg --import '%s'; copiousoutput;
|
6
mail/.config/neomutt/neomuttrc
Normal file
6
mail/.config/neomutt/neomuttrc
Normal file
|
@ -0,0 +1,6 @@
|
|||
# vim: filetype=neomuttrc
|
||||
source ./defaults.muttrc
|
||||
source ./accounts/1-mail@oxapentane.com.muttrc
|
||||
macro index,pager i1 '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to mail@oxapentane.com"
|
||||
macro index,pager i2 '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/2-grigory@shipunov.xyz.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to grigory@shipunov.xyz"
|
||||
macro index,pager i3 '<sync-mailbox><enter-command>source ~/.config/neomutt/accounts/3-dump@dvb.solutions.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to dump@dvb.solutions"
|
74
mail/.mbsyncrc
Normal file
74
mail/.mbsyncrc
Normal file
|
@ -0,0 +1,74 @@
|
|||
IMAPStore mail@oxapentane.com-remote
|
||||
Host imap.migadu.com
|
||||
Port 993
|
||||
User mail@oxapentane.com
|
||||
PassCmd "pass mail@oxapentane.com"
|
||||
AuthMechs LOGIN
|
||||
SSLType IMAPS
|
||||
|
||||
MaildirStore mail@oxapentane.com-local
|
||||
Subfolders Verbatim
|
||||
Path /home/grue/mail/mail@oxapentane.com/
|
||||
Inbox /home/grue/mail/mail@oxapentane.com/INBOX
|
||||
|
||||
Channel mail@oxapentane.com
|
||||
Expunge Both
|
||||
Master :mail@oxapentane.com-remote:
|
||||
Slave :mail@oxapentane.com-local:
|
||||
Create Both
|
||||
SyncState *
|
||||
Patterns *
|
||||
MaxMessages 0
|
||||
ExpireUnread no
|
||||
# End profile
|
||||
|
||||
|
||||
IMAPStore grigory@shipunov.xyz-remote
|
||||
Host imap.migadu.com
|
||||
Port 993
|
||||
User grigory@shipunov.xyz
|
||||
PassCmd "pass grigory@shipunov.xyz"
|
||||
AuthMechs LOGIN
|
||||
SSLType IMAPS
|
||||
|
||||
MaildirStore grigory@shipunov.xyz-local
|
||||
Subfolders Verbatim
|
||||
Path /home/grue/mail/grigory@shipunov.xyz/
|
||||
Inbox /home/grue/mail/grigory@shipunov.xyz/INBOX
|
||||
|
||||
Channel grigory@shipunov.xyz
|
||||
Expunge Both
|
||||
Master :grigory@shipunov.xyz-remote:
|
||||
Slave :grigory@shipunov.xyz-local:
|
||||
Create Both
|
||||
SyncState *
|
||||
Patterns *
|
||||
MaxMessages 0
|
||||
ExpireUnread no
|
||||
# End profile
|
||||
|
||||
|
||||
IMAPStore dump@dvb.solutions-remote
|
||||
Host imap.migadu.com
|
||||
Port 993
|
||||
User dump@dvb.solutions
|
||||
PassCmd "pass dump@dvb.solutions"
|
||||
AuthMechs LOGIN
|
||||
SSLType IMAPS
|
||||
|
||||
MaildirStore dump@dvb.solutions-local
|
||||
Subfolders Verbatim
|
||||
Path /home/grue/mail/dump@dvb.solutions/
|
||||
Inbox /home/grue/mail/dump@dvb.solutions/INBOX
|
||||
|
||||
Channel dump@dvb.solutions
|
||||
Expunge Both
|
||||
Master :dump@dvb.solutions-remote:
|
||||
Slave :dump@dvb.solutions-local:
|
||||
Create Both
|
||||
SyncState *
|
||||
Patterns *
|
||||
MaxMessages 0
|
||||
ExpireUnread no
|
||||
# End profile
|
||||
|
14
mail/.notmuch-config
Normal file
14
mail/.notmuch-config
Normal file
|
@ -0,0 +1,14 @@
|
|||
[database]
|
||||
path=/home/grue/mail
|
||||
[user]
|
||||
name=mail
|
||||
primary_email=mail@oxapentane.com
|
||||
[new]
|
||||
tags=unread;inbox;
|
||||
ignore=.mbsyncstate;.uidvalidity
|
||||
[search]
|
||||
exclude_tags=deleted;spam;
|
||||
[maildir]
|
||||
synchronize_flags=true
|
||||
[crypto]
|
||||
gpg_path=gpg
|
1
mail/.password-store/.gpg-id
Normal file
1
mail/.password-store/.gpg-id
Normal file
|
@ -0,0 +1 @@
|
|||
mail@oxapentane.com
|
BIN
mail/.password-store/dump@dvb.solutions.gpg
Normal file
BIN
mail/.password-store/dump@dvb.solutions.gpg
Normal file
Binary file not shown.
BIN
mail/.password-store/grigory@shipunov.xyz.gpg
Normal file
BIN
mail/.password-store/grigory@shipunov.xyz.gpg
Normal file
Binary file not shown.
2
mail/.password-store/mail@oxapentane.com.gpg
Normal file
2
mail/.password-store/mail@oxapentane.com.gpg
Normal file
|
@ -0,0 +1,2 @@
|
|||
…¼Ô8¬3¤;þ,õÉ`ØýÑŽW+OÌý<C38C>a”+R}>aüñeå +äŒÎ~|Ûƒ^•A<E280A2> qCw˵€•òYJ²öP.@éW;?Òm2“wt$Icý±ÜhgçF½‘Éf*y¡d—?¤Í”AnßDXpQ‚ Z<>O[hÆ>øµ8AÖg(«hûl7.©¸%³|åMœ¡–A~ŽªjÏUÚkb`;<3B>b{ê‚¢¯»*åe¹KqU¢+B<> ´ß>X‚{MFˆ=VÌ‚6P:d€)W¶†@¹öpè'8¤åÝ"Rá‹7«M‹Ž_RÎf©åRm!(%NWp¿1¿ç¯V¦cN¬•º×p“7ÚKÍ É'}8·¨›Ž'Ê<>W2øÝiQ
|
||||
[ôΘ3vɼB[”Ve‚^Êvê&"ƒ>
~+¾CÒ–ÙUôOã|Ûš¡<ÞÞòüÂDÕ,áúëótò ˜Á°¸U"4‹çëjÑØÅÍ"Ñ?¨<oEIÖä=»ìË´õ%ªkIµŽþ…’EÞ6XÒQïlõìÕìBa²@è.‡a?pèÞä ¹#««ÓüÓ<>úÂh~´ÿ» ÈÃ9<C383>Øñ^ùõ¹Ì¡â¿“-˜è|.GßÙÚ&\×<>gZ³›ûÎ2{º²oÈEÓWÆ“‚ÃH<C383>Ã?“Ž e¢m]nÓrËAA¡}'ÒLˆEPtIbBÉ;¸Cñ¨EÚòÂ*U?ŽãN¯Ýˆƒ®‘ï ›g2Îz>Úü®¿°á§Ì?kÓŽ°+2ºÑ¾MŠ5KÑœË
|
|
@ -1 +1 @@
|
|||
font=ttyp0 11
|
||||
font=Hack 9
|
||||
|
|
Binary file not shown.
|
@ -1,20 +0,0 @@
|
|||
# Identity
|
||||
set real_name = "Grigory Shipunov"
|
||||
set from = "mail@oxapentane.com"
|
||||
alternates "@oxapentane\.com$"
|
||||
set reverse_name
|
||||
|
||||
# look and feel
|
||||
set sort = threads
|
||||
|
||||
# TODO: Local mail
|
||||
|
||||
# oxapentane.com
|
||||
|
||||
set imap_user = "mail@oxapentane.com"
|
||||
set imap_pass = "`gpg --batch -q --decrypt ~/.config/neomutt/account.gpg`"
|
||||
|
||||
set folder = imaps://imap.migadu.com/
|
||||
set spool_file = "+INBOX"
|
||||
set mail_check = 60
|
||||
|
|
@ -20,24 +20,23 @@ Plug 'vim-pandoc/vim-pandoc'
|
|||
Plug 'vim-pandoc/vim-pandoc-syntax'
|
||||
Plug 'vim-pandoc/vim-rmarkdown'
|
||||
Plug 'lepture/vim-jinja'
|
||||
Plug 'neomutt/neomutt.vim'
|
||||
|
||||
" Slimey stuff
|
||||
Plug 'kassio/neoterm'
|
||||
|
||||
" lsp
|
||||
" Plug 'neovim/nvim-lspconfig'
|
||||
" Plug 'ms-jpq/coq_nvim'
|
||||
|
||||
" pretty bits
|
||||
Plug 'jeffkreeftmeijer/vim-dim'
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
Plug 'luochen1990/rainbow'
|
||||
|
||||
" Git
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'airblade/vim-gitgutter'
|
||||
|
||||
" completion
|
||||
Plug 'Shougo/deoplete.nvim'
|
||||
Plug 'junegunn/fzf'
|
||||
Plug 'junegunn/fzf.vim'
|
||||
|
||||
call plug#end()
|
||||
|
||||
|
@ -46,8 +45,8 @@ autocmd BufRead,BufNewFile *.nasm set filetype=nasm
|
|||
|
||||
" Theme
|
||||
colorscheme dim
|
||||
let g:airline_theme='monochrome'
|
||||
let g:rainbow_active = 1
|
||||
|
||||
let g:rainbow_active = 1 " rainbow delimiters
|
||||
|
||||
" langmap russian
|
||||
set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz
|
||||
|
@ -117,6 +116,9 @@ set wildmode=longest:full,list:full
|
|||
|
||||
" U is quite useless
|
||||
nnoremap U :echo "NOPE!"<CR>
|
||||
" help is quite annoying when you miss esc
|
||||
map <F1> <Esc>
|
||||
imap <F1> <Esc>
|
||||
|
||||
" do not conceal stuff
|
||||
set conceallevel=0
|
||||
|
@ -138,5 +140,14 @@ vnoremap <leader><cr> :TREPLSendSelection<cr>
|
|||
|
||||
" lsp (in lua), and completion
|
||||
"lua require('lsp-config')
|
||||
|
||||
" Whitespace highlight
|
||||
highlight RedundantSpaces ctermbg=red guibg=red
|
||||
match RedundantSpaces /\s\+$/
|
||||
|
||||
" fzf
|
||||
nmap <leader>f :Files<cr>
|
||||
nmap <leader>b :Buffers<cr>
|
||||
|
||||
" set terminal title
|
||||
set title
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
local lsp = require('lspconfig')
|
||||
local coq = require('coq')
|
||||
|
||||
lsp.texlab.setup{}
|
||||
lsp.texlab.setup(coq.lsp_ensure_capabilities{})
|
||||
lsp.pylsp.setup{}
|
||||
lsp.pylsp.setup(coq.lsp_ensure_capabilities{})
|
||||
|
||||
vim.g.coq_settings = {
|
||||
auto_start = 'shut-up',
|
||||
}
|
||||
|
|
@ -1,589 +0,0 @@
|
|||
[MASTER]
|
||||
|
||||
# A comma-separated list of package or module names from where C extensions may
|
||||
# be loaded. Extensions are loading into the active Python interpreter and may
|
||||
# run arbitrary code.
|
||||
extension-pkg-whitelist=
|
||||
|
||||
# Add files or directories to the blacklist. They should be base names, not
|
||||
# paths.
|
||||
ignore=CVS
|
||||
|
||||
# Add files or directories matching the regex patterns to the blacklist. The
|
||||
# regex matches against base names, not paths.
|
||||
ignore-patterns=
|
||||
|
||||
# Python code to execute, usually for sys.path manipulation such as
|
||||
# pygtk.require().
|
||||
#init-hook=
|
||||
|
||||
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
|
||||
# number of processors available to use.
|
||||
jobs=2
|
||||
|
||||
# Control the amount of potential inferred values when inferring a single
|
||||
# object. This can help the performance when dealing with large functions or
|
||||
# complex, nested conditions.
|
||||
limit-inference-results=100
|
||||
|
||||
# List of plugins (as comma separated values of python module names) to load,
|
||||
# usually to register additional checkers.
|
||||
load-plugins=
|
||||
|
||||
# Pickle collected data for later comparisons.
|
||||
persistent=yes
|
||||
|
||||
# Specify a configuration file.
|
||||
#rcfile=
|
||||
|
||||
# When enabled, pylint would attempt to guess common misconfiguration and emit
|
||||
# user-friendly hints instead of false-positive error messages.
|
||||
suggestion-mode=yes
|
||||
|
||||
# Allow loading of arbitrary C extensions. Extensions are imported into the
|
||||
# active Python interpreter and may run arbitrary code.
|
||||
unsafe-load-any-extension=no
|
||||
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
# Only show warnings with the listed confidence levels. Leave empty to show
|
||||
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
|
||||
confidence=
|
||||
|
||||
# Disable the message, report, category or checker with the given id(s). You
|
||||
# can either give multiple identifiers separated by comma (,) or put this
|
||||
# option multiple times (only on the command line, not in the configuration
|
||||
# file where it should appear only once). You can also use "--disable=all" to
|
||||
# disable everything first and then reenable specific checks. For example, if
|
||||
# you want to run only the similarities checker, you can use "--disable=all
|
||||
# --enable=similarities". If you want to run only the classes checker, but have
|
||||
# no Warning level messages displayed, use "--disable=all --enable=classes
|
||||
# --disable=W".
|
||||
disable=print-statement,
|
||||
parameter-unpacking,
|
||||
unpacking-in-except,
|
||||
old-raise-syntax,
|
||||
backtick,
|
||||
long-suffix,
|
||||
old-ne-operator,
|
||||
old-octal-literal,
|
||||
import-star-module-level,
|
||||
non-ascii-bytes-literal,
|
||||
raw-checker-failed,
|
||||
bad-inline-option,
|
||||
locally-disabled,
|
||||
file-ignored,
|
||||
suppressed-message,
|
||||
useless-suppression,
|
||||
deprecated-pragma,
|
||||
use-symbolic-message-instead,
|
||||
apply-builtin,
|
||||
basestring-builtin,
|
||||
buffer-builtin,
|
||||
cmp-builtin,
|
||||
coerce-builtin,
|
||||
execfile-builtin,
|
||||
file-builtin,
|
||||
long-builtin,
|
||||
raw_input-builtin,
|
||||
reduce-builtin,
|
||||
standarderror-builtin,
|
||||
unicode-builtin,
|
||||
xrange-builtin,
|
||||
coerce-method,
|
||||
delslice-method,
|
||||
getslice-method,
|
||||
setslice-method,
|
||||
no-absolute-import,
|
||||
old-division,
|
||||
dict-iter-method,
|
||||
dict-view-method,
|
||||
next-method-called,
|
||||
metaclass-assignment,
|
||||
indexing-exception,
|
||||
raising-string,
|
||||
reload-builtin,
|
||||
oct-method,
|
||||
hex-method,
|
||||
nonzero-method,
|
||||
cmp-method,
|
||||
input-builtin,
|
||||
round-builtin,
|
||||
intern-builtin,
|
||||
unichr-builtin,
|
||||
map-builtin-not-iterating,
|
||||
zip-builtin-not-iterating,
|
||||
range-builtin-not-iterating,
|
||||
filter-builtin-not-iterating,
|
||||
using-cmp-argument,
|
||||
eq-without-hash,
|
||||
div-method,
|
||||
idiv-method,
|
||||
rdiv-method,
|
||||
exception-message-attribute,
|
||||
invalid-str-codec,
|
||||
sys-max-int,
|
||||
bad-python3-import,
|
||||
deprecated-string-function,
|
||||
deprecated-str-translate-call,
|
||||
deprecated-itertools-function,
|
||||
deprecated-types-field,
|
||||
next-method-defined,
|
||||
dict-items-not-iterating,
|
||||
dict-keys-not-iterating,
|
||||
dict-values-not-iterating,
|
||||
deprecated-operator-function,
|
||||
deprecated-urllib-function,
|
||||
xreadlines-attribute,
|
||||
deprecated-sys-function,
|
||||
exception-escape,
|
||||
comprehension-escape,
|
||||
invalid-name
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
# multiple time (only on the command line, not in the configuration file where
|
||||
# it should appear only once). See also the "--disable" option for examples.
|
||||
enable=c-extension-no-member
|
||||
|
||||
|
||||
[REPORTS]
|
||||
|
||||
# Python expression which should return a score less than or equal to 10. You
|
||||
# have access to the variables 'error', 'warning', 'refactor', and 'convention'
|
||||
# which contain the number of messages in each category, as well as 'statement'
|
||||
# which is the total number of statements analyzed. This score is used by the
|
||||
# global evaluation report (RP0004).
|
||||
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
|
||||
|
||||
# Template used to display messages. This is a python new-style format string
|
||||
# used to format the message information. See doc for all details.
|
||||
#msg-template=
|
||||
|
||||
# Set the output format. Available formats are text, parseable, colorized, json
|
||||
# and msvs (visual studio). You can also give a reporter class, e.g.
|
||||
# mypackage.mymodule.MyReporterClass.
|
||||
output-format=text
|
||||
|
||||
# Tells whether to display a full report or only the messages.
|
||||
reports=no
|
||||
|
||||
# Activate the evaluation score.
|
||||
score=yes
|
||||
|
||||
|
||||
[REFACTORING]
|
||||
|
||||
# Maximum number of nested blocks for function / method body
|
||||
max-nested-blocks=5
|
||||
|
||||
# Complete name of functions that never returns. When checking for
|
||||
# inconsistent-return-statements if a never returning function is called then
|
||||
# it will be considered as an explicit return statement and no message will be
|
||||
# printed.
|
||||
never-returning-functions=sys.exit
|
||||
|
||||
|
||||
[LOGGING]
|
||||
|
||||
# Format style used to check logging format string. `old` means using %
|
||||
# formatting, `new` is for `{}` formatting,and `fstr` is for f-strings.
|
||||
logging-format-style=old
|
||||
|
||||
# Logging modules to check that the string format arguments are in logging
|
||||
# function parameter format.
|
||||
logging-modules=logging
|
||||
|
||||
|
||||
[FORMAT]
|
||||
|
||||
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
|
||||
expected-line-ending-format=
|
||||
|
||||
# Regexp for a line that is allowed to be longer than the limit.
|
||||
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
|
||||
|
||||
# Number of spaces of indent required inside a hanging or continued line.
|
||||
indent-after-paren=4
|
||||
|
||||
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||
# tab).
|
||||
indent-string=' '
|
||||
|
||||
# Maximum number of characters on a single line.
|
||||
max-line-length=100
|
||||
|
||||
# Maximum number of lines in a module.
|
||||
max-module-lines=1000
|
||||
|
||||
# List of optional constructs for which whitespace checking is disabled. `dict-
|
||||
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
|
||||
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
|
||||
# `empty-line` allows space-only lines.
|
||||
no-space-check=trailing-comma,
|
||||
dict-separator
|
||||
|
||||
# Allow the body of a class to be on the same line as the declaration if body
|
||||
# contains single statement.
|
||||
single-line-class-stmt=no
|
||||
|
||||
# Allow the body of an if to be on the same line as the test if there is no
|
||||
# else.
|
||||
single-line-if-stmt=no
|
||||
|
||||
|
||||
[MISCELLANEOUS]
|
||||
|
||||
# List of note tags to take in consideration, separated by a comma.
|
||||
notes=FIXME,
|
||||
XXX,
|
||||
TODO
|
||||
|
||||
|
||||
[BASIC]
|
||||
|
||||
# Naming style matching correct argument names.
|
||||
argument-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct argument names. Overrides argument-
|
||||
# naming-style.
|
||||
#argument-rgx=
|
||||
|
||||
# Naming style matching correct attribute names.
|
||||
attr-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct attribute names. Overrides attr-naming-
|
||||
# style.
|
||||
#attr-rgx=
|
||||
|
||||
# Bad variable names which should always be refused, separated by a comma.
|
||||
bad-names=foo,
|
||||
bar,
|
||||
baz,
|
||||
toto,
|
||||
tutu,
|
||||
tata
|
||||
|
||||
# Naming style matching correct class attribute names.
|
||||
class-attribute-naming-style=any
|
||||
|
||||
# Regular expression matching correct class attribute names. Overrides class-
|
||||
# attribute-naming-style.
|
||||
#class-attribute-rgx=
|
||||
|
||||
# Naming style matching correct class names.
|
||||
class-naming-style=PascalCase
|
||||
|
||||
# Regular expression matching correct class names. Overrides class-naming-
|
||||
# style.
|
||||
#class-rgx=
|
||||
|
||||
# Naming style matching correct constant names.
|
||||
const-naming-style=UPPER_CASE
|
||||
|
||||
# Regular expression matching correct constant names. Overrides const-naming-
|
||||
# style.
|
||||
#const-rgx=
|
||||
|
||||
# Minimum line length for functions/classes that require docstrings, shorter
|
||||
# ones are exempt.
|
||||
docstring-min-length=-1
|
||||
|
||||
# Naming style matching correct function names.
|
||||
function-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct function names. Overrides function-
|
||||
# naming-style.
|
||||
#function-rgx=
|
||||
|
||||
# Good variable names which should always be accepted, separated by a comma.
|
||||
good-names=i,
|
||||
j,
|
||||
k,
|
||||
ex,
|
||||
Run,
|
||||
_
|
||||
|
||||
# Include a hint for the correct naming format with invalid-name.
|
||||
include-naming-hint=no
|
||||
|
||||
# Naming style matching correct inline iteration names.
|
||||
inlinevar-naming-style=any
|
||||
|
||||
# Regular expression matching correct inline iteration names. Overrides
|
||||
# inlinevar-naming-style.
|
||||
#inlinevar-rgx=
|
||||
|
||||
# Naming style matching correct method names.
|
||||
method-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct method names. Overrides method-naming-
|
||||
# style.
|
||||
#method-rgx=
|
||||
|
||||
# Naming style matching correct module names.
|
||||
module-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct module names. Overrides module-naming-
|
||||
# style.
|
||||
#module-rgx=
|
||||
|
||||
# Colon-delimited sets of names that determine each other's naming style when
|
||||
# the name regexes allow several styles.
|
||||
name-group=
|
||||
|
||||
# Regular expression which should only match function or class names that do
|
||||
# not require a docstring.
|
||||
no-docstring-rgx=^_
|
||||
|
||||
# List of decorators that produce properties, such as abc.abstractproperty. Add
|
||||
# to this list to register other decorators that produce valid properties.
|
||||
# These decorators are taken in consideration only for invalid-name.
|
||||
property-classes=abc.abstractproperty
|
||||
|
||||
# Naming style matching correct variable names.
|
||||
variable-naming-style=snake_case
|
||||
|
||||
# Regular expression matching correct variable names. Overrides variable-
|
||||
# naming-style.
|
||||
#variable-rgx=
|
||||
|
||||
|
||||
[SPELLING]
|
||||
|
||||
# Limits count of emitted suggestions for spelling mistakes.
|
||||
max-spelling-suggestions=4
|
||||
|
||||
# Spelling dictionary name. Available dictionaries: de_LI (myspell), en_PH
|
||||
# (myspell), de_LU (myspell), ru_RU (myspell), de_DE (myspell), en_TT
|
||||
# (myspell), de_BE (myspell), en_BZ (myspell), en_DK (myspell), en_JM
|
||||
# (myspell), en_NZ (myspell), en_CA (myspell), en_GB (myspell), en_AU
|
||||
# (myspell), en_HK (myspell), en_US (myspell), de_AT (myspell), en_ZM
|
||||
# (myspell), en_SG (myspell), en_NA (myspell), en_IN (myspell), en_NG
|
||||
# (myspell), en_AG (myspell), ru_UA (myspell), en_BW (myspell), en_ZA
|
||||
# (myspell), en_MW (myspell), en_GH (myspell), en_BS (myspell), en_IE
|
||||
# (myspell), de_CH (myspell), en_ZW (myspell).
|
||||
spelling-dict=
|
||||
|
||||
# List of comma separated words that should not be checked.
|
||||
spelling-ignore-words=
|
||||
|
||||
# A path to a file that contains the private dictionary; one word per line.
|
||||
spelling-private-dict-file=
|
||||
|
||||
# Tells whether to store unknown words to the private dictionary (see the
|
||||
# --spelling-private-dict-file option) instead of raising a message.
|
||||
spelling-store-unknown-words=no
|
||||
|
||||
|
||||
[STRING]
|
||||
|
||||
# This flag controls whether the implicit-str-concat-in-sequence should
|
||||
# generate a warning on implicit string concatenation in sequences defined over
|
||||
# several lines.
|
||||
check-str-concat-over-line-jumps=no
|
||||
|
||||
|
||||
[SIMILARITIES]
|
||||
|
||||
# Ignore comments when computing similarities.
|
||||
ignore-comments=yes
|
||||
|
||||
# Ignore docstrings when computing similarities.
|
||||
ignore-docstrings=yes
|
||||
|
||||
# Ignore imports when computing similarities.
|
||||
ignore-imports=no
|
||||
|
||||
# Minimum lines number of a similarity.
|
||||
min-similarity-lines=4
|
||||
|
||||
|
||||
[TYPECHECK]
|
||||
|
||||
# List of decorators that produce context managers, such as
|
||||
# contextlib.contextmanager. Add to this list to register other decorators that
|
||||
# produce valid context managers.
|
||||
contextmanager-decorators=contextlib.contextmanager
|
||||
|
||||
# List of members which are set dynamically and missed by pylint inference
|
||||
# system, and so shouldn't trigger E1101 when accessed. Python regular
|
||||
# expressions are accepted.
|
||||
generated-members=
|
||||
|
||||
# Tells whether missing members accessed in mixin class should be ignored. A
|
||||
# mixin class is detected if its name ends with "mixin" (case insensitive).
|
||||
ignore-mixin-members=yes
|
||||
|
||||
# Tells whether to warn about missing members when the owner of the attribute
|
||||
# is inferred to be None.
|
||||
ignore-none=yes
|
||||
|
||||
# This flag controls whether pylint should warn about no-member and similar
|
||||
# checks whenever an opaque object is returned when inferring. The inference
|
||||
# can return multiple potential results while evaluating a Python object, but
|
||||
# some branches might not be evaluated, which results in partial inference. In
|
||||
# that case, it might be useful to still emit no-member and other checks for
|
||||
# the rest of the inferred objects.
|
||||
ignore-on-opaque-inference=yes
|
||||
|
||||
# List of class names for which member attributes should not be checked (useful
|
||||
# for classes with dynamically set attributes). This supports the use of
|
||||
# qualified names.
|
||||
ignored-classes=optparse.Values,thread._local,_thread._local
|
||||
|
||||
# List of module names for which member attributes should not be checked
|
||||
# (useful for modules/projects where namespaces are manipulated during runtime
|
||||
# and thus existing member attributes cannot be deduced by static analysis). It
|
||||
# supports qualified module names, as well as Unix pattern matching.
|
||||
ignored-modules=
|
||||
|
||||
# Show a hint with possible names when a member name was not found. The aspect
|
||||
# of finding the hint is based on edit distance.
|
||||
missing-member-hint=yes
|
||||
|
||||
# The minimum edit distance a name should have in order to be considered a
|
||||
# similar match for a missing member name.
|
||||
missing-member-hint-distance=1
|
||||
|
||||
# The total number of similar names that should be taken in consideration when
|
||||
# showing a hint for a missing member.
|
||||
missing-member-max-choices=1
|
||||
|
||||
# List of decorators that change the signature of a decorated function.
|
||||
signature-mutators=
|
||||
|
||||
|
||||
[VARIABLES]
|
||||
|
||||
# List of additional names supposed to be defined in builtins. Remember that
|
||||
# you should avoid defining new builtins when possible.
|
||||
additional-builtins=
|
||||
|
||||
# Tells whether unused global variables should be treated as a violation.
|
||||
allow-global-unused-variables=yes
|
||||
|
||||
# List of strings which can identify a callback function by name. A callback
|
||||
# name must start or end with one of those strings.
|
||||
callbacks=cb_,
|
||||
_cb
|
||||
|
||||
# A regular expression matching the name of dummy variables (i.e. expected to
|
||||
# not be used).
|
||||
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
|
||||
|
||||
# Argument names that match this expression will be ignored. Default to name
|
||||
# with leading underscore.
|
||||
ignored-argument-names=_.*|^ignored_|^unused_
|
||||
|
||||
# Tells whether we should check for unused import in __init__ files.
|
||||
init-import=no
|
||||
|
||||
# List of qualified module names which can have objects that can redefine
|
||||
# builtins.
|
||||
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
|
||||
|
||||
|
||||
[IMPORTS]
|
||||
|
||||
# List of modules that can be imported at any level, not just the top level
|
||||
# one.
|
||||
allow-any-import-level=
|
||||
|
||||
# Allow wildcard imports from modules that define __all__.
|
||||
allow-wildcard-with-all=no
|
||||
|
||||
# Analyse import fallback blocks. This can be used to support both Python 2 and
|
||||
# 3 compatible code, which means that the block might have code that exists
|
||||
# only in one or another interpreter, leading to false positives when analysed.
|
||||
analyse-fallback-blocks=no
|
||||
|
||||
# Deprecated modules which should not be used, separated by a comma.
|
||||
deprecated-modules=optparse,tkinter.tix
|
||||
|
||||
# Create a graph of external dependencies in the given file (report RP0402 must
|
||||
# not be disabled).
|
||||
ext-import-graph=
|
||||
|
||||
# Create a graph of every (i.e. internal and external) dependencies in the
|
||||
# given file (report RP0402 must not be disabled).
|
||||
import-graph=
|
||||
|
||||
# Create a graph of internal dependencies in the given file (report RP0402 must
|
||||
# not be disabled).
|
||||
int-import-graph=
|
||||
|
||||
# Force import order to recognize a module as part of the standard
|
||||
# compatibility libraries.
|
||||
known-standard-library=
|
||||
|
||||
# Force import order to recognize a module as part of a third party library.
|
||||
known-third-party=enchant
|
||||
|
||||
# Couples of modules and preferred modules, separated by a comma.
|
||||
preferred-modules=
|
||||
|
||||
|
||||
[CLASSES]
|
||||
|
||||
# List of method names used to declare (i.e. assign) instance attributes.
|
||||
defining-attr-methods=__init__,
|
||||
__new__,
|
||||
setUp,
|
||||
__post_init__
|
||||
|
||||
# List of member names, which should be excluded from the protected access
|
||||
# warning.
|
||||
exclude-protected=_asdict,
|
||||
_fields,
|
||||
_replace,
|
||||
_source,
|
||||
_make
|
||||
|
||||
# List of valid names for the first argument in a class method.
|
||||
valid-classmethod-first-arg=cls
|
||||
|
||||
# List of valid names for the first argument in a metaclass class method.
|
||||
valid-metaclass-classmethod-first-arg=cls
|
||||
|
||||
|
||||
[DESIGN]
|
||||
|
||||
# Maximum number of arguments for function / method.
|
||||
max-args=5
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=7
|
||||
|
||||
# Maximum number of boolean expressions in an if statement (see R0916).
|
||||
max-bool-expr=5
|
||||
|
||||
# Maximum number of branch for function / method body.
|
||||
max-branches=12
|
||||
|
||||
# Maximum number of locals for function / method body.
|
||||
max-locals=15
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=7
|
||||
|
||||
# Maximum number of public methods for a class (see R0904).
|
||||
max-public-methods=20
|
||||
|
||||
# Maximum number of return / yield for function / method body.
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of statements in function / method body.
|
||||
max-statements=50
|
||||
|
||||
# Minimum number of public methods for a class (see R0903).
|
||||
min-public-methods=2
|
||||
|
||||
|
||||
[EXCEPTIONS]
|
||||
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "BaseException, Exception".
|
||||
overgeneral-exceptions=BaseException,
|
||||
Exception
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo -e "\033[0mNC (No color)"
|
||||
echo -e "\033[1;37mWHITE\t\033[0;30mBLACK"
|
||||
echo -e "\033[0;34mBLUE\t\033[1;34mLIGHT_BLUE"
|
||||
echo -e "\033[0;32mGREEN\t\033[1;32mLIGHT_GREEN"
|
||||
echo -e "\033[0;36mCYAN\t\033[1;36mLIGHT_CYAN"
|
||||
echo -e "\033[0;31mRED\t\033[1;31mLIGHT_RED"
|
||||
echo -e "\033[0;35mPURPLE\t\033[1;35mLIGHT_PURPLE"
|
||||
echo -e "\033[0;33mYELLOW\t\033[1;33mLIGHT_YELLOW"
|
||||
echo -e "\033[1;30mGRAY\t\033[0;37mLIGHT_GRAY"
|
58
sway/.config/i3status-rust/config.toml
Normal file
58
sway/.config/i3status-rust/config.toml
Normal file
|
@ -0,0 +1,58 @@
|
|||
[theme]
|
||||
name = "foot.toml"
|
||||
|
||||
[icons]
|
||||
name = "awesome6"
|
||||
|
||||
[[block]]
|
||||
block = "maildir"
|
||||
interval = 60
|
||||
inboxes = ["/home/grue/mail/mail@oxapentane.com/INBOX", "/home/grue/mail/mail@oxapentane.com/sinkhole", "/home/grue/mail/dump@dvb.solutions/INBOX", "/home/grue/mail/grigory@shipunov.xyz/INBOX"]
|
||||
threshold_warning = 1
|
||||
threshold_critical = 10
|
||||
display_type = "new"
|
||||
on_click = "foot mbsync -a"
|
||||
|
||||
[[block]]
|
||||
block = "net"
|
||||
|
||||
[[block]]
|
||||
block = "memory"
|
||||
display_type = "memory"
|
||||
format_mem = "{mem_used_percents}"
|
||||
format_swap = "{swap_used_percents}"
|
||||
|
||||
[[block]]
|
||||
block = "cpu"
|
||||
format = "{barchart} {utilization}"
|
||||
|
||||
[[block]]
|
||||
block = "load"
|
||||
interval = 1
|
||||
format = "{1m} {5m} {15m}"
|
||||
icons_format = " "
|
||||
|
||||
[[block]]
|
||||
block = "sound"
|
||||
on_click = "foot -e pulsemixer"
|
||||
|
||||
[[block]]
|
||||
block = "keyboard_layout"
|
||||
driver = "sway"
|
||||
format = "{layout}"
|
||||
[block.mappings]
|
||||
"English (US)" = "UWU"
|
||||
"Russian (N/A)" = "ЪУЪ"
|
||||
|
||||
[[block]]
|
||||
block = "battery"
|
||||
driver = "upower"
|
||||
format = "{percentage} {time}"
|
||||
if_command = "test -e /sys/class/power_supply/BAT0"
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
interval = 5
|
||||
format = "%a %F %T"
|
||||
interval = 1
|
||||
icons_format = " "
|
18
sway/.config/i3status-rust/themes/foot.toml
Normal file
18
sway/.config/i3status-rust/themes/foot.toml
Normal file
|
@ -0,0 +1,18 @@
|
|||
idle_bg = "#111111"
|
||||
idle_fg = "#dcdccc"
|
||||
|
||||
good_bg = "#7f9f7f"
|
||||
good_fg = "#111111"
|
||||
|
||||
info_bg = "#cc9393"
|
||||
info_fg = "#111111"
|
||||
|
||||
warning_bg = "#f0dfaf"
|
||||
warning_fg = "#111111"
|
||||
|
||||
critical_bg = "#fcace3"
|
||||
critical_fg = "#111111"
|
||||
|
||||
separator = "/"
|
||||
separator_fg = "#ffffff"
|
||||
separator_bg = "#111111"
|
18
sway/.config/sway/colors
Normal file
18
sway/.config/sway/colors
Normal file
|
@ -0,0 +1,18 @@
|
|||
set $colorFG #dcdccc
|
||||
set $colorBG #111111
|
||||
set $color00 #222222
|
||||
set $color01 #cc9393
|
||||
set $color02 #7f9f7f
|
||||
set $color03 #d0bf8f
|
||||
set $color04 #6ca0a3
|
||||
set $color05 #dc8cc3
|
||||
set $color06 #93e0e3
|
||||
set $color07 #dcdccc
|
||||
set $color10 #666666
|
||||
set $color11 #dca3a3
|
||||
set $color12 #bfebbf
|
||||
set $color13 #f0dfaf
|
||||
set $color14 #8cd0d3
|
||||
set $color15 #fcace3
|
||||
set $color16 #b3ffff
|
||||
set $color17 #ffffff
|
|
@ -14,7 +14,7 @@ set $down j
|
|||
set $up k
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term alacritty
|
||||
set $term foot
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
|
@ -37,9 +37,9 @@ output * bg ~/.wall.png fill
|
|||
# Example configuration:
|
||||
#
|
||||
exec swayidle -w \
|
||||
timeout 300 'swaylock -i ~/.lock.png -f -c 000000' \
|
||||
timeout 300 'swaylock-fancy --show-failed-attempts --daemonize -p -t "MICROWAVE ON HIGH FOR FIVE MINUTES"' \
|
||||
timeout 303 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'swaylock -i ~/.lock.png -f -c 000000'
|
||||
before-sleep 'swaylock-fancy --show-failed-attempts --daemonize -p -t "MICROWAVE ON HIGH FOR FIVE MINUTES"'
|
||||
#
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
|
@ -64,6 +64,9 @@ exec swayidle -w \
|
|||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
### override defaults
|
||||
focus_follows_mouse no
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
|
@ -97,8 +100,10 @@ exec swayidle -w \
|
|||
bindsym --to-code XF86AudioRaiseVolume exec 'pamixer -i 1'
|
||||
bindsym --to-code XF86AudioLowerVolume exec 'pamixer -d 1'
|
||||
bindsym --to-code XF86AudioMute exec 'pamixer -t'
|
||||
bindsym --to-code $mod+BackSpace exec 'swaylock -i ~/.lock.png'
|
||||
bindsym --to-code $mod+Mod1+p exec 'flameshot gui'
|
||||
bindsym --to-code $mod+Delete exec 'swaylock-fancy --show-failed-attempts --daemonize -p -t "MICROWAVE ON HIGH FOR FIVE MINUTES"'
|
||||
#bindsym --to-code $mod+Mod1+p exec 'flameshot gui'
|
||||
bindsym --to-code $mod+p exec 'grim -g "$(slurp)" - | wl-copy'
|
||||
bindsym --to-code $mod+Mod1+p exec 'grim -g "$(slurp)" ~/Pictures/$(date +"%Y-%m-%d-%H-%M-%S").png'
|
||||
|
||||
|
||||
#
|
||||
|
@ -214,19 +219,38 @@ mode "resize" {
|
|||
}
|
||||
bindsym --to-code $mod+r mode "resize"
|
||||
|
||||
## Styling: colors
|
||||
include colors
|
||||
|
||||
## Window styling
|
||||
# Border BG Text Indicator Child Border
|
||||
client.focused $color05 $color05 $color00 $color01 $color05
|
||||
#client.focused_inactive $color00 $color00 $color00 $color00 $color00
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
font pango:Hack, Font Awesome 6 Free 9
|
||||
icon_theme "Adwaita"
|
||||
status_command /run/current-system/sw/bin/i3status-rs ~/.config/sway/i3status-rs.toml
|
||||
status_command /run/current-system/sw/bin/i3status-rs
|
||||
colors {
|
||||
background $colorBG
|
||||
separator $color05
|
||||
# statusline $color15
|
||||
|
||||
# STATE Border BG Text
|
||||
focused_workspace $color15 $color05 $color00
|
||||
}
|
||||
}
|
||||
|
||||
# default border
|
||||
default_border pixel 2
|
||||
# Set font
|
||||
font pango:JuliaMono 9
|
||||
font pango:Hack, Font Awesome 6 Free 9
|
||||
# font pango:ttyp0 10
|
||||
#font pango:JuliaMono 9
|
||||
|
||||
include /etc/sway/config.d/*
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
theme = "native"
|
||||
|
||||
[icons]
|
||||
name = "none"
|
||||
|
||||
[[block]]
|
||||
block = "networkmanager"
|
||||
interface_name_exclude = ["br\\-[0-9a-f]{12}", "docker\\d+"]
|
||||
interface_name_include = []
|
||||
ap_format = "{ssid^5}"
|
||||
device_format = "{name} {ap} {ips}"
|
||||
|
||||
[[block]]
|
||||
block = "memory"
|
||||
display_type = "memory"
|
||||
format_mem = "{mem_used_percents}"
|
||||
format_swap = "{swap_used_percents}"
|
||||
|
||||
[[block]]
|
||||
block = "load"
|
||||
interval = 1
|
||||
format = "{1m} {5m} {15m}"
|
||||
icons_format = " "
|
||||
|
||||
[[block]]
|
||||
block = "sound"
|
||||
on_click = "alacritty -e pulsemixer"
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
interval = 5
|
||||
format = "%a %F %T"
|
||||
interval = 1
|
||||
icons_format = " "
|
||||
|
||||
[[block]]
|
||||
block = "keyboard_layout"
|
||||
driver = "sway"
|
||||
format = "{layout}"
|
||||
[block.mappings]
|
||||
"English (US)" = "EN"
|
||||
"Russian (N/A)" = "RU"
|
||||
|
||||
[[block]]
|
||||
block = "battery"
|
||||
driver = "upower"
|
||||
format = "{percentage}"
|
||||
if_command = "test -e /sys/class/power_supply/BAT0"
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"layer": "top",
|
||||
"modules-left": ["sway/workspaces", "sway/mode"],
|
||||
"modules-center": ["sway/window"],
|
||||
"modules-right": ["battery", "clock"],
|
||||
"sway/window": {
|
||||
"max-length": 50
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"clock": {
|
||||
"format-alt": "{:%a, %d. %b %H:%M}"
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue