nuke everything for wayland
This commit is contained in:
parent
72533d9133
commit
048e341fe4
53 changed files with 508 additions and 901 deletions
|
@ -1 +0,0 @@
|
|||
Subproject commit ef70d16c43c2f566a4fe2955b8d6c08f6c185af8
|
|
@ -1,21 +0,0 @@
|
|||
-- Keys that affect the current window
|
||||
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, }, "q", function (c) c:kill() end,
|
||||
{description = "close", 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, "Shift" }, "n", function (c) c.maximized = not c.maximized c:raise() end,
|
||||
{description = "(un)maximize", 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, }, "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"})
|
||||
)
|
|
@ -1,67 +0,0 @@
|
|||
globalkeys = Gears.table.join(
|
||||
Awful.key({ }, "Print", function() os.execute("maimpick") end,
|
||||
{description = "run screenshot script", group="awesome"}),
|
||||
Awful.key({ Modkey, }, "F1", Hotkeys_popup.show_help ,
|
||||
{description = "show help", group="awesome"}),
|
||||
Awful.key({ Modkey, }, "l", function () Awful.screen.focus_relative( 1) end,
|
||||
{description = "focus next screen", group = "screen"}),
|
||||
Awful.key({ Modkey, }, "h", function () Awful.screen.focus_relative(-1) end,
|
||||
{description = "focus previous screen", group = "screen"}),
|
||||
Awful.key({ Modkey, }, "w", function () Awful.spawn(Browser) end,
|
||||
{description = "open browser", group = "launcher"}),
|
||||
Awful.key({ Modkey, "Shift" }, "w", function () Awful.spawn(Browser2) end,
|
||||
{description = "open browser2", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "e", function () Awful.spawn(Editor_cmd) end,
|
||||
{description = "open editor", group = "launcher"}),
|
||||
Awful.key({ Modkey, "Shift" }, "e", function () Awful.spawn("thunderbird") end,
|
||||
{description = "open thunderbird", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "m", function () Awful.spawn(Music) end,
|
||||
{description = "open spotify", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "d", function () Awful.spawn("discord --enable-gpu-rasterization") end,
|
||||
{description = "open discord", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "c", function () Awful.spawn("caprine") end,
|
||||
{description = "open caprine", group = "launcher"}),
|
||||
Awful.key({ Modkey, "Shift" }, "c", function () Awful.spawn("telegram-desktop") end,
|
||||
{description = "open telegram-desktop", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "g", function () Awful.spawn("godot") end,
|
||||
{description = "open godot", group = "launcher"}),
|
||||
Awful.key({ Modkey, "Shift" }, "g", function () Awful.spawn("steam-native") end,
|
||||
{description = "open steam", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "Return", function () Awful.spawn(Terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
Awful.key({ Modkey, }, "BackSpace", awesome.restart ,
|
||||
{description = "reload awesome", group = "awesome"}),
|
||||
Awful.key({ Modkey, "Shift" }, "Escape", awesome.quit ,
|
||||
{description = "quit awesome", group = "awesome"}),
|
||||
Awful.key({ Modkey, }, "v", function () Awful.spawn("virt-manager") end,
|
||||
{description = "open virt-manager", group = "launcher"}),
|
||||
Awful.key({ Modkey, "Shift" }, "k", function () Awful.tag.incmwfact( 0.05) end,
|
||||
{description = "resize split +", group = "layout"}),
|
||||
Awful.key({ Modkey, "Shift" }, "j", function () Awful.tag.incmwfact(-0.05) end,
|
||||
{description = "resize split -", 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, }, "r", function () Awful.screen.focused().mypromptbox:run() end,
|
||||
{description = "run prompt", group = "launcher"}),
|
||||
|
||||
-- Media
|
||||
Awful.key({}, "XF86AudioPlay", function() os.execute("playerctl play-pause") end),
|
||||
Awful.key({}, "XF86AudioStop", function() os.execute("playerctl stop") end),
|
||||
Awful.key({}, "XF86AudioNext", function() os.execute("playerctl next") end),
|
||||
Awful.key({}, "XF86AudioPrev", function() os.execute("playerctl previous") end),
|
||||
Awful.key({}, "XF86AudioRaiseVolume", function() os.execute("pamixer -i 3") end),
|
||||
Awful.key({}, "XF86AudioLowerVolume", function() os.execute("pamixer -d 3") end),
|
||||
Awful.key({}, "XF86AudioMute", function() os.execute("pamixer -t") end),
|
||||
Awful.key({}, "XF86AudioMicMute", function() os.execute("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end),
|
||||
|
||||
Awful.key({ Modkey, }, "Tab",
|
||||
function ()
|
||||
Awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "client"})
|
||||
)
|
|
@ -1,74 +0,0 @@
|
|||
require('binds.global')
|
||||
require('binds.client')
|
||||
|
||||
-- Mouse
|
||||
root.buttons(Gears.table.join(
|
||||
Awful.button({ }, 4, Awful.tag.viewnext),
|
||||
Awful.button({ }, 5, Awful.tag.viewprev)
|
||||
))
|
||||
-- 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)
|
|
@ -1,31 +0,0 @@
|
|||
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
|
||||
|
||||
require("awful.autofocus")
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
Gears = require("gears")
|
||||
Awful = require("awful")
|
||||
Wibox = require("wibox")
|
||||
Beautiful = require("beautiful")
|
||||
Naughty = require("naughty")
|
||||
Menubar = require("menubar")
|
||||
Hotkeys_popup = require("awful.hotkeys_popup")
|
|
@ -1,27 +0,0 @@
|
|||
require('core')
|
||||
|
||||
Terminal = "kitty"
|
||||
Editor = "nvim"
|
||||
Editor_cmd = Terminal .. " -e " .. Editor
|
||||
Browser = "firefox-developer-edition"
|
||||
Browser2 = "google-chrome-beta"
|
||||
Music = "spotify-launcher"
|
||||
Modkey = "Mod4"
|
||||
|
||||
Beautiful.init(".config/awesome/theme.lua")
|
||||
|
||||
Awful.layout.layouts = {
|
||||
Awful.layout.suit.tile.right,
|
||||
Awful.layout.suit.tile.top,
|
||||
Awful.layout.suit.tile.left,
|
||||
Awful.layout.suit.tile.bottom,
|
||||
}
|
||||
|
||||
Menubar.utils.terminal = Terminal -- Set the terminal for applications that require it
|
||||
|
||||
require('wibar')
|
||||
require('binds')
|
||||
require('rules')
|
||||
require('signals')
|
||||
|
||||
Gears.timer.start_new(10, function() collectgarbage("step", 20000) return true end)
|
|
@ -1,50 +0,0 @@
|
|||
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 }
|
||||
},
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
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)
|
|
@ -1,69 +0,0 @@
|
|||
local theme_assets = require("beautiful.theme_assets")
|
||||
local xresources = require("beautiful.xresources")
|
||||
local dpi = xresources.apply_dpi
|
||||
local xrdb = xresources.get_current_theme()
|
||||
|
||||
local gfs = require("gears.filesystem")
|
||||
local themes_path = gfs.get_themes_dir()
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.font = "monospace 11"
|
||||
theme.wallpaper = '.cache/wal/bg'
|
||||
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(1)
|
||||
|
||||
theme.menu_height = dpi(15)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- Colors
|
||||
theme.bg_normal = xrdb.background
|
||||
theme.bg_focus = xrdb.color4
|
||||
theme.bg_urgent = xrdb.color1
|
||||
theme.bg_minimize = xrdb.color4
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
theme.fg_normal = xrdb.foreground
|
||||
theme.fg_focus = xrdb.foreground
|
||||
theme.fg_urgent = xrdb.foreground
|
||||
theme.fg_minimize = xrdb.foreground
|
||||
|
||||
theme.border_normal = xrdb.color5
|
||||
theme.border_focus = xrdb.color4
|
||||
theme.border_marked = xrdb.color10
|
||||
|
||||
-- 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
|
||||
)
|
||||
|
||||
-- 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"
|
||||
|
||||
-- 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
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
|
@ -1,76 +0,0 @@
|
|||
require('wibar.widgets')
|
||||
require('wibar.taglist')
|
||||
require('wibar.tasklist')
|
||||
|
||||
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)
|
||||
-- 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({ }, 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,
|
||||
Cpu_widget(),
|
||||
Ram_widget(),
|
||||
Batteryarc_widget({enable_battery_warning = false}),
|
||||
Wibox.widget.systray(),
|
||||
Mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
}
|
||||
end)
|
||||
|
||||
os.execute('nitrogen --set-zoom-fill $(awk {print} ~/.cache/wal/wal)')
|
|
@ -1,16 +0,0 @@
|
|||
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)
|
||||
)
|
|
@ -1,21 +0,0 @@
|
|||
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))
|
|
@ -1,20 +0,0 @@
|
|||
Calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
|
||||
Cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
|
||||
Ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
|
||||
Batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc")
|
||||
|
||||
local cw = Calendar_widget({
|
||||
placement = 'top_right',
|
||||
start_sunday = 'true',
|
||||
previous_month_button = 4,
|
||||
next_month_button = 5,
|
||||
})
|
||||
|
||||
Mytextclock = Wibox.widget{
|
||||
format = ' %a %b %d, %I:%M%P ',
|
||||
widget = Wibox.widget.textclock
|
||||
}
|
||||
Mytextclock:connect_signal("button::press",
|
||||
function(_, _, _, button)
|
||||
if button == 1 then cw.toggle() end
|
||||
end)
|
|
@ -1,44 +0,0 @@
|
|||
vsync = true;
|
||||
unredir-if-possible = true;
|
||||
|
||||
backend = "glx";
|
||||
glx-no-stencil = true;
|
||||
glx-no-rebind-pixmap = false;
|
||||
|
||||
fading = true;
|
||||
fade-delta = 5;
|
||||
fade-exclude = [ ];
|
||||
|
||||
mark-wmwin-focused = true;
|
||||
mark-ovredir-focused = true;
|
||||
use-ewmh-active-win = false;
|
||||
detect-transient = true;
|
||||
detect-client-leader = true;
|
||||
|
||||
wintypes :
|
||||
{
|
||||
tooltip :
|
||||
{
|
||||
fade = true;
|
||||
shadow = true;
|
||||
opacity = 0.75;
|
||||
focus = true;
|
||||
full-shadow = false;
|
||||
};
|
||||
dock :
|
||||
{
|
||||
shadow = false;
|
||||
};
|
||||
dnd :
|
||||
{
|
||||
shadow = false;
|
||||
};
|
||||
popup_menu :
|
||||
{
|
||||
opacity = 1.0;
|
||||
};
|
||||
dropdown_menu :
|
||||
{
|
||||
opacity = 1.0;
|
||||
};
|
||||
};
|
|
@ -1,47 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
# Use neovim for vim if present.
|
||||
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
|
||||
|
||||
# /comfy/
|
||||
alias \
|
||||
v="vim ." \
|
||||
x="exit" \
|
||||
ka="killall" \
|
||||
bb="byobu" \
|
||||
|
||||
# Shortcuts
|
||||
alias \
|
||||
cf="~/.config && v" \
|
||||
cfv="~/.config/nvim && v" \
|
||||
cfa="~/.config/awesome && v" \
|
||||
cfs="~/.config/shell && v" \
|
||||
cfl="~/.config/lf && v" \
|
||||
cfx="~/.config/x11 && v" \
|
||||
cfz="~/.config/zsh && v" \
|
||||
cfk="~/.config/kitty && v" \
|
||||
cfp="nvim ~/.config/picom.conf" \
|
||||
|
||||
# Add verbosity
|
||||
alias \
|
||||
cp="cp -iv" \
|
||||
mv="mv -iv" \
|
||||
rm="rm -vI" \
|
||||
mkd="mkdir -pv" \
|
||||
|
||||
# Add color
|
||||
alias \
|
||||
ls="ls -hN --color=auto --group-directories-first" \
|
||||
grep="grep --color=auto" \
|
||||
diff="diff --color=auto" \
|
||||
ccat="highlight --out-format=ansi" \
|
||||
|
||||
# Laziness
|
||||
alias \
|
||||
hosts="sudo nvim /etc/hosts" \
|
||||
push="rsync -avzP --copy-links " \
|
||||
sup="push ~/projects/http deez:" \
|
||||
|
||||
# Forget why
|
||||
wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
|
|
@ -1,19 +0,0 @@
|
|||
$include /etc/inputrc
|
||||
set editing-mode vi
|
||||
$if mode=vi
|
||||
|
||||
set show-mode-in-prompt on
|
||||
set vi-ins-mode-string \1\e[6 q\2
|
||||
set vi-cmd-mode-string \1\e[2 q\2
|
||||
|
||||
set keymap vi-command
|
||||
# these are for vi-command mode
|
||||
Control-l: clear-screen
|
||||
Control-a: beginning-of-line
|
||||
|
||||
set keymap vi-insert
|
||||
# these are for vi-insert mode
|
||||
Control-l: clear-screen
|
||||
Control-a: beginning-of-line
|
||||
|
||||
$endif
|
|
@ -1,6 +0,0 @@
|
|||
# vim: filetype=sh
|
||||
cf="~/.config && v" \
|
||||
cfv="~/.config/nvim && v" \
|
||||
cfa="~/.config/awesome && v" \
|
||||
cfs="~/.config/shell && v" \
|
||||
cfl="~/.config/lf && v" \
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
|
||||
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
|
||||
else
|
||||
. "$HOME/.xprofile"
|
||||
fi
|
||||
|
||||
# optimus
|
||||
if [ -x $(command -v optimus-manager) ]; then
|
||||
sudo prime-switch
|
||||
prime-offload
|
||||
fi
|
||||
|
||||
wal -R
|
||||
ssh-agent awesome
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ -x "$(command -v g610-led)" ] && g610-led -a ff &
|
||||
if [ -f ".screenlayout/default.sh" ]; then
|
||||
. ".screenlayout/default.sh" &
|
||||
fi
|
||||
|
||||
xmodmap -e 'clear lock' &
|
||||
xmodmap -e 'keysym Caps_Lock = Escape' &
|
||||
picom -b &
|
||||
xset r rate 300 50 &
|
||||
unclutter &
|
||||
redshift -l 43:-70 &
|
||||
xclip &
|
|
@ -1,54 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "
|
||||
=======================================================
|
||||
Installing D's nux (you're gonna love my nux(really))
|
||||
=======================================================
|
||||
"
|
||||
|
||||
# Clean up
|
||||
if test -d Doors; then
|
||||
rm -rf Doors
|
||||
elif test -d .doors; then
|
||||
rm -rf .doors
|
||||
fi
|
||||
|
||||
# Prep
|
||||
|
||||
cd &&
|
||||
mkdir .doors
|
||||
|
||||
# Bootstrap into distro scripts
|
||||
. /etc/os-release
|
||||
OS=$NAME
|
||||
|
||||
if [[ $OS == *Arch* ]]; then
|
||||
cd &&
|
||||
sudo sed '/Color/s/^#//' -i /etc/pacman.conf &&
|
||||
sudo pacman -S --needed --noconfirm git rsync base-devel &&
|
||||
git clone https://github.com/adoyle0/Doors.git .doors &&
|
||||
.doors/.scripts/doors/install_min_arch
|
||||
|
||||
elif [[ $OS == *buntu* ]]; then
|
||||
cd &&
|
||||
sudo apt-get -y install git rsync &&
|
||||
git clone https://github.com/adoyle0/Doors.git .doors &&
|
||||
.doors/.scripts/doors/install_min_ubuntu
|
||||
|
||||
elif [[ $OS == *Fedora* ]]; then
|
||||
cd &&
|
||||
sudo dnf install -y git rsync &&
|
||||
git clone https://github.com/adoyle0/Doors.git .doors &&
|
||||
.doors/.scripts/doors/install_min_fedora
|
||||
fi
|
||||
|
||||
# send it
|
||||
cd &&
|
||||
rsync -aqzP .doors/ .
|
||||
|
||||
# cleanup
|
||||
cd &&
|
||||
rm -rf .git &&
|
||||
rm -rf .doors
|
||||
|
||||
echo 'Start a new shell'
|
|
@ -1,2 +0,0 @@
|
|||
cp $(awk {print} ~/.cache/wal/wal) ~/projects/doordesk/doordesk/public/bg.png
|
||||
cp ~/.cache/wal/colors.css ~projects/doordesk/doordesk/public/colors.css
|
118
.zprofile
118
.zprofile
|
@ -1,118 +0,0 @@
|
|||
#!/bin/zsh
|
||||
|
||||
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||
|
||||
unsetopt PROMPT_SP
|
||||
|
||||
# Default programs:
|
||||
export EDITOR="nvim"
|
||||
export TERMINAL="kitty"
|
||||
export BROWSER="firefox-developer-edition"
|
||||
|
||||
# Move config files out of home and into .config/
|
||||
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
|
||||
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||
export LESSHISTFILE="-"
|
||||
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
|
||||
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
|
||||
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
|
||||
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||
export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
|
||||
|
||||
# Other program settings:
|
||||
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
|
||||
export LESS=-R
|
||||
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
|
||||
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
|
||||
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
|
||||
|
||||
# This is the list for lf icons:
|
||||
export LF_ICONS="di=📁:\
|
||||
fi=📃:\
|
||||
tw=🤝:\
|
||||
ow=📂:\
|
||||
ln=⛓:\
|
||||
or=❌:\
|
||||
ex=🎯:\
|
||||
*.txt=✍:\
|
||||
*.mom=✍:\
|
||||
*.me=✍:\
|
||||
*.ms=✍:\
|
||||
*.png=🖼:\
|
||||
*.webp=🖼:\
|
||||
*.ico=🖼:\
|
||||
*.jpg=📸:\
|
||||
*.jpe=📸:\
|
||||
*.jpeg=📸:\
|
||||
*.gif=🖼:\
|
||||
*.svg=🗺:\
|
||||
*.tif=🖼:\
|
||||
*.tiff=🖼:\
|
||||
*.xcf=🖌:\
|
||||
*.html=🌎:\
|
||||
*.xml=📰:\
|
||||
*.gpg=🔒:\
|
||||
*.css=🎨:\
|
||||
*.pdf=📚:\
|
||||
*.djvu=📚:\
|
||||
*.epub=📚:\
|
||||
*.csv=📓:\
|
||||
*.xlsx=📓:\
|
||||
*.tex=📜:\
|
||||
*.md=📘:\
|
||||
*.r=📊:\
|
||||
*.R=📊:\
|
||||
*.rmd=📊:\
|
||||
*.Rmd=📊:\
|
||||
*.m=📊:\
|
||||
*.mp3=🎵:\
|
||||
*.opus=🎵:\
|
||||
*.ogg=🎵:\
|
||||
*.m4a=🎵:\
|
||||
*.flac=🎼:\
|
||||
*.wav=🎼:\
|
||||
*.mkv=🎥:\
|
||||
*.mp4=🎥:\
|
||||
*.webm=🎥:\
|
||||
*.mpeg=🎥:\
|
||||
*.avi=🎥:\
|
||||
*.mov=🎥:\
|
||||
*.mpg=🎥:\
|
||||
*.wmv=🎥:\
|
||||
*.m4b=🎥:\
|
||||
*.flv=🎥:\
|
||||
*.zip=📦:\
|
||||
*.rar=📦:\
|
||||
*.7z=📦:\
|
||||
*.tar.gz=📦:\
|
||||
*.z64=🎮:\
|
||||
*.v64=🎮:\
|
||||
*.n64=🎮:\
|
||||
*.gba=🎮:\
|
||||
*.nes=🎮:\
|
||||
*.gdi=🎮:\
|
||||
*.1=ℹ:\
|
||||
*.nfo=ℹ:\
|
||||
*.info=ℹ:\
|
||||
*.log=📙:\
|
||||
*.iso=📀:\
|
||||
*.img=📀:\
|
||||
*.bib=🎓:\
|
||||
*.ged=👪:\
|
||||
*.part=💔:\
|
||||
*.torrent=🔽:\
|
||||
*.jar=♨:\
|
||||
*.java=♨:\
|
||||
"
|
||||
|
||||
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
|
2
configs/mako/config
Normal file
2
configs/mako/config
Normal file
|
@ -0,0 +1,2 @@
|
|||
ignore-timeout=1
|
||||
default-timeout=5000
|
20
configs/mako/update-theme
Executable file
20
configs/mako/update-theme
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
. "${HOME}/.cache/wal/colors.sh"
|
||||
|
||||
conffile="~/.config/mako/config"
|
||||
|
||||
# Associative array, color name -> color code.
|
||||
declare -A colors
|
||||
colors=(
|
||||
["background-color"]="${background}89"
|
||||
["text-color"]="$foreground"
|
||||
["border-color"]="$color13"
|
||||
)
|
||||
|
||||
for color_name in "${!colors[@]}"; do
|
||||
# replace first occurance of each color in config file
|
||||
sed -i "0,/^$color_name.*/{s//$color_name=${colors[$color_name]}/}" $conffile
|
||||
done
|
||||
|
||||
makoctl reload
|
164
configs/river/init
Executable file
164
configs/river/init
Executable file
|
@ -0,0 +1,164 @@
|
|||
#!/bin/sh
|
||||
|
||||
waybar &
|
||||
swaybg -i ~/.cache/wal/bg &
|
||||
mako &
|
||||
|
||||
riverctl map normal Super Return spawn kitty
|
||||
riverctl map normal Super W spawn firefox-developer-edition
|
||||
riverctl map normal Super+Shift W spawn google-chrome-beta
|
||||
riverctl map normal Super R spawn fuzzel
|
||||
riverctl map normal Super C spawn "caprine --enable-features=UseOzonePlatform --ozone-platform=wayland"
|
||||
riverctl map normal Super+Shift C spawn telegram-desktop
|
||||
riverctl map normal Super D spawn "discord --enable-features=UseOzonePlatform --ozone-platform=wayland"
|
||||
riverctl map normal Super G spawn gimp
|
||||
riverctl map normal Super+Shift G spawn steam-native
|
||||
riverctl map normal Super M spawn spotify-launcher
|
||||
|
||||
# Super+Q to close the focused view
|
||||
riverctl map normal Super Q close
|
||||
|
||||
# Super+Shift+E to exit river
|
||||
riverctl map normal Super+Shift E exit
|
||||
|
||||
# Super+J and Super+K to focus the next/previous view in the layout stack
|
||||
riverctl map normal Super J focus-view next
|
||||
riverctl map normal Super K focus-view previous
|
||||
|
||||
# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
|
||||
# view in the layout stack
|
||||
riverctl map normal Super+Shift J swap next
|
||||
riverctl map normal Super+Shift K swap previous
|
||||
|
||||
# Super+Period and Super+Comma to focus the next/previous output
|
||||
riverctl map normal Super Period focus-output next
|
||||
riverctl map normal Super Comma focus-output previous
|
||||
|
||||
# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
|
||||
riverctl map normal Super+Shift Period send-to-output next
|
||||
riverctl map normal Super+Shift Comma send-to-output previous
|
||||
|
||||
# Super+Return to bump the focused view to the top of the layout stack
|
||||
riverctl map normal Super+Shift Return zoom
|
||||
|
||||
# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
|
||||
riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
|
||||
riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
|
||||
|
||||
# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
|
||||
riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
|
||||
riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
|
||||
|
||||
# Super+Alt+{H,J,K,L} to move views
|
||||
riverctl map normal Super+Alt H move left 100
|
||||
riverctl map normal Super+Alt J move down 100
|
||||
riverctl map normal Super+Alt K move up 100
|
||||
riverctl map normal Super+Alt L move right 100
|
||||
|
||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
riverctl map normal Super+Alt+Control H snap left
|
||||
riverctl map normal Super+Alt+Control J snap down
|
||||
riverctl map normal Super+Alt+Control K snap up
|
||||
riverctl map normal Super+Alt+Control L snap right
|
||||
|
||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||
riverctl map normal Super+Alt+Shift H resize horizontal -100
|
||||
riverctl map normal Super+Alt+Shift J resize vertical 100
|
||||
riverctl map normal Super+Alt+Shift K resize vertical -100
|
||||
riverctl map normal Super+Alt+Shift L resize horizontal 100
|
||||
|
||||
# Super + Left Mouse Button to move views
|
||||
riverctl map-pointer normal Super BTN_LEFT move-view
|
||||
|
||||
# Super + Right Mouse Button to resize views
|
||||
riverctl map-pointer normal Super BTN_RIGHT resize-view
|
||||
|
||||
# Super + Middle Mouse Button to toggle float
|
||||
riverctl map-pointer normal Super BTN_MIDDLE toggle-float
|
||||
|
||||
for i in $(seq 1 9)
|
||||
do
|
||||
tags=$((1 << ($i - 1)))
|
||||
|
||||
# Super+[1-9] to focus tag [0-8]
|
||||
riverctl map normal Super $i set-focused-tags $tags
|
||||
|
||||
# Super+Shift+[1-9] to tag focused view with tag [0-8]
|
||||
riverctl map normal Super+Shift $i set-view-tags $tags
|
||||
|
||||
# Super+Control+[1-9] to toggle focus of tag [0-8]
|
||||
riverctl map normal Super+Control $i toggle-focused-tags $tags
|
||||
|
||||
# Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
|
||||
riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
|
||||
done
|
||||
|
||||
# Super+0 to focus all tags
|
||||
# Super+Shift+0 to tag focused view with all tags
|
||||
all_tags=$(((1 << 32) - 1))
|
||||
riverctl map normal Super 0 set-focused-tags $all_tags
|
||||
riverctl map normal Super+Shift 0 set-view-tags $all_tags
|
||||
|
||||
# Super+Space to toggle float
|
||||
riverctl map normal Super Space toggle-float
|
||||
|
||||
# Super+F to toggle fullscreen
|
||||
riverctl map normal Super F toggle-fullscreen
|
||||
|
||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||
riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
|
||||
riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
|
||||
riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
|
||||
riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
|
||||
|
||||
# Declare a passthrough mode. This mode has only a single mapping to return to
|
||||
# normal mode. This makes it useful for testing a nested wayland compositor
|
||||
riverctl declare-mode passthrough
|
||||
|
||||
# Super+F11 to enter passthrough mode
|
||||
riverctl map normal Super F11 enter-mode passthrough
|
||||
|
||||
# Super+F11 to return to normal mode
|
||||
riverctl map passthrough Super F11 enter-mode normal
|
||||
|
||||
# Various media key mapping examples for both normal and locked mode which do
|
||||
# not have a modifier
|
||||
for mode in normal locked
|
||||
do
|
||||
# Eject the optical drive (well if you still have one that is)
|
||||
riverctl map $mode None XF86Eject spawn 'eject -T'
|
||||
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
|
||||
riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
|
||||
riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
|
||||
riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
|
||||
riverctl map $mode None XF86AudioNext spawn 'playerctl next'
|
||||
|
||||
# Control screen backlight brightness with light (https://github.com/haikarainen/light)
|
||||
riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
|
||||
riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
|
||||
done
|
||||
|
||||
# Set background and border color
|
||||
riverctl background-color 0x002b36
|
||||
riverctl border-color-focused 0x93a1a1
|
||||
riverctl border-color-unfocused 0x586e75
|
||||
|
||||
# Set keyboard repeat rate
|
||||
riverctl set-repeat 50 300
|
||||
|
||||
# Make all views with an app-id that starts with "float" and title "foo" start floating.
|
||||
riverctl rule-add float -app-id 'float*' -title 'foo'
|
||||
|
||||
# Make all views with app-id "bar" and any title use client-side decorations
|
||||
riverctl rule-add csd -app-id "bar"
|
||||
|
||||
# Set the default layout generator to be rivertile and start it.
|
||||
# River will send the process group of the init executable SIGTERM on exit.
|
||||
riverctl default-layout rivertile
|
||||
rivertile -view-padding 6 -outer-padding 6 &
|
|
@ -1,5 +1,15 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# Keyboard lights
|
||||
[ -x "$(command -v g610-led)" ] && g610-led -a ff
|
||||
|
||||
# The way life should be
|
||||
export XKB_DEFAULT_OPTIONS=caps:escape
|
||||
|
||||
# Wayland stuff
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
|
||||
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
|
||||
|
||||
unsetopt PROMPT_SP
|
||||
|
@ -10,11 +20,9 @@ export TERMINAL="kitty"
|
|||
export BROWSER="firefox-developer-edition"
|
||||
|
||||
# Move config files out of home and into .config/
|
||||
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
|
||||
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||
export LESSHISTFILE="-"
|
||||
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
|
||||
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
|
||||
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/shell/zsh"
|
||||
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
|
||||
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||
|
@ -115,4 +123,6 @@ ex=🎯:\
|
|||
*.java=♨:\
|
||||
"
|
||||
|
||||
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
|
||||
if [[ -z $WAYLAND_DISPLAY && $(tty) = "/dev/tty1" ]]; then
|
||||
exec river
|
||||
fi
|
|
@ -41,16 +41,17 @@ dicheck='rsync -havn . /dev/shm --exclude-from .dockerignore' \
|
|||
|
||||
# Shortcuts
|
||||
alias \
|
||||
hosts="sudo nvim /etc/hosts" \
|
||||
cf="~/.config && v" \
|
||||
cfh="sudo nvim /etc/hosts" \
|
||||
cfk="nvim ~/.config/kitty/kitty.conf" \
|
||||
cfl="nvim ~/.config/lf/lfrc" \
|
||||
cfm="nvim ~/.config/mako/config" \
|
||||
cfp="nvim ~/.zprofile" \
|
||||
cfr="nvim ~/.config/river/init" \
|
||||
cfv="~/.config/nvim && v" \
|
||||
cfa="~/.config/awesome && v" \
|
||||
cfs="~/.config/shell && v" \
|
||||
cfl="~/.config/lf && v" \
|
||||
cfx="~/.config/x11 && v" \
|
||||
cfz="~/.config/zsh && v" \
|
||||
cfk="~/.config/kitty && v" \
|
||||
cfp="nvim ~/.config/picom.conf" \
|
||||
cfw="nvim ~/.config/waybar/config" \
|
||||
cfws="nvim ~/.config/waybar/style.css" \
|
||||
cfz="nvim ~/.config/zsh/.zshrc" \
|
||||
|
||||
# Add verbosity
|
||||
alias \
|
||||
|
@ -67,9 +68,6 @@ diff="diff --color=auto" \
|
|||
ccat="highlight --out-format=ansi" \
|
||||
|
||||
|
||||
# Forget why
|
||||
wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
|
||||
|
||||
ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
|
||||
if [[ ! -d $ZSH_CACHE_DIR ]]; then
|
||||
mkdir $ZSH_CACHE_DIR
|
87
configs/waybar/config
Normal file
87
configs/waybar/config
Normal file
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
// basics
|
||||
|
||||
"spacing": 4,
|
||||
|
||||
|
||||
// modules layout
|
||||
|
||||
"modules-left": ["river/tags"],
|
||||
"modules-center": ["river/window"],
|
||||
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "tray", "clock"],
|
||||
|
||||
|
||||
// modules config
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"format": " {}%"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
}
|
130
configs/waybar/style.css
Normal file
130
configs/waybar/style.css
Normal file
|
@ -0,0 +1,130 @@
|
|||
@import "../../.cache/wal/colors-waybar.css"; /* can't get a nice path? or brainfart */
|
||||
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: @background;
|
||||
border-bottom: 3px solid @color3;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
button {
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Avoid rounded borders under each button name */
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||
button:hover {
|
||||
background: inherit;
|
||||
box-shadow: inset 0 -3px @color2;
|
||||
}
|
||||
|
||||
#tags {
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
#tags button.occupied {
|
||||
box-shadow: inset 0 -3px @color3;
|
||||
}
|
||||
|
||||
#tags button.focused {
|
||||
background-color: @color1;
|
||||
box-shadow: inset 0 -3px @foreground;
|
||||
}
|
||||
#tags button.urgent {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#idle_inhibitor,
|
||||
#clock,
|
||||
#cpu,
|
||||
#memory,
|
||||
#network,
|
||||
#tray,
|
||||
#pulseaudio {
|
||||
background-color: @color1;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #ecf0f1;
|
||||
color: #2d3436;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: #90b1b1;
|
||||
color: #2a5c45;
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: #ffffff;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
|
||||
#wireplumber {
|
||||
background-color: #fff0f5;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#wireplumber.muted {
|
||||
background-color: #f53c3c;
|
||||
}
|
||||
|
||||
#custom-media {
|
||||
background-color: #66cc99;
|
||||
color: #2a5c45;
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#custom-media.custom-spotify {
|
||||
background-color: #66cc99;
|
||||
}
|
||||
|
||||
#custom-media.custom-vlc {
|
||||
background-color: #ffa000;
|
||||
}
|
39
readme.md
39
readme.md
|
@ -1,8 +1,6 @@
|
|||
# Doors are sturdier than windows
|
||||
|
||||
The idea is a one liner to have a quick workbench, like flipping a door on its side for a quick desk.
|
||||
|
||||
I'm writing speedrun install scripts for my personal desktop environment that is:
|
||||
This is my personal desktop environment that is:
|
||||
|
||||
1. Reliable
|
||||
1. Fast
|
||||
|
@ -13,9 +11,9 @@ I'm writing speedrun install scripts for my personal desktop environment that is
|
|||
I try to use the terminal as much as possible for performance and also so it's the same experience whether
|
||||
you're at the computer or connected via ssh.
|
||||
|
||||
Use as much or as little as you need.
|
||||
If it's not here then you probably don't need it.
|
||||
|
||||
## Features
|
||||
## Most Features
|
||||
|
||||
### Shell/Base
|
||||
|
||||
|
@ -23,7 +21,7 @@ Use as much or as little as you need.
|
|||
- [rsync](https://rsync.samba.org/) - For my 'push' alias
|
||||
- [sl](https://github.com/eyJhb/sl) - For when you're too fast
|
||||
- [btop](https://github.com/aristocratos/btop) - Top++
|
||||
- [neovim](https://github.com/neovim/neovim) - Blazingly fast editor
|
||||
- [neovim](https://github.com/neovim/neovim) - Edit text blazingly fast (even over ssh)
|
||||
- [byobu](https://www.byobu.org/) - Comfy multiplexer
|
||||
- [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) - Community enhancements for zsh. Easier than DIY
|
||||
- [nnn](https://github.com/jarun/nnn) - Lightning fast file manager
|
||||
|
@ -33,24 +31,24 @@ Use as much or as little as you need.
|
|||
### Graphical environment
|
||||
|
||||
Business:
|
||||
- [AwesomeWM](https://awesomewm.org/) - Fast and light Tiling WM configured with lua
|
||||
|
||||
- [river](https://github.com/riverwm/river) - Dynamic wayland compositor like DWM
|
||||
- [kitty](https://github.com/kovidgoyal/kitty) - Fast terminal with GPU acceleration and image support
|
||||
- [redshift](https://github.com/jonls/redshift) - Easier on the eyes at night
|
||||
- [picom](https://github.com/yshui/picom) - Compositing
|
||||
- [unclutter](https://github.com/Airblader/unclutter-xfixes) - Hide mouse cursor after inactivity
|
||||
- [xclip](https://github.com/astrand/xclip) - Make clipboard work between terminal and gui
|
||||
- [playerctl](https://github.com/altdesktop/playerctl) - Handle media keys
|
||||
- [acpi](https://archlinux.org/packages/community/x86_64/acpi/) - Power/thermal stuff, standby, etc. You want this for a desktop
|
||||
|
||||
Eye Candy:
|
||||
- [nitrogen](https://github.com/l3ib/nitrogen/) - I use it in my wal script to set wallpaper spanning across multiple screens
|
||||
- [pywal](https://github.com/dylanaraps/pywal) - Set whole system color scheme from wallpaper colors
|
||||
- [pywal-discord](https://github.com/FilipLitwora/pywal-discord) - See above
|
||||
- [wal-telegram](https://github.com/guillaumeboehm/wal-telegram) - See above
|
||||
- [Pywalfox](https://github.com/Frewacom/pywalfox) - See above
|
||||
|
||||
## Install
|
||||
Tested on Arch, Ubuntu Server 22.04, Fedora 37
|
||||
The install script clones this repo, installs a few dependencies, then copies my configs to `$HOME/.config/` creating a backup
|
||||
for any config files that already exist. NOTE: Only one backup per file is saved to prevent piling up backups. It's only meant
|
||||
to catch small oversights and is very verbose.
|
||||
|
||||
Shell tested on Arch, Ubuntu Server 22.04, Fedora 37, it should work just about anywhere.
|
||||
|
||||
### Quick shell (start here):
|
||||
As your new user in your new user's home directory run: (will overwrite some user files)
|
||||
|
@ -59,21 +57,10 @@ As your new user in your new user's home directory run: (will overwrite some use
|
|||
|
||||
2. Log out and log back in
|
||||
|
||||
### Graphical environment
|
||||
If you want a graphical environment run: (Arch only)
|
||||
|
||||
`.scripts/doors/.installdeps_full_arch`
|
||||
|
||||
to get the rest and then:
|
||||
|
||||
```startx``` to load it.
|
||||
|
||||
but it might be missing some things depending on your install profile (still testing)
|
||||
|
||||
## Post Install
|
||||
1. Neovim will be confused on first start until `:PackerSync` is run
|
||||
|
||||
### TODO:
|
||||
- make installer more granular
|
||||
- install full DE
|
||||
- support more distros
|
||||
- make sure full install actually has all deps handled
|
||||
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
cd
|
||||
|
||||
if test -d yay; then
|
||||
rm -rf yay
|
||||
fi
|
||||
|
||||
cd &&
|
||||
if ! type "yay" &> /dev/null; then
|
||||
echo "Yay not found, installing..." &&
|
||||
|
||||
if test -d yay; then
|
||||
rm -rf yay
|
||||
fi &&
|
||||
|
||||
git clone https://aur.archlinux.org/yay.git &&
|
||||
cd yay &&
|
||||
makepkg -si --noconfirm &&
|
||||
cd &&
|
||||
rm -rf yay
|
||||
fi
|
||||
else
|
||||
echo -e "\nYay is already installed, skipping..."
|
||||
fi &&
|
||||
|
||||
echo -e "\nInstalling dependencies..." &&
|
||||
# Base/Shell
|
||||
yay -S --needed --noconfirm \
|
||||
\
|
||||
|
@ -26,11 +30,12 @@ byobu \
|
|||
zsh \
|
||||
lf \
|
||||
nnn \
|
||||
kitty \
|
||||
kitty-terminfo \
|
||||
\
|
||||
`# Aur`\
|
||||
stpv-git \
|
||||
nvim-packer-git \
|
||||
oh-my-zsh-git &&
|
||||
|
||||
echo "" &&
|
||||
sudo chsh -s /bin/zsh $USER
|
56
setup
Executable file
56
setup
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/bin/bash
|
||||
clear
|
||||
|
||||
curl https://doordesk.net/doors
|
||||
|
||||
. /etc/os-release
|
||||
OS=$NAME
|
||||
echo -e "\nDetected OS as $OS"
|
||||
|
||||
if [[ $OS == *Arch* ]]; then
|
||||
cd &&
|
||||
echo "Enabling Pacman colors..." &&
|
||||
sudo sed '/Color/s/^#//' -i /etc/pacman.conf &&
|
||||
|
||||
echo -e "\nVerifying base requirements..." &&
|
||||
sudo pacman -S --needed --noconfirm git base-devel &&
|
||||
|
||||
if test -d .doors; then
|
||||
echo -e "\n$HOME/.doors found, checking for updates..."
|
||||
cd .doors && git pull && cd
|
||||
else
|
||||
echo -e "\n$HOME/.doors not found, creating..."
|
||||
git clone https://github.com/adoyle0/Doors.git .doors
|
||||
fi &&
|
||||
|
||||
.doors/scripts/install_arch
|
||||
|
||||
elif [[ $OS == *buntu* ]]; then
|
||||
cd &&
|
||||
sudo apt-get -y install git rsync &&
|
||||
git clone https://github.com/adoyle0/Doors.git .doors &&
|
||||
.doors/scripts/install_min_ubuntu
|
||||
|
||||
elif [[ $OS == *Fedora* ]]; then
|
||||
cd &&
|
||||
sudo dnf install -y git rsync &&
|
||||
git clone https://github.com/adoyle0/Doors.git .doors &&
|
||||
.doors/scripts/install_min_fedora
|
||||
fi
|
||||
|
||||
echo -e "\nInstalling Configs..." &&
|
||||
cd .doors/configs &&
|
||||
|
||||
for file in *
|
||||
do
|
||||
if test -d $HOME/.config/$file; then
|
||||
echo -e "\n$file already exists, creating backups..."
|
||||
else
|
||||
echo -e "\nWriting $file..."
|
||||
fi
|
||||
cp -rbv $file $HOME/.config/
|
||||
done &&
|
||||
echo -e "\nLinking profile..." &&
|
||||
cp -sbv $HOME/.config/shell/profile $HOME/.zprofile &&
|
||||
|
||||
echo -e "\nDone!"
|
Loading…
Add table
Reference in a new issue