Compare commits
10 Commits
13d2110155
...
wip
| Author | SHA1 | Date | |
|---|---|---|---|
| 9a2a4822c2 | |||
| 9f4a0eb52d | |||
| 2c4d4c2a10 | |||
| 6371fee81b | |||
| d45450227e | |||
| 0be2ea5be3 | |||
| 7ab3c8cdbb | |||
| 410cfe4fca | |||
| baec05802d | |||
| 85553bd9ac |
@@ -7,11 +7,14 @@ require("plugins.auto-session")
|
|||||||
require("plugins.colorscheme")
|
require("plugins.colorscheme")
|
||||||
require("plugins.conform")
|
require("plugins.conform")
|
||||||
require("plugins.flash")
|
require("plugins.flash")
|
||||||
|
require("plugins.guess-indent")
|
||||||
require("plugins.luasnip")
|
require("plugins.luasnip")
|
||||||
require("plugins.multicursor")
|
require("plugins.multicursor")
|
||||||
require("plugins.nvim-various-textobjs")
|
require("plugins.nvim-various-textobjs")
|
||||||
require("plugins.oil")
|
require("plugins.oil")
|
||||||
|
require("plugins.slimline")
|
||||||
require("plugins.snacks")
|
require("plugins.snacks")
|
||||||
require("plugins.telescope")
|
require("plugins.telescope")
|
||||||
require("plugins.surround")
|
require("plugins.surround")
|
||||||
require("plugins.treesitter")
|
require("plugins.treesitter")
|
||||||
|
require("plugins.which-key")
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
return {
|
return {
|
||||||
cmd = 'lua-language-server',
|
cmd = { "lua-language-server" },
|
||||||
filetypes = { 'lua' },
|
filetypes = { "lua" },
|
||||||
rootmarkers = { '.git' },
|
root_markers = { ".luarc.json", ".git" },
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
runtime = {
|
||||||
|
version = "LuaJIT",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ vim.api.nvim_create_autocmd("LspAttach", {
|
|||||||
return { abbr = item.label:gsub("%b()", "") }
|
return { abbr = item.label:gsub("%b()", "") }
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
vim.keymap.set("n", "<leader>a", vim.lsp.buf.code_action)
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action)
|
||||||
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
vim.keymap.set("i", "<C-space>", vim.lsp.completion.get)
|
||||||
vim.keymap.set("n", "<leader>k", function()
|
vim.keymap.set("n", "<leader>k", function()
|
||||||
vim.diagnostic.jump({ float = true, count = -1 })
|
vim.diagnostic.jump({ float = true, count = -1 })
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ vim.g.maplocalleader = " \\"
|
|||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
vim.opt.relativenumber = true
|
vim.opt.relativenumber = true
|
||||||
vim.opt.signcolumn = "yes"
|
vim.opt.signcolumn = "yes"
|
||||||
|
vim.opt.title = true
|
||||||
|
|
||||||
vim.opt.timeout = false
|
vim.opt.timeout = false
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
vim.pack.add({ "https://github.com/rmagatti/auto-session" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>A", "<cmd>AutoSession search<cr>")
|
vim.keymap.set("n", "<leader>wa", "<cmd>AutoSession search<cr>")
|
||||||
|
|
||||||
local ok, sess = pcall(require, "auto-session")
|
local ok, sess = pcall(require, "auto-session")
|
||||||
if ok then
|
if ok then
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
vim.pack.add({ "https://github.com/EdenEast/nightfox.nvim" })
|
vim.pack.add({ "https://github.com/EdenEast/nightfox.nvim", "https://github.com/rebelot/kanagawa.nvim" })
|
||||||
|
|
||||||
local cs = require("config.colorscheme")
|
local cs = require("config.colorscheme")
|
||||||
cs.set_colorschemes("terafox", "dayfox")
|
cs.set_colorschemes("kanagawa-wave", "dayfox")
|
||||||
cs.update_colorscheme()
|
cs.update_colorscheme()
|
||||||
|
|||||||
@@ -6,10 +6,30 @@ if ok then
|
|||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = { "stylua" },
|
lua = { "stylua" },
|
||||||
},
|
},
|
||||||
format_on_save = {
|
format_on_save = function(bufnr)
|
||||||
timeout_ms = 500,
|
-- Disable with a global or buffer-local variable
|
||||||
lsp_format = "fallback",
|
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||||
},
|
return
|
||||||
|
end
|
||||||
|
return { timeout_ms = 500, lsp_format = "fallback" }
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_user_command("FormatDisable", function(args)
|
||||||
|
if args.bang then
|
||||||
|
-- FormatDisable! will disable formatting just for this buffer
|
||||||
|
vim.b.disable_autoformat = true
|
||||||
|
else
|
||||||
|
vim.g.disable_autoformat = true
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
desc = "Disable autoformat-on-save",
|
||||||
|
bang = true,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_user_command("FormatEnable", function()
|
||||||
|
vim.b.disable_autoformat = false
|
||||||
|
vim.g.disable_autoformat = false
|
||||||
|
end, {
|
||||||
|
desc = "Re-enable autoformat-on-save",
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
print("plugin conform missing")
|
print("plugin conform missing")
|
||||||
|
|||||||
8
nvim/.config/nvim/lua/plugins/guess-indent.lua
Normal file
8
nvim/.config/nvim/lua/plugins/guess-indent.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
vim.pack.add({ "https://github.com/NMAC427/guess-indent.nvim" })
|
||||||
|
|
||||||
|
local ok, guess_indent = pcall(require, "guess-indent")
|
||||||
|
if ok then
|
||||||
|
guess_indent.setup()
|
||||||
|
else
|
||||||
|
print("plugin guess-indent missing")
|
||||||
|
end
|
||||||
8
nvim/.config/nvim/lua/plugins/slimline.lua
Normal file
8
nvim/.config/nvim/lua/plugins/slimline.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
vim.pack.add({ "https://github.com/sschleemilch/slimline.nvim" })
|
||||||
|
|
||||||
|
local ok, slimline = pcall(require, "slimline")
|
||||||
|
if ok then
|
||||||
|
slimline.setup()
|
||||||
|
else
|
||||||
|
print("plugin slimline missing")
|
||||||
|
end
|
||||||
8
nvim/.config/nvim/lua/plugins/which-key.lua
Normal file
8
nvim/.config/nvim/lua/plugins/which-key.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
vim.pack.add({ "https://github.com/folke/which-key.nvim" })
|
||||||
|
|
||||||
|
local ok, whichkey = pcall(require, "which-key")
|
||||||
|
if ok then
|
||||||
|
whichkey.setup({ preset = "helix", delay = 1000 })
|
||||||
|
else
|
||||||
|
print("plugin whichkey missing")
|
||||||
|
end
|
||||||
@@ -18,12 +18,22 @@ return {
|
|||||||
"ifse",
|
"ifse",
|
||||||
fmt(
|
fmt(
|
||||||
[[
|
[[
|
||||||
if <>err = <>; err != nil {
|
if <><>err = <>; err != nil {
|
||||||
<>
|
<>
|
||||||
}
|
}
|
||||||
]],
|
]],
|
||||||
{
|
{
|
||||||
i(1),
|
i(1),
|
||||||
|
f(function(args)
|
||||||
|
local a = args[1][1]
|
||||||
|
if string.sub(a, -2) == ", " or a == "" then
|
||||||
|
return ""
|
||||||
|
elseif string.sub(a, -1) == "," then
|
||||||
|
return " "
|
||||||
|
else
|
||||||
|
return ", "
|
||||||
|
end
|
||||||
|
end, { 1 }),
|
||||||
i(2),
|
i(2),
|
||||||
i(0),
|
i(0),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -21,6 +21,14 @@
|
|||||||
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
"rev": "fcea7ff883235d9024dc41e638f164a450c14ca2",
|
||||||
"src": "https://github.com/folke/flash.nvim"
|
"src": "https://github.com/folke/flash.nvim"
|
||||||
},
|
},
|
||||||
|
"guess-indent.nvim": {
|
||||||
|
"rev": "84a4987ff36798c2fc1169cbaff67960aed9776f",
|
||||||
|
"src": "https://github.com/NMAC427/guess-indent.nvim"
|
||||||
|
},
|
||||||
|
"kanagawa.nvim": {
|
||||||
|
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
|
||||||
|
"src": "https://github.com/rebelot/kanagawa.nvim"
|
||||||
|
},
|
||||||
"multicursor.nvim": {
|
"multicursor.nvim": {
|
||||||
"rev": "993c6eda70077c5619388900dcffefff73b40c96",
|
"rev": "993c6eda70077c5619388900dcffefff73b40c96",
|
||||||
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
"src": "https://github.com/jake-stewart/multicursor.nvim",
|
||||||
@@ -57,6 +65,10 @@
|
|||||||
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||||
"src": "https://github.com/nvim-lua/plenary.nvim"
|
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||||
},
|
},
|
||||||
|
"slimline.nvim": {
|
||||||
|
"rev": "b23d6239ae06d7b422b30b227756971348ffcd68",
|
||||||
|
"src": "https://github.com/sschleemilch/slimline.nvim"
|
||||||
|
},
|
||||||
"snacks.nvim": {
|
"snacks.nvim": {
|
||||||
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
|
"rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b",
|
||||||
"src": "https://github.com/folke/snacks.nvim"
|
"src": "https://github.com/folke/snacks.nvim"
|
||||||
@@ -78,6 +90,10 @@
|
|||||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||||
"version": "'v0.2.1'"
|
"version": "'v0.2.1'"
|
||||||
|
},
|
||||||
|
"which-key.nvim": {
|
||||||
|
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
||||||
|
"src": "https://github.com/folke/which-key.nvim"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
5
oxwm/.config/oxwm/.luarc.json
Normal file
5
oxwm/.config/oxwm/.luarc.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"workspace.library" : [
|
||||||
|
"/usr/local/share/oxwm"
|
||||||
|
]
|
||||||
|
}
|
||||||
321
oxwm/.config/oxwm/config.lua
Normal file
321
oxwm/.config/oxwm/config.lua
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
---@meta
|
||||||
|
|
||||||
|
---Load type definitions for LSP
|
||||||
|
---@module 'oxwm'
|
||||||
|
|
||||||
|
-- Modifier key: "Mod4" is the Super/Windows key, "Mod1" is Alt
|
||||||
|
local modkey = "Mod4"
|
||||||
|
|
||||||
|
-- Terminal emulator command (defaults to alacritty)
|
||||||
|
local terminal = "st"
|
||||||
|
|
||||||
|
local colors
|
||||||
|
local f = io.open(os.getenv("HOME") .. "/.lightmode")
|
||||||
|
if f ~= nil then
|
||||||
|
io.close(f)
|
||||||
|
colors = require("light")
|
||||||
|
else
|
||||||
|
colors = require("dark")
|
||||||
|
end
|
||||||
|
os.execute("hsetroot -solid '" .. colors.bg .. "'")
|
||||||
|
|
||||||
|
-- Workspace tags - can be numbers, names, or icons (requires a Nerd Font)
|
||||||
|
local tags = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }
|
||||||
|
|
||||||
|
-- Font for the status bar (use "fc-list" to see available fonts)
|
||||||
|
local bar_font = "monospace:style=Bold:size=10"
|
||||||
|
|
||||||
|
-- Define your blocks
|
||||||
|
-- Similar to widgets in qtile, or dwmblocks
|
||||||
|
local blocks = {
|
||||||
|
oxwm.bar.block.ram({
|
||||||
|
format = "Ram: {used}/{total} GB",
|
||||||
|
interval = 5,
|
||||||
|
color = colors.light_blue,
|
||||||
|
underline = false,
|
||||||
|
}),
|
||||||
|
oxwm.bar.block.static({
|
||||||
|
text = " │ ",
|
||||||
|
interval = 999999999,
|
||||||
|
color = colors.lavender,
|
||||||
|
underline = false,
|
||||||
|
}),
|
||||||
|
oxwm.bar.block.shell({
|
||||||
|
format = "{}",
|
||||||
|
command = "uname -r",
|
||||||
|
interval = 999999999,
|
||||||
|
color = colors.red,
|
||||||
|
underline = false,
|
||||||
|
}),
|
||||||
|
-- oxwm.bar.block.static({
|
||||||
|
-- text = " │ ",
|
||||||
|
-- interval = 999999999,
|
||||||
|
-- color = colors.lavender,
|
||||||
|
-- underline = false,
|
||||||
|
-- }),
|
||||||
|
-- oxwm.bar.block.battery({
|
||||||
|
-- format = "Bat: {}%",
|
||||||
|
-- charging = "⚡ Bat: {}%",
|
||||||
|
-- discharging = "- Bat: {}%",
|
||||||
|
-- full = "✓ Bat: {}%",
|
||||||
|
-- interval = 30,
|
||||||
|
-- color = colors.green,
|
||||||
|
-- underline = false,
|
||||||
|
-- }),
|
||||||
|
oxwm.bar.block.static({
|
||||||
|
text = " │ ",
|
||||||
|
interval = 999999999,
|
||||||
|
color = colors.lavender,
|
||||||
|
underline = false,
|
||||||
|
}),
|
||||||
|
oxwm.bar.block.datetime({
|
||||||
|
format = "{}",
|
||||||
|
date_format = "%a, %b %d - %H:%M",
|
||||||
|
interval = 1,
|
||||||
|
color = colors.cyan,
|
||||||
|
underline = false,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Basic Settings
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
oxwm.set_terminal(terminal)
|
||||||
|
oxwm.set_modkey(modkey) -- This is for Mod + mouse binds, such as drag/resize
|
||||||
|
oxwm.set_tags(tags)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Layouts
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Set custom symbols for layouts (displayed in the status bar)
|
||||||
|
-- Available layouts: "tiling", "normie" (floating), "grid", "monocle", "tabbed"
|
||||||
|
oxwm.set_layout_symbol("tiling", "[T]")
|
||||||
|
oxwm.set_layout_symbol("normie", "[F]")
|
||||||
|
oxwm.set_layout_symbol("tabbed", "[=]")
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Appearance
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Border configuration
|
||||||
|
|
||||||
|
-- Width in pixels
|
||||||
|
oxwm.border.set_width(3)
|
||||||
|
-- Color of focused window border
|
||||||
|
oxwm.border.set_focused_color(colors.orange)
|
||||||
|
-- Color of unfocused window borders
|
||||||
|
oxwm.border.set_unfocused_color(colors.grey)
|
||||||
|
|
||||||
|
-- Smart Enabled = No border if 1 window
|
||||||
|
oxwm.gaps.set_smart(true)
|
||||||
|
-- Inner gaps (horizontal, vertical) in pixels
|
||||||
|
oxwm.gaps.set_inner(5, 5)
|
||||||
|
-- Outer gaps (horizontal, vertical) in pixels
|
||||||
|
oxwm.gaps.set_outer(5, 5)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Window Rules
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Rules allow you to automatically configure windows based on their properties
|
||||||
|
-- You can match windows by class, instance, title, or role
|
||||||
|
-- Available properties: floating, tag, fullscreen, etc.
|
||||||
|
--
|
||||||
|
-- Common use cases:
|
||||||
|
-- - Force floating for certain applications (dialogs, utilities)
|
||||||
|
-- - Send specific applications to specific workspaces
|
||||||
|
-- - Configure window behavior based on title or class
|
||||||
|
|
||||||
|
-- Examples (uncomment to use):
|
||||||
|
oxwm.rule.add({ instance = "gimp", floating = true })
|
||||||
|
-- oxwm.rule.add({ class = "Alacritty", tag = 9, focus = true })
|
||||||
|
-- oxwm.rule.add({ class = "firefox", title = "Library", floating = true })
|
||||||
|
-- oxwm.rule.add({ class = "firefox", tag = 2 })
|
||||||
|
-- oxwm.rule.add({ instance = "mpv", floating = true })
|
||||||
|
|
||||||
|
-- To find window properties, use xprop and click on the window
|
||||||
|
-- WM_CLASS(STRING) shows both instance and class (instance, class)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Status Bar Configuration
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Font configuration
|
||||||
|
oxwm.bar.set_font(bar_font)
|
||||||
|
|
||||||
|
-- Set your blocks here (defined above)
|
||||||
|
oxwm.bar.set_blocks(blocks)
|
||||||
|
|
||||||
|
-- Bar color schemes (for workspace tag display)
|
||||||
|
-- Parameters: foreground, background, border
|
||||||
|
|
||||||
|
-- Unoccupied tags
|
||||||
|
oxwm.bar.set_scheme_normal(colors.fg, colors.bg, "#444444")
|
||||||
|
-- Occupied tags
|
||||||
|
oxwm.bar.set_scheme_occupied(colors.cyan, colors.bg, colors.cyan)
|
||||||
|
-- Currently selected tag
|
||||||
|
oxwm.bar.set_scheme_selected(colors.orange, colors.bg, colors.orange)
|
||||||
|
-- Urgent tags (windows requesting attention)
|
||||||
|
oxwm.bar.set_scheme_urgent(colors.red, colors.bg, colors.red)
|
||||||
|
|
||||||
|
-- Hide tags that have no windows and are not selected
|
||||||
|
-- oxwm.bar.set_hide_vacant_tags(true)
|
||||||
|
--
|
||||||
|
function shell_quote(s)
|
||||||
|
return '"' .. string.gsub(s, '[$"!`\\]', "\\%1") .. '"'
|
||||||
|
end
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Keybindings
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Keybindings are defined using oxwm.key.bind(modifiers, key, action)
|
||||||
|
-- Modifiers: {"Mod4"}, {"Mod1"}, {"Shift"}, {"Control"}, or combinations like {"Mod4", "Shift"}
|
||||||
|
-- Keys: Use uppercase for letters (e.g., "Return", "H", "J", "K", "L")
|
||||||
|
-- Actions: Functions that return actions (e.g., oxwm.spawn(), oxwm.client.kill())
|
||||||
|
--
|
||||||
|
-- A list of available keysyms can be found in the X11 keysym definitions.
|
||||||
|
-- Common keys: Return, Space, Tab, Escape, Backspace, Delete, Left, Right, Up, Down
|
||||||
|
|
||||||
|
-- Basic window management
|
||||||
|
|
||||||
|
oxwm.key.bind({ modkey }, "Return", oxwm.spawn_terminal())
|
||||||
|
-- Launch Dmenu
|
||||||
|
oxwm.key.bind(
|
||||||
|
{ modkey },
|
||||||
|
"P",
|
||||||
|
oxwm.spawn({
|
||||||
|
"sh",
|
||||||
|
"-c",
|
||||||
|
"dmenu_run -l 10 -fn " .. shell_quote(bar_font) .. " -nb " .. shell_quote(colors.bg) .. " -nf " .. shell_quote(
|
||||||
|
colors.fg
|
||||||
|
) .. " -sb " .. shell_quote(colors.orange) .. " -sf " .. shell_quote(colors.black),
|
||||||
|
})
|
||||||
|
)
|
||||||
|
-- Copy screenshot to clipboard
|
||||||
|
oxwm.key.bind({ modkey }, "S", oxwm.spawn({ "sh", "-c", "maim -s | xclip -selection clipboard -t image/png" }))
|
||||||
|
oxwm.key.bind({ modkey }, "X", oxwm.client.kill())
|
||||||
|
|
||||||
|
-- Keybind overlay - Shows important keybindings on screen
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "Slash", oxwm.show_keybinds())
|
||||||
|
|
||||||
|
-- Window state toggles
|
||||||
|
oxwm.key.bind({ modkey }, "F", oxwm.client.toggle_fullscreen())
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "Space", oxwm.client.toggle_floating())
|
||||||
|
|
||||||
|
-- Layout management
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "F", oxwm.layout.set("normie"))
|
||||||
|
oxwm.key.bind({ modkey }, "T", oxwm.layout.set("tiling"))
|
||||||
|
oxwm.key.bind({ modkey }, "G", oxwm.layout.set("grid"))
|
||||||
|
oxwm.key.bind({ modkey }, "M", oxwm.layout.set("monocle"))
|
||||||
|
oxwm.key.bind({ modkey }, "B", oxwm.layout.set("tabbed"))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "S", oxwm.layout.set("scrolling"))
|
||||||
|
oxwm.key.bind({ modkey }, "N", oxwm.layout.cycle())
|
||||||
|
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "T", oxwm.spawn({ "lupan-set-theme", "toggle" }))
|
||||||
|
|
||||||
|
-- Master area controls (tiling layout)
|
||||||
|
|
||||||
|
-- Decrease/Increase master area width
|
||||||
|
oxwm.key.bind({ modkey }, "H", oxwm.set_master_factor(-5))
|
||||||
|
oxwm.key.bind({ modkey }, "L", oxwm.set_master_factor(5))
|
||||||
|
-- Increment/Decrement number of master windows
|
||||||
|
oxwm.key.bind({ modkey }, "I", oxwm.inc_num_master(1))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "I", oxwm.inc_num_master(-1))
|
||||||
|
|
||||||
|
-- Gaps toggle
|
||||||
|
oxwm.key.bind({ modkey }, "A", oxwm.toggle_gaps())
|
||||||
|
|
||||||
|
-- Window manager controls
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "Q", oxwm.quit())
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "R", oxwm.restart())
|
||||||
|
|
||||||
|
-- Focus movement [1 for up in the stack, -1 for down]
|
||||||
|
oxwm.key.bind({ modkey }, "J", oxwm.client.focus_stack(1))
|
||||||
|
oxwm.key.bind({ modkey }, "K", oxwm.client.focus_stack(-1))
|
||||||
|
|
||||||
|
-- Window movement (swap position in stack)
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "J", oxwm.client.move_stack(1))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "K", oxwm.client.move_stack(-1))
|
||||||
|
|
||||||
|
-- Multi-monitor support
|
||||||
|
|
||||||
|
-- Focus next/previous Monitors
|
||||||
|
oxwm.key.bind({ modkey }, "Comma", oxwm.monitor.focus(-1))
|
||||||
|
oxwm.key.bind({ modkey }, "Period", oxwm.monitor.focus(1))
|
||||||
|
-- Move window to next/previous Monitors
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "Comma", oxwm.monitor.tag(-1))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "Period", oxwm.monitor.tag(1))
|
||||||
|
|
||||||
|
-- Workspace (tag) navigation
|
||||||
|
-- Switch to workspace N (tags are 0-indexed, so tag "1" is index 0)
|
||||||
|
oxwm.key.bind({ modkey }, "1", oxwm.tag.view(0))
|
||||||
|
oxwm.key.bind({ modkey }, "2", oxwm.tag.view(1))
|
||||||
|
oxwm.key.bind({ modkey }, "3", oxwm.tag.view(2))
|
||||||
|
oxwm.key.bind({ modkey }, "4", oxwm.tag.view(3))
|
||||||
|
oxwm.key.bind({ modkey }, "5", oxwm.tag.view(4))
|
||||||
|
oxwm.key.bind({ modkey }, "6", oxwm.tag.view(5))
|
||||||
|
oxwm.key.bind({ modkey }, "7", oxwm.tag.view(6))
|
||||||
|
oxwm.key.bind({ modkey }, "8", oxwm.tag.view(7))
|
||||||
|
oxwm.key.bind({ modkey }, "9", oxwm.tag.view(8))
|
||||||
|
|
||||||
|
-- Move focused window to workspace N
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "1", oxwm.tag.move_to(0))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "2", oxwm.tag.move_to(1))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "3", oxwm.tag.move_to(2))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "4", oxwm.tag.move_to(3))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "5", oxwm.tag.move_to(4))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "6", oxwm.tag.move_to(5))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "7", oxwm.tag.move_to(6))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "8", oxwm.tag.move_to(7))
|
||||||
|
oxwm.key.bind({ modkey, "Shift" }, "9", oxwm.tag.move_to(8))
|
||||||
|
|
||||||
|
-- Combo view (view multiple tags at once) {argos_nothing}
|
||||||
|
-- Example: Mod+Ctrl+2 while on tag 1 will show BOTH tags 1 and 2
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "1", oxwm.tag.toggleview(0))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "2", oxwm.tag.toggleview(1))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "3", oxwm.tag.toggleview(2))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "4", oxwm.tag.toggleview(3))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "5", oxwm.tag.toggleview(4))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "6", oxwm.tag.toggleview(5))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "7", oxwm.tag.toggleview(6))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "8", oxwm.tag.toggleview(7))
|
||||||
|
oxwm.key.bind({ modkey, "Control" }, "9", oxwm.tag.toggleview(8))
|
||||||
|
|
||||||
|
-- Multi tag (window on multiple tags)
|
||||||
|
-- Example: Mod+Ctrl+Shift+2 puts focused window on BOTH current tag and tag 2
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "1", oxwm.tag.toggletag(0))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "2", oxwm.tag.toggletag(1))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "3", oxwm.tag.toggletag(2))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "4", oxwm.tag.toggletag(3))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "5", oxwm.tag.toggletag(4))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "6", oxwm.tag.toggletag(5))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "7", oxwm.tag.toggletag(6))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "8", oxwm.tag.toggletag(7))
|
||||||
|
oxwm.key.bind({ modkey, "Control", "Shift" }, "9", oxwm.tag.toggletag(8))
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Advanced: Keychords
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Keychords allow you to bind multiple-key sequences (like Emacs or Vim)
|
||||||
|
-- Format: {{modifiers}, key1}, {{modifiers}, key2}, ...
|
||||||
|
-- Example: Press Mod4+Space, then release and press T to spawn a terminal
|
||||||
|
oxwm.key.chord({
|
||||||
|
{ { modkey }, "Space" },
|
||||||
|
{ {}, "T" },
|
||||||
|
}, oxwm.spawn_terminal())
|
||||||
|
oxwm.key.chord({
|
||||||
|
{ { modkey }, "Space" },
|
||||||
|
{ {}, "F" },
|
||||||
|
}, oxwm.spawn({ "firefox" }))
|
||||||
|
oxwm.key.chord({
|
||||||
|
{ { modkey }, "Space" },
|
||||||
|
{ {}, "L" },
|
||||||
|
}, oxwm.spawn({ "slock" }))
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Autostart
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Commands to run once when OXWM starts
|
||||||
|
-- Uncomment and modify these examples, or add your own
|
||||||
|
|
||||||
|
-- oxwm.autostart("picom")
|
||||||
|
-- oxwm.autostart("feh --bg-scale ~/wallpaper.jpg")
|
||||||
|
-- oxwm.autostart("dunst")
|
||||||
|
-- oxwm.autostart("nm-applet")
|
||||||
14
oxwm/.config/oxwm/dark.lua
Normal file
14
oxwm/.config/oxwm/dark.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
fg = "#aaaaaa",
|
||||||
|
red = "#f7768e",
|
||||||
|
bg = "#1a1b26",
|
||||||
|
black = "#1a1b26",
|
||||||
|
cyan = "#0db9d7",
|
||||||
|
green = "#9ece6a",
|
||||||
|
lavender = "#a9b1d6",
|
||||||
|
light_blue = "#7aa2f7",
|
||||||
|
grey = "#737373",
|
||||||
|
blue = "#6dade3",
|
||||||
|
purple = "#ad8ee6",
|
||||||
|
orange = "#bd6628",
|
||||||
|
}
|
||||||
14
oxwm/.config/oxwm/light.lua
Normal file
14
oxwm/.config/oxwm/light.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
fg = "#1a1b26",
|
||||||
|
red = "#b94646",
|
||||||
|
bg = "#dddddd",
|
||||||
|
black = "#1a1b26",
|
||||||
|
cyan = "#4d8080",
|
||||||
|
green = "#9ece6a",
|
||||||
|
lavender = "#a9b1d6",
|
||||||
|
light_blue = "#7aa2f7",
|
||||||
|
grey = "#bbbbbb",
|
||||||
|
blue = "#6dade3",
|
||||||
|
purple = "#ad8ee6",
|
||||||
|
orange = "#d78042",
|
||||||
|
}
|
||||||
@@ -58,31 +58,55 @@ XTerm.vt100.color15: #ECEFF4
|
|||||||
|
|
||||||
st.font: FiraCode Nerd Font:size=10
|
st.font: FiraCode Nerd Font:size=10
|
||||||
|
|
||||||
! terrafox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/terafox/alacritty.toml
|
! kanagawa wave colors from https://github.com/rebelot/kanagawa.nvim/blob/master/extras/alacritty/kanagawa_wave.toml
|
||||||
! dayfox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/dayfox/alacritty.toml
|
! dayfox colors from https://github.com/edeneast/nightfox.nvim/raw/main/extra/dayfox/alacritty.toml
|
||||||
|
|
||||||
|
Zutty.font: monaspaceneon
|
||||||
|
Zutty.fontpath: /usr/share/fonts:HOME/.local/share/fonts
|
||||||
|
Zutty.fontsize: 20
|
||||||
|
|
||||||
#ifdef THEME_DARK
|
#ifdef THEME_DARK
|
||||||
st.lightmode: 0
|
st.lightmode: 0
|
||||||
st.background: #152528
|
st.background: #1f1f28
|
||||||
st.foreground: #e6eaea
|
st.foreground: #dcd7ba
|
||||||
st.cursorColor: #cbd9d8
|
st.cursorColor: #cbd9d8
|
||||||
st.reverse-cursor: #e6eaea
|
st.reverse-cursor: #e6eaea
|
||||||
st.color0: #2f3239
|
st.color0: #090618
|
||||||
st.color1: #e85c51
|
st.color1: #c34043
|
||||||
st.color2: #7aa4a1
|
st.color2: #76946a
|
||||||
st.color3: #fda47f
|
st.color3: #c0a36e
|
||||||
st.color4: #5a93aa
|
st.color4: #7e9cd8
|
||||||
st.color5: #ad5c7c
|
st.color5: #957fb8
|
||||||
st.color6: #a1cdd8
|
st.color6: #6a9589
|
||||||
st.color7: #ebebeb
|
st.color7: #c8c093
|
||||||
st.color8: #4e5157
|
st.color8: #727169
|
||||||
st.color9: #eb746b
|
st.color9: #e82424
|
||||||
st.color10: #8eb2af
|
st.color10: #98bb6c
|
||||||
st.color11: #fdb292
|
st.color11: #e6c384
|
||||||
st.color12: #73a3b7
|
st.color12: #7fb4ca
|
||||||
st.color13: #b97490
|
st.color13: #938aa9
|
||||||
st.color14: #afd4de
|
st.color14: #7aa89f
|
||||||
st.color15: #eeeeee
|
st.color15: #dcd7ba
|
||||||
|
|
||||||
|
Zutty.bg: #1f1f28
|
||||||
|
Zutty.fg: #dcd7ba
|
||||||
|
Zutty.cr: #cbd9d8
|
||||||
|
Zutty.color0: #090618
|
||||||
|
Zutty.color1: #c34043
|
||||||
|
Zutty.color2: #76946a
|
||||||
|
Zutty.color3: #c0a36e
|
||||||
|
Zutty.color4: #7e9cd8
|
||||||
|
Zutty.color5: #957fb8
|
||||||
|
Zutty.color6: #6a9589
|
||||||
|
Zutty.color7: #c8c093
|
||||||
|
Zutty.color8: #727169
|
||||||
|
Zutty.color9: #e82424
|
||||||
|
Zutty.color10: #98bb6c
|
||||||
|
Zutty.color11: #e6c384
|
||||||
|
Zutty.color12: #7fb4ca
|
||||||
|
Zutty.color13: #938aa9
|
||||||
|
Zutty.color14: #7aa89f
|
||||||
|
Zutty.color15: #dcd7ba
|
||||||
#else
|
#else
|
||||||
st.lightmode: 1
|
st.lightmode: 1
|
||||||
st.background: #f6f2ee
|
st.background: #f6f2ee
|
||||||
@@ -105,4 +129,24 @@ st.color12: #4863b6
|
|||||||
st.color13: #8452d5
|
st.color13: #8452d5
|
||||||
st.color14: #488d93
|
st.color14: #488d93
|
||||||
st.color15: #f4ece6
|
st.color15: #f4ece6
|
||||||
|
|
||||||
|
Zutty.bg: #f6f2ee
|
||||||
|
Zutty.fg: #3d2b5a
|
||||||
|
Zutty.cr: #643f61
|
||||||
|
Zutty.color0: #352c24
|
||||||
|
Zutty.color1: #a5222f
|
||||||
|
Zutty.color2: #396847
|
||||||
|
Zutty.color3: #ac5402
|
||||||
|
Zutty.color4: #2848a9
|
||||||
|
Zutty.color5: #6e33ce
|
||||||
|
Zutty.color6: #287980
|
||||||
|
Zutty.color7: #f2e9e1
|
||||||
|
Zutty.color8: #534c45
|
||||||
|
Zutty.color9: #b3434e
|
||||||
|
Zutty.color10: #577f63
|
||||||
|
Zutty.color11: #b86e28
|
||||||
|
Zutty.color12: #4863b6
|
||||||
|
Zutty.color13: #8452d5
|
||||||
|
Zutty.color14: #488d93
|
||||||
|
Zutty.color15: #f4ece6
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ xset b off
|
|||||||
xrandr --auto
|
xrandr --auto
|
||||||
xrandr --output DP-0 --left-of DP-2 --primary
|
xrandr --output DP-0 --left-of DP-2 --primary
|
||||||
xrandr --output HDMI-0 --left-of DP-0
|
xrandr --output HDMI-0 --left-of DP-0
|
||||||
xrdb -merge ~/.Xresources
|
xrdb -merge ~/.Xresources -DHOME="$HOME"
|
||||||
setxkbmap pl -option ctrl:nocaps
|
setxkbmap pl -option ctrl:nocaps
|
||||||
|
|
||||||
if [ -x ~/.fehbg ]; then
|
if [ -x ~/.fehbg ]; then
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ if [ -n "$XRES" ]; then
|
|||||||
elif [ "$THEME" = light ]; then
|
elif [ "$THEME" = light ]; then
|
||||||
sed -i 's/^#define THEME_DARK/#undef THEME_DARK/' "$XRES"
|
sed -i 's/^#define THEME_DARK/#undef THEME_DARK/' "$XRES"
|
||||||
fi
|
fi
|
||||||
xrdb -merge "$XRES"
|
xrdb -merge "$XRES" -DHOME="$HOME"
|
||||||
pkill -USR1 '^st$'
|
pkill -USR1 '^st$'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user