Compare commits
No commits in common. "87d01580ee206507f8e00241619e4f90af018540" and "8e3ee75589025610abb0b1b68c390c990fdf59ba" have entirely different histories.
87d01580ee
...
8e3ee75589
41 changed files with 0 additions and 1989 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,2 @@
|
||||||
.env
|
.env
|
||||||
*.sqlite3*
|
*.sqlite3*
|
||||||
*.svg
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
--[[
|
|
||||||
If you don't know anything about Lua, I recommend taking some time to read through
|
|
||||||
a guide. One possible example which will only take 10-15 minutes:
|
|
||||||
- https://learnxinyminutes.com/docs/lua/
|
|
||||||
|
|
||||||
After understanding a bit more about Lua, you can use `:help lua-guide` as a
|
|
||||||
reference for how Neovim integrates Lua.
|
|
||||||
- :help lua-guide
|
|
||||||
- (or HTML version): https://neovim.io/doc/user/lua-guide.html
|
|
||||||
]]
|
|
||||||
|
|
||||||
vim.g.mapleader = ' '
|
|
||||||
vim.g.maplocalleader = ' '
|
|
||||||
|
|
||||||
-- Set to true if you have a Nerd Font installed and selected in the terminal
|
|
||||||
vim.g.have_nerd_font = true
|
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
|
||||||
require 'options'
|
|
||||||
|
|
||||||
-- [[ Basic Keymaps ]]
|
|
||||||
require 'keymaps'
|
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
|
||||||
require 'lazy-bootstrap'
|
|
||||||
|
|
||||||
-- [[ Configure and install plugins ]]
|
|
||||||
require 'lazy-plugins'
|
|
||||||
|
|
||||||
-- The line beneath this is called `modeline`. See `:help modeline`
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
|
||||||
"blink.cmp": { "branch": "main", "commit": "4f38ce99a472932d5776337f08f7a8180f1f571a" },
|
|
||||||
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
|
||||||
"mini.nvim": { "branch": "main", "commit": "ee23e1abc206efc6d6cce19ec8c0a3da7a897035" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "46434074f188e6bfccf9d9153dd8be6b1381498b" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
|
||||||
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
|
||||||
"vim-tmux-navigator": { "branch": "master", "commit": "33afa80db65113561dc53fa732b7f5e53d5ecfd0" },
|
|
||||||
"vim-tmux-runner": { "branch": "master", "commit": "eead441119d9863227f4c39dac7890aa09d6b4cd" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
-- [[ Basic Keymaps ]]
|
|
||||||
-- See `:help vim.keymap.set()`
|
|
||||||
|
|
||||||
vim.keymap.set('i', 'jk', '<Esc>')
|
|
||||||
|
|
||||||
-- Clear highlights on search when pressing <Esc> in normal mode
|
|
||||||
-- See `:help hlsearch`
|
|
||||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
|
||||||
|
|
||||||
-- Diagnostic keymaps
|
|
||||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
|
||||||
|
|
||||||
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
|
|
||||||
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
|
|
||||||
-- is not what someone will guess without a bit more experience.
|
|
||||||
--
|
|
||||||
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
|
|
||||||
-- or just use <C-\><C-n> to exit terminal mode
|
|
||||||
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
|
||||||
|
|
||||||
-- TIP: Disable arrow keys in normal mode
|
|
||||||
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
|
|
||||||
|
|
||||||
-- Keybinds to make split navigation easier.
|
|
||||||
-- Use CTRL+<hjkl> to switch between windows
|
|
||||||
--
|
|
||||||
-- See `:help wincmd` for a list of all window commands
|
|
||||||
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<S-down>', '<C-w>-', { desc = 'Decrease current window height' })
|
|
||||||
vim.keymap.set('n', '<S-up>', '<C-w>+', { desc = 'Increase current window height' })
|
|
||||||
vim.keymap.set('n', '<S-left>', '<C-w><', { desc = 'Decrease current window width' })
|
|
||||||
vim.keymap.set('n', '<S-right>', '<C-w>>', { desc = 'Increase current window width' })
|
|
||||||
|
|
||||||
vim.keymap.set('n', '<C-left>', '<cmd>vertical resize -5<cr>', { desc = 'Decrease current window height' })
|
|
||||||
vim.keymap.set('n', '<C-right>', '<cmd>vertical resize +5<cr>', { desc = 'Decrease current window height' })
|
|
||||||
vim.keymap.set('n', '<C-up>', '<cmd>horizontal resize -5<cr>', { desc = 'Decrease current window height' })
|
|
||||||
vim.keymap.set('n', '<C-down>', '<cmd>horizontal resize +5<cr>', { desc = 'Decrease current window height' })
|
|
||||||
|
|
||||||
-- [[ Basic Autocommands ]]
|
|
||||||
-- See `:help lua-guide-autocommands`
|
|
||||||
|
|
||||||
-- Highlight when yanking (copying) text
|
|
||||||
-- Try it with `yap` in normal mode
|
|
||||||
-- See `:help vim.highlight.on_yank()`
|
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
|
||||||
desc = 'Highlight when yanking (copying) text',
|
|
||||||
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
|
||||||
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
|
||||||
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = 'https://github.com/folke/lazy.nvim.git'
|
|
||||||
local out = vim.fn.system { 'git', 'clone', '--filter=blob:none', '--branch=stable', lazyrepo, lazypath }
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
error('Error cloning lazy.nvim:\n' .. out)
|
|
||||||
end
|
|
||||||
end ---@diagnostic disable-next-line: undefined-field
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
-- [[ Configure and install plugins ]]
|
|
||||||
--
|
|
||||||
-- To check the current status of your plugins, run
|
|
||||||
-- :Lazy
|
|
||||||
--
|
|
||||||
-- You can press `?` in this menu for help. Use `:q` to close the window
|
|
||||||
--
|
|
||||||
-- To update plugins you can run
|
|
||||||
-- :Lazy update
|
|
||||||
--
|
|
||||||
-- NOTE: Here is where you install your plugins.
|
|
||||||
require('lazy').setup({
|
|
||||||
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
|
|
||||||
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
|
|
||||||
'christoomey/vim-tmux-navigator',
|
|
||||||
'christoomey/vim-tmux-runner',
|
|
||||||
require 'plugins/which-key',
|
|
||||||
require 'plugins/gitsigns',
|
|
||||||
require 'plugins/mini',
|
|
||||||
require 'plugins/telescope',
|
|
||||||
require 'plugins/lspconfig',
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
version = "v2.*", -- Replace <CurrentMajor> by the latest released major (first number of latest release)
|
|
||||||
build = "make install_jsregexp"
|
|
||||||
}
|
|
||||||
|
|
||||||
}, {
|
|
||||||
ui = {
|
|
||||||
-- If you are using a Nerd Font: set icons to an empty table which will use the
|
|
||||||
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
|
|
||||||
icons = vim.g.have_nerd_font and {} or {
|
|
||||||
cmd = '⌘',
|
|
||||||
config = '🛠',
|
|
||||||
event = '📅',
|
|
||||||
ft = '📂',
|
|
||||||
init = '⚙',
|
|
||||||
keys = '🗝',
|
|
||||||
plugin = '🔌',
|
|
||||||
runtime = '💻',
|
|
||||||
require = '🌙',
|
|
||||||
source = '📄',
|
|
||||||
start = '🚀',
|
|
||||||
task = '📌',
|
|
||||||
lazy = '💤 ',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
-- [[ Setting options ]]
|
|
||||||
-- See `:help vim.opt`
|
|
||||||
-- NOTE: You can change these options as you wish!
|
|
||||||
-- For more options, you can see `:help option-list`
|
|
||||||
|
|
||||||
-- Make line numbers default
|
|
||||||
vim.opt.number = true
|
|
||||||
-- You can also add relative line numbers, to help with jumping.
|
|
||||||
-- Experiment for yourself to see if you like it!
|
|
||||||
-- vim.opt.relativenumber = true
|
|
||||||
|
|
||||||
-- Enable mouse mode, can be useful for resizing splits for example!
|
|
||||||
vim.opt.mouse = 'a'
|
|
||||||
|
|
||||||
-- Don't show the mode, since it's already in the status line
|
|
||||||
vim.opt.showmode = false
|
|
||||||
|
|
||||||
-- Sync clipboard between OS and Neovim.
|
|
||||||
-- Schedule the setting after `UiEnter` because it can increase startup-time.
|
|
||||||
-- Remove this option if you want your OS clipboard to remain independent.
|
|
||||||
-- See `:help 'clipboard'`
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.opt.clipboard = 'unnamedplus'
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- Enable break indent
|
|
||||||
vim.opt.breakindent = true
|
|
||||||
|
|
||||||
-- Save undo history
|
|
||||||
vim.opt.undofile = true
|
|
||||||
|
|
||||||
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.smartcase = true
|
|
||||||
|
|
||||||
-- Keep signcolumn on by default
|
|
||||||
vim.opt.signcolumn = 'yes'
|
|
||||||
|
|
||||||
-- Decrease update time
|
|
||||||
vim.opt.updatetime = 250
|
|
||||||
|
|
||||||
-- Decrease mapped sequence wait time
|
|
||||||
-- Displays which-key popup sooner
|
|
||||||
vim.opt.timeoutlen = 300
|
|
||||||
|
|
||||||
-- Configure how new splits should be opened
|
|
||||||
vim.opt.splitright = true
|
|
||||||
vim.opt.splitbelow = true
|
|
||||||
|
|
||||||
-- Sets how neovim will display certain whitespace characters in the editor.
|
|
||||||
-- See `:help 'list'`
|
|
||||||
-- and `:help 'listchars'`
|
|
||||||
vim.opt.list = true
|
|
||||||
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
|
||||||
|
|
||||||
-- Preview substitutions live, as you type!
|
|
||||||
vim.opt.inccommand = 'split'
|
|
||||||
|
|
||||||
-- Show which line your cursor is on
|
|
||||||
vim.opt.cursorline = true
|
|
||||||
|
|
||||||
-- Minimal number of screen lines to keep above and below the cursor.
|
|
||||||
vim.opt.scrolloff = 10
|
|
||||||
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
return {
|
|
||||||
'lewis6991/gitsigns.nvim',
|
|
||||||
opts = {
|
|
||||||
signs = {
|
|
||||||
add = { text = '+' },
|
|
||||||
change = { text = '~' },
|
|
||||||
delete = { text = '_' },
|
|
||||||
topdelete = { text = '‾' },
|
|
||||||
changedelete = { text = '~' },
|
|
||||||
},
|
|
||||||
on_attach = function(bufnr)
|
|
||||||
local gitsigns = require 'gitsigns'
|
|
||||||
|
|
||||||
local function map(mode, l, r, opts)
|
|
||||||
opts = opts or {}
|
|
||||||
opts.buffer = bufnr
|
|
||||||
vim.keymap.set(mode, l, r, opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Navigation
|
|
||||||
map('n', ']c', function()
|
|
||||||
if vim.wo.diff then
|
|
||||||
vim.cmd.normal { ']c', bang = true }
|
|
||||||
else
|
|
||||||
gitsigns.nav_hunk 'next'
|
|
||||||
end
|
|
||||||
end, { desc = 'Jump to next git [c]hange' })
|
|
||||||
|
|
||||||
map('n', '[c', function()
|
|
||||||
if vim.wo.diff then
|
|
||||||
vim.cmd.normal { '[c', bang = true }
|
|
||||||
else
|
|
||||||
gitsigns.nav_hunk 'prev'
|
|
||||||
end
|
|
||||||
end, { desc = 'Jump to previous git [c]hange' })
|
|
||||||
|
|
||||||
-- Actions
|
|
||||||
-- visual mode
|
|
||||||
map('v', '<leader>hs', function()
|
|
||||||
gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
|
||||||
end, { desc = 'git [s]tage hunk' })
|
|
||||||
map('v', '<leader>hr', function()
|
|
||||||
gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
|
|
||||||
end, { desc = 'git [r]eset hunk' })
|
|
||||||
-- normal mode
|
|
||||||
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
|
|
||||||
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
|
|
||||||
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
|
|
||||||
map('n', '<leader>hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' })
|
|
||||||
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
|
|
||||||
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
|
|
||||||
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' })
|
|
||||||
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' })
|
|
||||||
map('n', '<leader>hD', function()
|
|
||||||
gitsigns.diffthis '@'
|
|
||||||
end, { desc = 'git [D]iff against last commit' })
|
|
||||||
-- Toggles
|
|
||||||
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
|
|
||||||
map('n', '<leader>tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,281 +0,0 @@
|
||||||
-- LSP Plugins
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
|
||||||
-- used for completion, annotations and signatures of Neovim apis
|
|
||||||
'folke/lazydev.nvim',
|
|
||||||
ft = 'lua',
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
|
||||||
{ path = '${3rd}/luv/library', words = { 'vim%.uv' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- Main LSP Configuration
|
|
||||||
'neovim/nvim-lspconfig',
|
|
||||||
dependencies = {
|
|
||||||
-- Automatically install LSPs and related tools to stdpath for Neovim
|
|
||||||
-- Mason must be loaded before its dependents so we need to set it up here.
|
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
|
|
||||||
{ 'williamboman/mason.nvim', opts = {} },
|
|
||||||
'williamboman/mason-lspconfig.nvim',
|
|
||||||
'WhoIsSethDaniel/mason-tool-installer.nvim',
|
|
||||||
|
|
||||||
-- Useful status updates for LSP.
|
|
||||||
{ 'j-hui/fidget.nvim', opts = {} },
|
|
||||||
|
|
||||||
-- Allows extra capabilities provided by blink.cmp
|
|
||||||
'saghen/blink.cmp',
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
-- Brief aside: **What is LSP?**
|
|
||||||
--
|
|
||||||
-- LSP is an initialism you've probably heard, but might not understand what it is.
|
|
||||||
--
|
|
||||||
-- LSP stands for Language Server Protocol. It's a protocol that helps editors
|
|
||||||
-- and language tooling communicate in a standardized fashion.
|
|
||||||
--
|
|
||||||
-- In general, you have a "server" which is some tool built to understand a particular
|
|
||||||
-- language (such as `gopls`, `lua_ls`, `rust_analyzer`, etc.). These Language Servers
|
|
||||||
-- (sometimes called LSP servers, but that's kind of like ATM Machine) are standalone
|
|
||||||
-- processes that communicate with some "client" - in this case, Neovim!
|
|
||||||
--
|
|
||||||
-- LSP provides Neovim with features like:
|
|
||||||
-- - Go to definition
|
|
||||||
-- - Find references
|
|
||||||
-- - Autocompletion
|
|
||||||
-- - Symbol Search
|
|
||||||
-- - and more!
|
|
||||||
--
|
|
||||||
-- Thus, Language Servers are external tools that must be installed separately from
|
|
||||||
-- Neovim. This is where `mason` and related plugins come into play.
|
|
||||||
--
|
|
||||||
-- If you're wondering about lsp vs treesitter, you can check out the wonderfully
|
|
||||||
-- and elegantly composed help section, `:help lsp-vs-treesitter`
|
|
||||||
|
|
||||||
-- This function gets run when an LSP attaches to a particular buffer.
|
|
||||||
-- That is to say, every time a new file is opened that is associated with
|
|
||||||
-- an lsp (for example, opening `main.rs` is associated with `rust_analyzer`) this
|
|
||||||
-- function will be executed to configure the current buffer
|
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
|
||||||
group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }),
|
|
||||||
callback = function(event)
|
|
||||||
-- NOTE: Remember that Lua is a real programming language, and as such it is possible
|
|
||||||
-- to define small helper and utility functions so you don't have to repeat yourself.
|
|
||||||
--
|
|
||||||
-- In this case, we create a function that lets us more easily define mappings specific
|
|
||||||
-- for LSP related items. It sets the mode, buffer and description for us each time.
|
|
||||||
local map = function(keys, func, desc, mode)
|
|
||||||
mode = mode or 'n'
|
|
||||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Rename the variable under your cursor.
|
|
||||||
-- Most Language Servers support renaming across files, etc.
|
|
||||||
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
|
||||||
|
|
||||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
|
||||||
-- or a suggestion from your LSP for this to activate.
|
|
||||||
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
|
|
||||||
|
|
||||||
-- Find references for the word under your cursor.
|
|
||||||
map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
|
|
||||||
|
|
||||||
-- Jump to the implementation of the word under your cursor.
|
|
||||||
-- Useful when your language has ways of declaring types without an actual implementation.
|
|
||||||
map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
|
|
||||||
|
|
||||||
-- Jump to the definition of the word under your cursor.
|
|
||||||
-- This is where a variable was first declared, or where a function is defined, etc.
|
|
||||||
-- To jump back, press <C-t>.
|
|
||||||
map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
|
|
||||||
|
|
||||||
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
|
||||||
-- For example, in C this would take you to the header.
|
|
||||||
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
|
||||||
-- Symbols are things like variables, functions, types, etc.
|
|
||||||
map('gO', require('telescope.builtin').lsp_document_symbols, 'Open Document Symbols')
|
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current workspace.
|
|
||||||
-- Similar to document symbols, except searches over your entire project.
|
|
||||||
map('gW', require('telescope.builtin').lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
|
||||||
|
|
||||||
-- Jump to the type of the word under your cursor.
|
|
||||||
-- Useful when you're not sure what type a variable is and you want to see
|
|
||||||
-- the definition of its *type*, not where it was *defined*.
|
|
||||||
map('grt', require('telescope.builtin').lsp_type_definitions, '[G]oto [T]ype Definition')
|
|
||||||
|
|
||||||
-- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
|
|
||||||
---@param client vim.lsp.Client
|
|
||||||
---@param method string
|
|
||||||
---@param bufnr? integer some lsp support methods only in specific files
|
|
||||||
---@return boolean
|
|
||||||
local function client_supports_method(client, method, bufnr)
|
|
||||||
if vim.fn.has 'nvim-0.11' == 1 then
|
|
||||||
return client:supports_method(method, bufnr)
|
|
||||||
else
|
|
||||||
return client.supports_method(method, { bufnr = bufnr })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following two autocommands are used to highlight references of the
|
|
||||||
-- word under your cursor when your cursor rests there for a little while.
|
|
||||||
-- See `:help CursorHold` for information about when this is executed
|
|
||||||
--
|
|
||||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
|
||||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
|
||||||
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then
|
|
||||||
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
|
|
||||||
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.document_highlight,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.clear_references,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('LspDetach', {
|
|
||||||
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
|
|
||||||
callback = function(event2)
|
|
||||||
vim.lsp.buf.clear_references()
|
|
||||||
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following code creates a keymap to toggle inlay hints in your
|
|
||||||
-- code, if the language server you are using supports them
|
|
||||||
--
|
|
||||||
-- This may be unwanted, since they displace some of your code
|
|
||||||
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
|
|
||||||
map('<leader>th', function()
|
|
||||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
|
||||||
end, '[T]oggle Inlay [H]ints')
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Diagnostic Config
|
|
||||||
-- See :help vim.diagnostic.Opts
|
|
||||||
vim.diagnostic.config {
|
|
||||||
severity_sort = true,
|
|
||||||
float = { border = 'rounded', source = 'if_many' },
|
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
|
||||||
signs = vim.g.have_nerd_font and {
|
|
||||||
text = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = ' ',
|
|
||||||
[vim.diagnostic.severity.WARN] = ' ',
|
|
||||||
[vim.diagnostic.severity.INFO] = ' ',
|
|
||||||
[vim.diagnostic.severity.HINT] = ' ',
|
|
||||||
},
|
|
||||||
} or {},
|
|
||||||
virtual_text = {
|
|
||||||
source = 'if_many',
|
|
||||||
spacing = 2,
|
|
||||||
format = function(diagnostic)
|
|
||||||
local diagnostic_message = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
|
||||||
}
|
|
||||||
return diagnostic_message[diagnostic.severity]
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- LSP servers and clients are able to communicate to each other what features they support.
|
|
||||||
-- By default, Neovim doesn't support everything that is in the LSP specification.
|
|
||||||
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
|
|
||||||
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
|
|
||||||
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
|
||||||
|
|
||||||
-- Enable the following language servers
|
|
||||||
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
|
|
||||||
--
|
|
||||||
-- Add any additional override configuration in the following tables. Available keys are:
|
|
||||||
-- - cmd (table): Override the default command used to start the server
|
|
||||||
-- - filetypes (table): Override the default list of associated filetypes for the server
|
|
||||||
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
|
|
||||||
-- - settings (table): Override the default settings passed when initializing the server.
|
|
||||||
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
|
||||||
local servers = {
|
|
||||||
-- clangd = {},
|
|
||||||
-- gopls = {},
|
|
||||||
-- pyright = {},
|
|
||||||
-- rust_analyzer = {},
|
|
||||||
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
|
||||||
--
|
|
||||||
-- Some languages (like typescript) have entire language plugins that can be useful:
|
|
||||||
-- https://github.com/pmizio/typescript-tools.nvim
|
|
||||||
--
|
|
||||||
-- But for many setups, the LSP (`ts_ls`) will work just fine
|
|
||||||
-- ts_ls = {},
|
|
||||||
--
|
|
||||||
--
|
|
||||||
cssls = {
|
|
||||||
capabilities = { capabilities }
|
|
||||||
},
|
|
||||||
lua_ls = {
|
|
||||||
-- cmd = { ... },
|
|
||||||
-- filetypes = { ... },
|
|
||||||
-- capabilities = {},
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
completion = {
|
|
||||||
callSnippet = 'Replace',
|
|
||||||
},
|
|
||||||
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
|
|
||||||
-- diagnostics = { disable = { 'missing-fields' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Ensure the servers and tools above are installed
|
|
||||||
--
|
|
||||||
-- To check the current status of installed tools and/or manually install
|
|
||||||
-- other tools, you can run
|
|
||||||
-- :Mason
|
|
||||||
--
|
|
||||||
-- You can press `g?` for help in this menu.
|
|
||||||
--
|
|
||||||
-- `mason` had to be setup earlier: to configure its options see the
|
|
||||||
-- `dependencies` table for `nvim-lspconfig` above.
|
|
||||||
--
|
|
||||||
-- You can add other tools here that you want Mason to install
|
|
||||||
-- for you, so that they are available from within Neovim.
|
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
|
||||||
vim.list_extend(ensure_installed, {
|
|
||||||
'stylua', -- Used to format Lua code
|
|
||||||
})
|
|
||||||
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
|
||||||
|
|
||||||
require('mason-lspconfig').setup {
|
|
||||||
ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
|
|
||||||
automatic_installation = false,
|
|
||||||
handlers = {
|
|
||||||
function(server_name)
|
|
||||||
local server = servers[server_name] or {}
|
|
||||||
-- This handles overriding only values explicitly passed
|
|
||||||
-- by the server configuration above. Useful when disabling
|
|
||||||
-- certain features of an LSP (for example, turning off formatting for ts_ls)
|
|
||||||
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
|
|
||||||
require('lspconfig')[server_name].setup(server)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
return {
|
|
||||||
{ -- Collection of various small independent plugins/modules
|
|
||||||
'echasnovski/mini.nvim',
|
|
||||||
config = function()
|
|
||||||
-- Better Around/Inside textobjects
|
|
||||||
--
|
|
||||||
-- Examples:
|
|
||||||
-- - va) - [V]isually select [A]round [)]paren
|
|
||||||
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
|
|
||||||
-- - ci' - [C]hange [I]nside [']quote
|
|
||||||
require('mini.ai').setup { n_lines = 500 }
|
|
||||||
|
|
||||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
|
||||||
--
|
|
||||||
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
|
|
||||||
-- - sd' - [S]urround [D]elete [']quotes
|
|
||||||
-- - sr)' - [S]urround [R]eplace [)] [']
|
|
||||||
require('mini.surround').setup()
|
|
||||||
|
|
||||||
-- Simple and easy statusline.
|
|
||||||
-- You could remove this setup call if you don't like it,
|
|
||||||
-- and try some other statusline plugin
|
|
||||||
local statusline = require 'mini.statusline'
|
|
||||||
-- set use_icons to true if you have a Nerd Font
|
|
||||||
statusline.setup { use_icons = vim.g.have_nerd_font }
|
|
||||||
|
|
||||||
-- You can configure sections in the statusline by overriding their
|
|
||||||
-- default behavior. For example, here we set the section for
|
|
||||||
-- cursor location to LINE:COLUMN
|
|
||||||
---@diagnostic disable-next-line: duplicate-set-field
|
|
||||||
statusline.section_location = function()
|
|
||||||
return '%2l:%-2v'
|
|
||||||
end
|
|
||||||
|
|
||||||
-- ... and there is more!
|
|
||||||
-- Check out: https://github.com/echasnovski/mini.nvim
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
||||||
-- NOTE: Plugins can specify dependencies.
|
|
||||||
--
|
|
||||||
-- The dependencies are proper plugin specifications as well - anything
|
|
||||||
-- you do for a plugin at the top level, you can do for a dependency.
|
|
||||||
--
|
|
||||||
-- Use the `dependencies` key to specify the dependencies of a particular plugin
|
|
||||||
|
|
||||||
return {
|
|
||||||
{ -- Fuzzy Finder (files, lsp, etc)
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
event = 'VimEnter',
|
|
||||||
dependencies = {
|
|
||||||
'nvim-lua/plenary.nvim',
|
|
||||||
{ -- If encountering errors, see telescope-fzf-native README for installation instructions
|
|
||||||
'nvim-telescope/telescope-fzf-native.nvim',
|
|
||||||
|
|
||||||
-- `build` is used to run some command when the plugin is installed/updated.
|
|
||||||
-- This is only run then, not every time Neovim starts up.
|
|
||||||
build = 'make',
|
|
||||||
|
|
||||||
-- `cond` is a condition used to determine whether this plugin should be
|
|
||||||
-- installed and loaded.
|
|
||||||
cond = function()
|
|
||||||
return vim.fn.executable 'make' == 1
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{ 'nvim-telescope/telescope-ui-select.nvim' },
|
|
||||||
|
|
||||||
-- Useful for getting pretty icons, but requires a Nerd Font.
|
|
||||||
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
-- Telescope is a fuzzy finder that comes with a lot of different things that
|
|
||||||
-- it can fuzzy find! It's more than just a "file finder", it can search
|
|
||||||
-- many different aspects of Neovim, your workspace, LSP, and more!
|
|
||||||
--
|
|
||||||
-- The easiest way to use Telescope, is to start by doing something like:
|
|
||||||
-- :Telescope help_tags
|
|
||||||
--
|
|
||||||
-- After running this command, a window will open up and you're able to
|
|
||||||
-- type in the prompt window. You'll see a list of `help_tags` options and
|
|
||||||
-- a corresponding preview of the help.
|
|
||||||
--
|
|
||||||
-- Two important keymaps to use while in Telescope are:
|
|
||||||
-- - Insert mode: <c-/>
|
|
||||||
-- - Normal mode: ?
|
|
||||||
--
|
|
||||||
-- This opens a window that shows you all of the keymaps for the current
|
|
||||||
-- Telescope picker. This is really useful to discover what Telescope can
|
|
||||||
-- do as well as how to actually do it!
|
|
||||||
|
|
||||||
-- [[ Configure Telescope ]]
|
|
||||||
-- See `:help telescope` and `:help telescope.setup()`
|
|
||||||
require('telescope').setup {
|
|
||||||
-- You can put your default mappings / updates / etc. in here
|
|
||||||
-- All the info you're looking for is in `:help telescope.setup()`
|
|
||||||
--
|
|
||||||
-- defaults = {
|
|
||||||
-- mappings = {
|
|
||||||
-- i = { ['<c-enter>'] = 'to_fuzzy_refine' },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- pickers = {}
|
|
||||||
extensions = {
|
|
||||||
['ui-select'] = {
|
|
||||||
require('telescope.themes').get_dropdown(),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Enable Telescope extensions if they are installed
|
|
||||||
pcall(require('telescope').load_extension, 'fzf')
|
|
||||||
pcall(require('telescope').load_extension, 'ui-select')
|
|
||||||
|
|
||||||
-- See `:help telescope.builtin`
|
|
||||||
local builtin = require 'telescope.builtin'
|
|
||||||
vim.keymap.set('n', '<leader>sh', builtin.help_tags, { desc = '[S]earch [H]elp' })
|
|
||||||
vim.keymap.set('n', '<leader>sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' })
|
|
||||||
vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' })
|
|
||||||
vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' })
|
|
||||||
vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' })
|
|
||||||
vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' })
|
|
||||||
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
|
|
||||||
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
|
|
||||||
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
|
||||||
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
|
|
||||||
|
|
||||||
-- Slightly advanced example of overriding default behavior and theme
|
|
||||||
vim.keymap.set('n', '<leader>/', function()
|
|
||||||
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
|
||||||
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
|
||||||
winblend = 10,
|
|
||||||
previewer = false,
|
|
||||||
})
|
|
||||||
end, { desc = '[/] Fuzzily search in current buffer' })
|
|
||||||
|
|
||||||
-- It's also possible to pass additional configuration options.
|
|
||||||
-- See `:help telescope.builtin.live_grep()` for information about particular keys
|
|
||||||
vim.keymap.set('n', '<leader>s/', function()
|
|
||||||
builtin.live_grep {
|
|
||||||
grep_open_files = true,
|
|
||||||
prompt_title = 'Live Grep in Open Files',
|
|
||||||
}
|
|
||||||
end, { desc = '[S]earch [/] in Open Files' })
|
|
||||||
|
|
||||||
-- Shortcut for searching your Neovim configuration files
|
|
||||||
vim.keymap.set('n', '<leader>sn', function()
|
|
||||||
builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
|
||||||
end, { desc = '[S]earch [N]eovim files' })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
-- vim: ts=2 sts=2 sw=2 et
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/which-key.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
-- your configuration comes here
|
|
||||||
-- or leave it empty to use the default settings
|
|
||||||
-- refer to the configuration section below
|
|
||||||
spec = {
|
|
||||||
{ '[', group = 'Navigation' },
|
|
||||||
{ ']', group = 'Navigation' },
|
|
||||||
{ '<leader>t', group = '[T]oggle' },
|
|
||||||
{ '<leader>h', group = 'Git [h]unk', mode = { 'n', 'v' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>?",
|
|
||||||
function()
|
|
||||||
require("which-key").show({ global = false })
|
|
||||||
end,
|
|
||||||
desc = "Buffer Local Keymaps (which-key)",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
BIN
sway/bg.png
BIN
sway/bg.png
Binary file not shown.
|
Before Width: | Height: | Size: 593 KiB |
37
sway/config
37
sway/config
|
|
@ -1,37 +0,0 @@
|
||||||
# Default config for sway
|
|
||||||
#
|
|
||||||
# Copy this to ~/.config/sway/config and edit it to your liking.
|
|
||||||
#
|
|
||||||
# Read `man 5 sway` for a complete reference.
|
|
||||||
|
|
||||||
# styles - set the folder for your theme definition file
|
|
||||||
set $theme /usr/share/sway/themes/matcha-green
|
|
||||||
|
|
||||||
# theme variables
|
|
||||||
include $theme/theme.conf
|
|
||||||
|
|
||||||
# user theme variable can override the global theme
|
|
||||||
include $HOME/.config/sway/definitions.d/theme.conf
|
|
||||||
|
|
||||||
# global variables
|
|
||||||
include /etc/sway/definitions
|
|
||||||
|
|
||||||
# user variables can override global definitions
|
|
||||||
include $HOME/.config/sway/definitions.d/*.conf
|
|
||||||
|
|
||||||
include /etc/sway/inputs/*
|
|
||||||
|
|
||||||
# enable modes
|
|
||||||
#include /etc/sway/modes/*
|
|
||||||
include $HOME/.config/sway/modes/*
|
|
||||||
|
|
||||||
# only enable this if every app you use is compatible with wayland
|
|
||||||
# xwayland disable
|
|
||||||
|
|
||||||
# include additional configs e.g. to autostart applications
|
|
||||||
include /etc/sway/config.d/*
|
|
||||||
|
|
||||||
# user config
|
|
||||||
include $HOME/.config/sway/config.d/*.conf
|
|
||||||
|
|
||||||
workspace 8 output HDMI-A-1
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
### Input configuration
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
# xkb_options caps:ctrl_modifier
|
|
||||||
input type:keyboard {
|
|
||||||
xkb_layout "fr,us"
|
|
||||||
xkb_variant "azerty"
|
|
||||||
xkb_options caps:ctrl_modifier
|
|
||||||
}
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
bindsym $mod+x exec $locking
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#
|
|
||||||
# Scratchpad:
|
|
||||||
#
|
|
||||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
|
||||||
# You can send windows there and get them back later.
|
|
||||||
|
|
||||||
## Action // Move window to scratchpad ##
|
|
||||||
bindsym $mod+Shift+agrave move scratchpad, exec "waybar-signal scratchpad"
|
|
||||||
|
|
||||||
# If there are multiple scratchpad windows, this command cycles through them.
|
|
||||||
## Action // Toggle scratchpad ##
|
|
||||||
bindsym $mod+agrave scratchpad show, exec "waybar-signal scratchpad"
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
$unbindsym $mod+minus
|
|
||||||
$unbindsym $mod+Shift+minus
|
|
||||||
|
|
||||||
# Switch to workspace
|
|
||||||
bindsym $mod+ampersand workspace $ws1
|
|
||||||
bindsym $mod+eacute workspace $ws2
|
|
||||||
bindsym $mod+quotedbl workspace $ws3
|
|
||||||
bindsym $mod+apostrophe workspace $ws4
|
|
||||||
bindsym $mod+parenleft workspace $ws5
|
|
||||||
bindsym $mod+minus workspace $ws6
|
|
||||||
bindsym $mod+egrave workspace $ws7
|
|
||||||
bindsym $mod+underscore workspace $ws8
|
|
||||||
bindsym $mod+ccedilla workspace $ws9
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+ampersand move container to workspace $ws1, exec $focus_ws $ws1
|
|
||||||
bindsym $mod+Shift+eacute move container to workspace $ws2, exec $focus_ws $ws2
|
|
||||||
bindsym $mod+Shift+quotedbl move container to workspace $ws3, exec $focus_ws $ws3
|
|
||||||
bindsym $mod+Shift+apostrophe move container to workspace $ws4, exec $focus_ws $ws4
|
|
||||||
bindsym $mod+Shift+parenleft move container to workspace $ws5, exec $focus_ws $ws5
|
|
||||||
bindsym $mod+Shift+minus move container to workspace $ws6, exec $focus_ws $ws6
|
|
||||||
bindsym $mod+Shift+egrave move container to workspace $ws7, exec $focus_ws $ws7
|
|
||||||
bindsym $mod+Shift+underscore move container to workspace $ws8, exec $focus_ws $ws8
|
|
||||||
bindsym $mod+Shift+ccedilla move container to workspace $ws9, exec $focus_ws $ws9
|
|
||||||
# Note: workspaces can have any name you want, not just numbers.
|
|
||||||
# We just use 1-10 as the default.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
# bindsym $mod+z exec $term_float "zeit stats"
|
|
||||||
BIN
sway/cow.jpg
BIN
sway/cow.jpg
Binary file not shown.
|
Before Width: | Height: | Size: 597 KiB |
|
|
@ -1 +0,0 @@
|
||||||
set $background /home/krichtof/.config/sway/cow.jpg
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
set $focus_after_move true
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
set $locking swaylock --daemonize --color "$selection-color" --inside-color "$selection-color" --inside-clear-color "$text-color" --ring-color "$color2" --ring-clear-color "$color11" --ring-ver-color "$color13" --show-failed-attempts --fade-in 0.2 --grace 2 --image ~/.config/sway/locked.png --ignore-empty-password --hide-keyboard-layout --text-wrong "Caramba" --text-clear "Validé" --text-ver "Suspens"
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
set $term alacritty
|
|
||||||
set $term_cwd $term --working-directory "$(swaycwd 2>/dev/null || echo $HOME)"
|
|
||||||
set $term_float footclient --app-id floating_shell --window-size-chars 164*50
|
|
||||||
set $term_float alacritty -T alacritty_float --hold -e sh -c
|
|
||||||
for_window [title="alacritty_float"] floating enable
|
|
||||||
BIN
sway/locked.png
BIN
sway/locked.png
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 MiB |
|
|
@ -1,201 +0,0 @@
|
||||||
### Key bindings
|
|
||||||
#
|
|
||||||
# Basics:
|
|
||||||
#
|
|
||||||
## Launch // Terminal ##
|
|
||||||
$bindsym $mod+Return exec $term_cwd
|
|
||||||
$bindsym $mod+Shift+Return exec $term
|
|
||||||
|
|
||||||
## Action // Kill focused window ##
|
|
||||||
$bindsym $mod+Shift+q kill
|
|
||||||
|
|
||||||
## Launch // Open launcher ##
|
|
||||||
$bindsym $mod+d exec $menu
|
|
||||||
$bindsym $alt_mod+space exec $menu
|
|
||||||
|
|
||||||
## Launch // Open clipboard ##
|
|
||||||
$bindsym $mod+Shift+p exec $clipboard
|
|
||||||
|
|
||||||
# Drag floating windows by holding down $mod and left mouse button.
|
|
||||||
# Resize them with right mouse button + $mod.
|
|
||||||
# Despite the name, also works for non-floating windows.
|
|
||||||
# Change normal to inverse to use left mouse button for resizing and right
|
|
||||||
# mouse button for dragging.
|
|
||||||
floating_modifier $mod normal
|
|
||||||
|
|
||||||
## Action // Reload Sway Configuration ##
|
|
||||||
$bindsym $mod+Shift+c reload
|
|
||||||
|
|
||||||
## Action // Toggle Waybar ##
|
|
||||||
$bindsym $mod+Shift+b exec pkill -x -SIGUSR1 waybar
|
|
||||||
|
|
||||||
# --locked flags allow the buttons to be used whilst the screen is locked.
|
|
||||||
$bindsym --locked XF86AudioRaiseVolume exec $volume_up
|
|
||||||
|
|
||||||
$bindsym --locked XF86AudioLowerVolume exec $volume_down
|
|
||||||
|
|
||||||
# $bindsym --locked XF86AudioMute exec $volume_mute
|
|
||||||
|
|
||||||
$bindsym XF86AudioMicMute exec $mic_mute
|
|
||||||
|
|
||||||
$bindsym --locked XF86MonBrightnessUp exec $brightness_up
|
|
||||||
|
|
||||||
$bindsym --locked XF86MonBrightnessDown exec $brightness_down
|
|
||||||
|
|
||||||
$bindsym --locked XF86AudioPlay exec playerctl play-pause
|
|
||||||
|
|
||||||
$bindsym XF86AudioNext exec playerctl next
|
|
||||||
|
|
||||||
$bindsym XF86AudioPrev exec playerctl previous
|
|
||||||
|
|
||||||
$bindsym XF86Search exec $menu
|
|
||||||
|
|
||||||
$bindsym XF86PowerOff exec $shutdown
|
|
||||||
|
|
||||||
$bindsym XF86TouchpadToggle input type:touchpad events toggle enabled disabled
|
|
||||||
|
|
||||||
# Moving around:
|
|
||||||
#
|
|
||||||
# Move your focus around
|
|
||||||
## Navigation // Move focus // $mod + ↑ ↓ ← → ##
|
|
||||||
$bindsym $mod+$left focus left
|
|
||||||
$bindsym $mod+$down focus down
|
|
||||||
$bindsym $mod+$up focus up
|
|
||||||
$bindsym $mod+$right focus right
|
|
||||||
|
|
||||||
$bindsym $mod+$left_alt focus left
|
|
||||||
$bindsym $mod+$down_alt focus down
|
|
||||||
$bindsym $mod+$up_alt focus up
|
|
||||||
$bindsym $mod+$right_alt focus right
|
|
||||||
|
|
||||||
## Navigation // Move focused window // $mod + Shift + ↑ ↓ ← → ##
|
|
||||||
$bindsym $mod+Shift+$left move left
|
|
||||||
$bindsym $mod+Shift+$down move down
|
|
||||||
$bindsym $mod+Shift+$up move up
|
|
||||||
$bindsym $mod+Shift+$right move right
|
|
||||||
|
|
||||||
$bindsym $mod+Shift+$left_alt move left
|
|
||||||
$bindsym $mod+Shift+$down_alt move down
|
|
||||||
$bindsym $mod+Shift+$up_alt move up
|
|
||||||
$bindsym $mod+Shift+$right_alt move right
|
|
||||||
|
|
||||||
## Navigation // Move focused workspace // $mod + Alt + ↑ ↓ ← → ##
|
|
||||||
$bindsym $mod+Alt+$right move workspace to output right
|
|
||||||
$bindsym $mod+Alt+$left move workspace to output left
|
|
||||||
$bindsym $mod+Alt+$down move workspace to output down
|
|
||||||
$bindsym $mod+Alt+$up move workspace to output up
|
|
||||||
|
|
||||||
$bindsym $mod+Alt+$right_alt move workspace to output right
|
|
||||||
$bindsym $mod+Alt+$left_alt move workspace to output left
|
|
||||||
$bindsym $mod+Alt+$down_alt move workspace to output down
|
|
||||||
$bindsym $mod+Alt+$up_alt move workspace to output up
|
|
||||||
|
|
||||||
## Navigation // List all open windows in last-recently-used order ##
|
|
||||||
# $bindsym $mod+p exec env RUST_BACKTRACE=1 swayr switch-window &>> /tmp/swayr.log
|
|
||||||
|
|
||||||
## Navigation // Switch to the last recently used window ##
|
|
||||||
$bindsym Mod1+Tab exec env RUST_BACKTRACE=1 swayr switch-to-urgent-or-lru-window &>> /tmp/swayr.log
|
|
||||||
|
|
||||||
## Navigation // Switch to the last recently used workspace ##
|
|
||||||
$bindsym $mod+Tab workspace back_and_forth
|
|
||||||
|
|
||||||
#
|
|
||||||
# Workspaces:
|
|
||||||
#
|
|
||||||
## Navigation // Switch workspace // $mod + [number] ##
|
|
||||||
$bindsym $mod+1 workspace $ws1
|
|
||||||
$bindsym $mod+2 workspace $ws2
|
|
||||||
$bindsym $mod+3 workspace $ws3
|
|
||||||
$bindsym $mod+4 workspace $ws4
|
|
||||||
$bindsym $mod+5 workspace $ws5
|
|
||||||
$bindsym $mod+6 workspace $ws6
|
|
||||||
$bindsym $mod+7 workspace $ws7
|
|
||||||
$bindsym $mod+8 workspace $ws8
|
|
||||||
$bindsym $mod+9 workspace $ws9
|
|
||||||
$bindsym $mod+0 workspace $ws10
|
|
||||||
|
|
||||||
set $focus_ws [ "$focus_after_move" == 'true' ] && swaymsg workspace
|
|
||||||
|
|
||||||
## Action // Move focused window to workspace // $mod + Shift + [number] ##
|
|
||||||
$bindsym $mod+Shift+1 move container to workspace $ws1, exec $focus_ws $ws1
|
|
||||||
$bindsym $mod+Shift+2 move container to workspace $ws2, exec $focus_ws $ws2
|
|
||||||
$bindsym $mod+Shift+3 move container to workspace $ws3, exec $focus_ws $ws3
|
|
||||||
$bindsym $mod+Shift+4 move container to workspace $ws4, exec $focus_ws $ws4
|
|
||||||
$bindsym $mod+Shift+5 move container to workspace $ws5, exec $focus_ws $ws5
|
|
||||||
$bindsym $mod+Shift+6 move container to workspace $ws6, exec $focus_ws $ws6
|
|
||||||
$bindsym $mod+Shift+7 move container to workspace $ws7, exec $focus_ws $ws7
|
|
||||||
$bindsym $mod+Shift+8 move container to workspace $ws8, exec $focus_ws $ws8
|
|
||||||
$bindsym $mod+Shift+9 move container to workspace $ws9, exec $focus_ws $ws9
|
|
||||||
$bindsym $mod+Shift+0 move container to workspace $ws10, exec $focus_ws $ws10
|
|
||||||
|
|
||||||
## Launch // Open launcher in a new workspace ##
|
|
||||||
$bindsym $mod+Shift+d exec /usr/share/sway/scripts/first-empty-workspace.py --switch, exec $menu
|
|
||||||
|
|
||||||
## Navigation // Switch to a new workspace ##
|
|
||||||
$bindsym $mod+n exec /usr/share/sway/scripts/first-empty-workspace.py --switch
|
|
||||||
|
|
||||||
## Action // Move focused window to a new workspace ##
|
|
||||||
$bindsym $mod+Shift+n exec /usr/share/sway/scripts/first-empty-workspace.py --move
|
|
||||||
|
|
||||||
## Action // Move focused window to a new workspace and switch there ##
|
|
||||||
$bindsym $mod+Shift+m exec /usr/share/sway/scripts/first-empty-workspace.py --move --switch
|
|
||||||
|
|
||||||
#
|
|
||||||
# Layout stuff:
|
|
||||||
#
|
|
||||||
## Setting // Split windows horizontally ##
|
|
||||||
$bindsym $mod+b splith
|
|
||||||
## Setting // Split windows vertically ##
|
|
||||||
$bindsym $mod+v splitv
|
|
||||||
|
|
||||||
## Action // Switch to window stacking ##
|
|
||||||
$bindsym $mod+s layout stacking
|
|
||||||
## Action // Switch to window tabbing ##
|
|
||||||
$bindsym $mod+w layout tabbed
|
|
||||||
## Action // Switch to window tiling ##
|
|
||||||
$bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
## Action // Toggle fullscreen ##
|
|
||||||
$bindsym $mod+f fullscreen
|
|
||||||
|
|
||||||
## Action // Toggle global fullscreen ##
|
|
||||||
$bindsym $mod+Shift+f fullscreen global
|
|
||||||
|
|
||||||
## Action // Scale up ##
|
|
||||||
$bindsym $alt_mod+plus exec $scale_up
|
|
||||||
|
|
||||||
## Action // Scale down ##
|
|
||||||
$bindsym $alt_mod+minus exec $scale_down
|
|
||||||
|
|
||||||
## Action // Scale default ##
|
|
||||||
$bindsym $mod+equal exec $scale_default
|
|
||||||
|
|
||||||
## Action // Toggle floating ##
|
|
||||||
$bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
## Navigation // Toggle focus between tiling and floating ##
|
|
||||||
$bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
## Navigation // Swap focus to the parent window ##
|
|
||||||
$bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
## Launch // Toggle Help ##
|
|
||||||
$bindsym $mod+question exec $help
|
|
||||||
|
|
||||||
## Launch // Open Support ##
|
|
||||||
$bindsym $mod+Shift+s exec xdg-open https://github.com/Manjaro-Sway/manjaro-sway/blob/main/SUPPORT.md
|
|
||||||
|
|
||||||
## Launch // Inhibit Idle ##
|
|
||||||
$bindsym $mod+Shift+i exec inhibit-idle interactive
|
|
||||||
|
|
||||||
default_border pixel 1
|
|
||||||
hide_edge_borders smart
|
|
||||||
|
|
||||||
# allow to kill focused floating shell windows using Esc
|
|
||||||
$bindsym --release Escape [app_id="floating_shell" con_id=__focused__] kill
|
|
||||||
|
|
||||||
## Launch // Task Manager ##
|
|
||||||
$bindsym Ctrl+Alt+Delete exec $task_manager
|
|
||||||
|
|
||||||
## Launch // Emoji Picker ##
|
|
||||||
$bindsym Alt+Shift+e exec $emoji_picker
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
set $mode_pomodoro "\
|
|
||||||
<span foreground='$color10'></span> \
|
|
||||||
<span foreground='$color5'> \
|
|
||||||
<span foreground='$color10'>(<b>s</b>)</span>start \
|
|
||||||
<span foreground='$color10'>(<b>r</b>)</span>resume \
|
|
||||||
<span foreground='$color10'>(<b>t</b>)</span>toggle \
|
|
||||||
<span foreground='$color10'>(<b>w</b>)</span>work \
|
|
||||||
<span foreground='$color10'>(<b>b</b>)</span>break \
|
|
||||||
</span>"
|
|
||||||
|
|
||||||
mode --pango_markup $mode_pomodoro {
|
|
||||||
$bindsym s exec uair, mode "default"
|
|
||||||
$bindsym r exec uairctl resume, mode "default"
|
|
||||||
$bindsym t exec uairctl toggle, mode "default"
|
|
||||||
$bindsym b exec uairctl jump rest, mode "default"
|
|
||||||
$bindsym w exec uairctl jump work, mode "default"
|
|
||||||
$bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
$bindsym $mod+p mode $mode_pomodoro
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
set $mode_recording "<span foreground='$color10'></span> \
|
|
||||||
<span foreground='$color5'><b>Record</b></span> <span foreground='$color10'>(<b>r</b>)</span> \
|
|
||||||
<span foreground='$color5'>+ [<span foreground='$color10'><b>Shift</b></span> for ]</span>"
|
|
||||||
|
|
||||||
set $recorder /usr/share/sway/scripts/recorder.sh
|
|
||||||
|
|
||||||
mode --pango_markup $mode_recording {
|
|
||||||
$bindsym r exec $recorder, mode "default"
|
|
||||||
$bindsym Shift+r exec $recorder -a, mode "default"
|
|
||||||
|
|
||||||
# Return to default mode.
|
|
||||||
$bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
## Launch // Recording Mode ##
|
|
||||||
$bindsym $mod+Shift+r mode $mode_recording
|
|
||||||
|
|
||||||
## Launch // Stop Recording Mode ##
|
|
||||||
$bindsym $mod+Escape exec killall -s SIGINT wf-recorder
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
set $mode_resize "<span foreground='$color10'></span> \
|
|
||||||
<span foreground='$color5'><b>Resize</b></span> <span foreground='$color10'>(<b>↑ ↓ ← →</b>)</span> \
|
|
||||||
<span foreground='$color5'><b>Increase Gaps</b></span> <span foreground='$color10'>(<b>+</b>)</span> \
|
|
||||||
<span foreground='$color5'><b>Decrease Gaps</b></span> <span foreground='$color10'>(<b>-</b>)</span>"
|
|
||||||
|
|
||||||
mode --pango_markup $mode_resize {
|
|
||||||
# left will shrink the containers width
|
|
||||||
# right will grow the containers width
|
|
||||||
# up will shrink the containers height
|
|
||||||
# down will grow the containers height
|
|
||||||
$bindsym $left resize shrink width 10px
|
|
||||||
$bindsym $down resize grow height 10px
|
|
||||||
$bindsym $up resize shrink height 10px
|
|
||||||
$bindsym $right resize grow width 10px
|
|
||||||
|
|
||||||
$bindsym $left_alt resize shrink width 10px
|
|
||||||
$bindsym $down_alt resize grow height 10px
|
|
||||||
$bindsym $up_alt resize shrink height 10px
|
|
||||||
$bindsym $right_alt resize grow width 10px
|
|
||||||
|
|
||||||
$bindsym Shift+$left resize shrink width 50px
|
|
||||||
$bindsym Shift+$down resize grow height 50px
|
|
||||||
$bindsym Shift+$up resize shrink height 50px
|
|
||||||
$bindsym Shift+$right resize grow width 50px
|
|
||||||
|
|
||||||
$bindsym Shift+$left_alt resize shrink width 50px
|
|
||||||
$bindsym Shift+$down_alt resize grow height 50px
|
|
||||||
$bindsym Shift+$up_alt resize shrink height 50px
|
|
||||||
$bindsym Shift+$right_alt resize grow width 50px
|
|
||||||
|
|
||||||
## Resize // Window Gaps // + - ##
|
|
||||||
$bindsym minus gaps inner current minus 5px
|
|
||||||
$bindsym plus gaps inner current plus 5px
|
|
||||||
|
|
||||||
# Return to default mode
|
|
||||||
$bindsym Return mode "default"
|
|
||||||
$bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
## Launch // Resize Mode ##
|
|
||||||
$bindsym $mod+r mode $mode_resize
|
|
||||||
gaps inner 5px
|
|
||||||
gaps outer 5px
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#
|
|
||||||
# Scratchpad:
|
|
||||||
#
|
|
||||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
|
||||||
# You can send windows there and get them back later.
|
|
||||||
|
|
||||||
## Action // Move window to scratchpad ##
|
|
||||||
$bindsym $mod+Shift+minus move scratchpad, exec "waybar-signal scratchpad"
|
|
||||||
|
|
||||||
# If there are multiple scratchpad windows, this command cycles through them.
|
|
||||||
## Action // Toggle scratchpad ##
|
|
||||||
$bindsym $mod+minus scratchpad show, exec "waybar-signal scratchpad"
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
set $mode_screenshot "<span foreground='$color10'></span> \
|
|
||||||
<span foreground='$color5'><b>Pick</b></span> <span foreground='$color10'>(<b>p</b>)</span> \
|
|
||||||
<span foreground='$color5'><b>Output</b></span> <span foreground='$color10'>(<b>o</b>)</span> \
|
|
||||||
<span foreground='$color7'>+ <span foreground='$color10'><b>Shift</b></span> for </span>"
|
|
||||||
|
|
||||||
mode --pango_markup $mode_screenshot {
|
|
||||||
# output = currently active output
|
|
||||||
$bindsym o mode "default", exec $screenshot_screen
|
|
||||||
$bindsym Shift+o mode "default", exec $screenshot_screen_upload
|
|
||||||
|
|
||||||
# pick the region to screenshot
|
|
||||||
$bindsym p mode "default", exec $screenshot_selection
|
|
||||||
$bindsym Shift+p mode "default", exec $screenshot_selection_upload
|
|
||||||
|
|
||||||
# Return to default mode.
|
|
||||||
$bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
## Launch // Screenshot Mode ##
|
|
||||||
$bindsym Print mode $mode_screenshot
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
set $mode_shutdown "\
|
|
||||||
<span foreground='$color10'></span> \
|
|
||||||
<span foreground='$color5'> \
|
|
||||||
<span foreground='$color10'>(<b>l</b>)</span>lock \
|
|
||||||
<span foreground='$color10'>(<b>e</b>)</span>logout \
|
|
||||||
<span foreground='$color10'>(<b>r</b>)</span>reboot \
|
|
||||||
<span foreground='$color10'>(<b>u</b>)</span>suspend \
|
|
||||||
<span foreground='$color10'>(<b>s</b>)</span>shutdown \
|
|
||||||
</span>"
|
|
||||||
|
|
||||||
set $purge_cliphist [ $purge_cliphist_logout == 'true' ] && rm -f $HOME/.cache/cliphist/db || exit 0
|
|
||||||
|
|
||||||
mode --pango_markup $mode_shutdown {
|
|
||||||
# lock
|
|
||||||
$bindsym l mode "default", exec $locking
|
|
||||||
|
|
||||||
# logout
|
|
||||||
$bindsym e exec $purge_cliphist; exec swaymsg exit
|
|
||||||
|
|
||||||
# suspend
|
|
||||||
$bindsym u mode "default", exec systemctl sleep
|
|
||||||
|
|
||||||
# shutdown
|
|
||||||
$bindsym s exec $purge_cliphist; exec systemctl poweroff
|
|
||||||
|
|
||||||
# reboot
|
|
||||||
$bindsym r exec $purge_cliphist; exec systemctl reboot
|
|
||||||
|
|
||||||
# Return to default mode.
|
|
||||||
$bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
## Launch // Exit Menu ##
|
|
||||||
$bindsym $mod+Shift+e mode $mode_shutdown
|
|
||||||
63
tmux.conf
63
tmux.conf
|
|
@ -1,63 +0,0 @@
|
||||||
unbind C-b
|
|
||||||
set -g prefix C-s
|
|
||||||
|
|
||||||
set -g default-terminal "xterm-256color"
|
|
||||||
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
|
||||||
|
|
||||||
bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"
|
|
||||||
|
|
||||||
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'
|
|
||||||
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
|
|
||||||
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
|
|
||||||
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
|
|
||||||
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
|
|
||||||
|
|
||||||
bind-key - split-window -v -c '#{pane_current_path}'
|
|
||||||
bind-key | split-window -h -c '#{pane_current_path}'
|
|
||||||
bind c new-window -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
set -g base-index 1
|
|
||||||
set -g renumber-windows on
|
|
||||||
|
|
||||||
bind-key b break-pane -d
|
|
||||||
bind-key C-j choose-tree
|
|
||||||
|
|
||||||
# Fine adjustment (1 or 2 cursor cells per bump)
|
|
||||||
bind -n S-Left if-shell "$is_vim" "send-keys S-Left" "resize-pane -L 2"
|
|
||||||
bind -n S-Right if-shell "$is_vim" "send-keys S-Right" "resize-pane -R 2"
|
|
||||||
bind -n S-Down if-shell "$is_vim" "send-keys S-Down" "resize-pane -D 1"
|
|
||||||
bind -n S-Up if-shell "$is_vim" "send-keys S-Up" "resize-pane -U 1"
|
|
||||||
|
|
||||||
# Coarse adjustment (5 or 10 cursor cells per bump)
|
|
||||||
bind -n C-Left if-shell "$is_vim" "send-keys C-Left" "resize-pane -L 10"
|
|
||||||
bind -n C-Right if-shell "$is_vim" "send-keys C-Right" "resize-pane -R 10"
|
|
||||||
bind -n C-Down if-shell "$is_vim" "send-keys C-Down" "resize-pane -D 5"
|
|
||||||
bind -n C-Up if-shell "$is_vim" "send-keys C-Up" "resize-pane -U 5"
|
|
||||||
|
|
||||||
# Use vim keybindings in copy mode
|
|
||||||
setw -g mode-keys vi
|
|
||||||
|
|
||||||
# Setup 'v' to begin selection as in Vim
|
|
||||||
#bind-key -t vi-copy v begin-selection
|
|
||||||
#bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
|
|
||||||
|
|
||||||
# Update default binding of `Enter` to also use copy-pipe
|
|
||||||
#unbind -t vi-copy Enter
|
|
||||||
#bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
|
|
||||||
|
|
||||||
set-option -g default-terminal "screen-256color"
|
|
||||||
#source "/home/krichtof/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf"
|
|
||||||
|
|
||||||
# toggle status bar visibility
|
|
||||||
if-shell '[ ! -z "$VIMRUNTIME" ]' {
|
|
||||||
set -g status off
|
|
||||||
}
|
|
||||||
|
|
||||||
# bind-key u set-option -g status
|
|
||||||
|
|
||||||
# List of plugins
|
|
||||||
# set -g @plugin 'catppuccin/tmux'
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
||||||
run '~/.tmux/plugins/tpm/tpm'
|
|
||||||
|
|
@ -1,404 +0,0 @@
|
||||||
// =============================================================================
|
|
||||||
//
|
|
||||||
// Waybar configuration
|
|
||||||
//
|
|
||||||
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
|
||||||
//
|
|
||||||
// =============================================================================
|
|
||||||
|
|
||||||
{
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
// Global configuration
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
"layer": "top",
|
|
||||||
|
|
||||||
// If height property would be not present, it'd be calculated dynamically
|
|
||||||
"height": 30,
|
|
||||||
"position": "bottom",
|
|
||||||
|
|
||||||
"modules-left": ["custom/menu", "sway/workspaces", "custom/scratchpad", "custom/watson" ],
|
|
||||||
"modules-center": [
|
|
||||||
"custom/wf-recorder",
|
|
||||||
"sway/mode",
|
|
||||||
// "sway/window",
|
|
||||||
"custom/uair"
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
// informational
|
|
||||||
"custom/weather",
|
|
||||||
"sway/language",
|
|
||||||
"custom/github",
|
|
||||||
"custom/clipboard",
|
|
||||||
"custom/zeit",
|
|
||||||
// "cpu",
|
|
||||||
// "temperature",
|
|
||||||
"battery",
|
|
||||||
|
|
||||||
// connecting
|
|
||||||
"network",
|
|
||||||
"bluetooth",
|
|
||||||
"custom/valent",
|
|
||||||
|
|
||||||
// media
|
|
||||||
"custom/playerctl",
|
|
||||||
"custom/idle_inhibitor",
|
|
||||||
"custom/dnd",
|
|
||||||
"pulseaudio",
|
|
||||||
// "backlight",
|
|
||||||
|
|
||||||
// system
|
|
||||||
"custom/adaptive-light",
|
|
||||||
// "custom/sunset",
|
|
||||||
"custom/pacman",
|
|
||||||
|
|
||||||
"tray",
|
|
||||||
"clock"
|
|
||||||
],
|
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
// Modules
|
|
||||||
// -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
"battery": {
|
|
||||||
"interval": 30,
|
|
||||||
"states": {
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 15
|
|
||||||
},
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-icons": ["", "", "", "", "", "", "", "", "", ""],
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"interval": 60,
|
|
||||||
"format": "{:%e %b %Y %H:%M}",
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt>{calendar}</tt>",
|
|
||||||
"on-click": "swaymsg exec \\$calendar"
|
|
||||||
},
|
|
||||||
|
|
||||||
"cpu": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": "",
|
|
||||||
"states": {
|
|
||||||
"warning": 70,
|
|
||||||
"critical": 90
|
|
||||||
},
|
|
||||||
"on-click": "swaymsg exec \\$task_manager",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"memory": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": "",
|
|
||||||
"states": {
|
|
||||||
"warning": 70,
|
|
||||||
"critical": 90
|
|
||||||
},
|
|
||||||
"on-click": "swaymsg exec \\$task_manager",
|
|
||||||
"tooltip": true
|
|
||||||
},
|
|
||||||
|
|
||||||
"network": {
|
|
||||||
"interval": 5,
|
|
||||||
"format-wifi": "{icon}",
|
|
||||||
"format-ethernet": "",
|
|
||||||
"format-disconnected": "",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-icons": [
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
""
|
|
||||||
],
|
|
||||||
"tooltip-format": "{icon} {ifname}: {ipaddr}",
|
|
||||||
"tooltip-format-ethernet": "{icon} {ifname}: {ipaddr}",
|
|
||||||
"tooltip-format-wifi": "{icon} {ifname} ({essid}): {ipaddr}",
|
|
||||||
"tooltip-format-disconnected": "{icon} disconnected",
|
|
||||||
"tooltip-format-disabled": "{icon} disabled",
|
|
||||||
"on-click": "swaymsg exec \\$once \\$term_float nmtui connect"
|
|
||||||
},
|
|
||||||
|
|
||||||
"sway/mode": {
|
|
||||||
"format": "<span style=\"italic\">{}</span>",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
|
|
||||||
"backlight": {
|
|
||||||
"format": "{icon} {percent}%",
|
|
||||||
"format-icons": ["", "", ""],
|
|
||||||
"on-scroll-up": "swaymsg exec \\$brightness_up",
|
|
||||||
"on-scroll-down": "swaymsg exec \\$brightness_down"
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"scroll-step": 5,
|
|
||||||
"format": "{icon} {volume}%{format_source}",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": "",
|
|
||||||
"format-source-muted": " ",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"headset": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
"tooltip-format": "{icon} {volume}% {format_source}",
|
|
||||||
"on-click": "swaymsg exec \\$pulseaudio",
|
|
||||||
"on-click-middle": "swaymsg exec \\$volume_mute",
|
|
||||||
"on-scroll-up": "swaymsg exec \\$volume_up",
|
|
||||||
"on-scroll-down": "swaymsg exec \\$volume_down"
|
|
||||||
},
|
|
||||||
|
|
||||||
"temperature": {
|
|
||||||
"critical-threshold": 90,
|
|
||||||
"interval": 5,
|
|
||||||
"format": "{icon}",
|
|
||||||
"tooltip-format": "{temperatureC}°C",
|
|
||||||
"format-icons": ["", "", ""],
|
|
||||||
"tooltip": true,
|
|
||||||
"on-click": "swaymsg exec \"\\$once \\$term_float watch sensors\""
|
|
||||||
},
|
|
||||||
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 21,
|
|
||||||
"spacing": 5
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/pacman": {
|
|
||||||
"format": " {}",
|
|
||||||
"interval": 3600,
|
|
||||||
"return-type": "json",
|
|
||||||
"exec-if": "/usr/share/sway/scripts/checkupdates.sh check",
|
|
||||||
"exec": "/usr/share/sway/scripts/checkupdates.sh status",
|
|
||||||
"on-click": "/usr/share/sway/scripts/checkupdates.sh check && swaymsg exec \\$update_manager",
|
|
||||||
"on-click-middle": "waybar-signal pacman",
|
|
||||||
"signal": 14
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/menu": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "swaymsg exec \\$menu",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
|
|
||||||
"bluetooth": {
|
|
||||||
"format": "",
|
|
||||||
"format-disabled": "",
|
|
||||||
"on-click": "swaymsg exec \\$bluetooth",
|
|
||||||
"on-click-right": "rfkill toggle bluetooth",
|
|
||||||
"tooltip-format": "{}"
|
|
||||||
},
|
|
||||||
|
|
||||||
"sway/language": {
|
|
||||||
"format": " {}",
|
|
||||||
"min-length": 5,
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "swaymsg input type:keyboard xkb_switch_layout next"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/scratchpad": {
|
|
||||||
"interval": "once",
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"one": "",
|
|
||||||
"many": ""
|
|
||||||
},
|
|
||||||
"exec": "/bin/sh /usr/share/sway/scripts/scratchpad.sh",
|
|
||||||
"on-click": "swaymsg 'scratchpad show'",
|
|
||||||
"signal": 7
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/sunset": {
|
|
||||||
"interval": "once",
|
|
||||||
"tooltip": true,
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"on": "",
|
|
||||||
"off": ""
|
|
||||||
},
|
|
||||||
"exec": "fallback_latitude=50.1 fallback_longitude=8.7 latitude= longitude= /usr/share/sway/scripts/sunset.sh",
|
|
||||||
"on-click": "/usr/share/sway/scripts/sunset.sh toggle",
|
|
||||||
"exec-if": "/usr/share/sway/scripts/sunset.sh check",
|
|
||||||
"signal": 6
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/wf-recorder": {
|
|
||||||
"interval": "once",
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{}",
|
|
||||||
"exec": "echo '{\"class\": \"recording\",\"text\":\"\",\"tooltip\":\"press $mod+Esc to stop recording\"}'",
|
|
||||||
"exec-if": "pgrep wf-recorder",
|
|
||||||
"on-click": "waybar-signal recorder",
|
|
||||||
"signal": 8
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/github": {
|
|
||||||
"interval": 300,
|
|
||||||
"tooltip": false,
|
|
||||||
"return-type": "json",
|
|
||||||
"format": " {}",
|
|
||||||
"exec": "gh api '/notifications' -q '{ text: length }' | cat -",
|
|
||||||
"exec-if": "[ -x \"$(command -v gh)\" ] && gh auth status 2>&1 | grep -q -m 1 'Logged in' && test $(gh api '/notifications' -q 'length') -ne 0",
|
|
||||||
"on-click": "test $(gh api '/notifications' -q 'length') -ne 0 && xdg-open https://github.com/notifications && sleep 30 && waybar-signal github",
|
|
||||||
"signal": 4
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/playerctl": {
|
|
||||||
"interval": "once",
|
|
||||||
"tooltip": true,
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"Playing": "",
|
|
||||||
"Paused": ""
|
|
||||||
},
|
|
||||||
"exec": "playerctl metadata --format '{\"alt\": \"{{status}}\", \"tooltip\": \"{{playerName}}: {{markup_escape(title)}} - {{markup_escape(artist)}}\" }'",
|
|
||||||
"on-click": "playerctl play-pause",
|
|
||||||
"on-click-right": "playerctl next",
|
|
||||||
"on-scroll-up": "playerctl position 10+",
|
|
||||||
"on-scroll-down": "playerctl position 10-",
|
|
||||||
"signal": 5
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/clipboard": {
|
|
||||||
"format": "",
|
|
||||||
"interval": "once",
|
|
||||||
"return-type": "json",
|
|
||||||
"on-click": "swaymsg -q exec '$clipboard'; waybar-signal clipboard",
|
|
||||||
"on-click-right": "swaymsg -q exec '$clipboard-del'; waybar-signal clipboard",
|
|
||||||
"on-click-middle": "rm -f ~/.cache/cliphist/db; waybar-signal clipboard",
|
|
||||||
"exec": "printf '{\"tooltip\":\"%s\"}' $(cliphist list | wc -l)' item(s) in the clipboard\r(Mid click to clear)'",
|
|
||||||
"exec-if": "[ -x \"$(command -v cliphist)\" ] && [ $(cliphist list | wc -l) -gt 0 ]",
|
|
||||||
"signal": 9
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/weather": {
|
|
||||||
"format": "{}",
|
|
||||||
"tooltip": true,
|
|
||||||
"interval": 3600,
|
|
||||||
// accepts -c/--city <city> -t/--temperature <C/F> -d/--distance <km/miles>
|
|
||||||
"exec": "/usr/share/sway/scripts/weather.py",
|
|
||||||
"return-type": "json",
|
|
||||||
// "on-click": "xdg-open \"https://wttr.in/$(curl -s https://manjaro-sway.download/geoip | jq -r '.city')\"",
|
|
||||||
"on-click": "xdg-open \"https://wttr.in/Chateldon",
|
|
||||||
"on-click-right": "waybar-signal weather",
|
|
||||||
"signal": 16
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/zeit": {
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": "once",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"tracking": "",
|
|
||||||
"stopped": ""
|
|
||||||
},
|
|
||||||
"exec": "/usr/share/sway/scripts/zeit.sh status",
|
|
||||||
"on-click": "/usr/share/sway/scripts/zeit.sh click; waybar-signal zeit",
|
|
||||||
"exec-if": "[ -x \"$(command -v zeit)\" ]",
|
|
||||||
"signal": 10
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/dnd": {
|
|
||||||
"interval": "once",
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{}{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"default": "",
|
|
||||||
"dnd": ""
|
|
||||||
},
|
|
||||||
"on-click": "/usr/share/sway/scripts/dnd.sh toggle; waybar-signal dnd",
|
|
||||||
"on-click-right": "/usr/share/sway/scripts/dnd.sh restore",
|
|
||||||
"exec": "/usr/share/sway/scripts/dnd.sh status",
|
|
||||||
"signal": 11
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/adaptive-light": {
|
|
||||||
"interval": "once",
|
|
||||||
"tooltip": true,
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"on": "",
|
|
||||||
"off": ""
|
|
||||||
},
|
|
||||||
"exec": "/usr/share/sway/scripts/wluma.sh",
|
|
||||||
"on-click": "/usr/share/sway/scripts/wluma.sh toggle",
|
|
||||||
"exec-if": "/usr/share/sway/scripts/wluma.sh check",
|
|
||||||
"signal": 12
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/valent": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"tooltip": true,
|
|
||||||
"interval": 60,
|
|
||||||
"exec": "/usr/share/sway/scripts/valent.py",
|
|
||||||
"exec-if": "[ -x \"$(command -v valent)\" ]",
|
|
||||||
"return-type": "json",
|
|
||||||
"format-icons": {
|
|
||||||
"no-devices": "",
|
|
||||||
"dangerously-empty": "",
|
|
||||||
"no-signal": "",
|
|
||||||
"connected": "",
|
|
||||||
"disconnected": ""
|
|
||||||
},
|
|
||||||
"on-click": "valent",
|
|
||||||
"on-click-middle": "waybar-signal valent",
|
|
||||||
"signal": 13
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/idle_inhibitor": {
|
|
||||||
"interval": 60,
|
|
||||||
"return-type": "json",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"on": "",
|
|
||||||
"off": ""
|
|
||||||
},
|
|
||||||
"exec": "inhibit-idle",
|
|
||||||
"on-click": "inhibit-idle off; inhibit-idle interactive",
|
|
||||||
"on-click-middle": "inhibit-idle off",
|
|
||||||
"signal": 15
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/uair": {
|
|
||||||
// "format": "{icon} {percentage}",
|
|
||||||
"format": "{icon} {text}",
|
|
||||||
"format-icons": [
|
|
||||||
"○○○○○○○○○●",
|
|
||||||
"○○○○○○○○●●",
|
|
||||||
"○○○○○○○●●●",
|
|
||||||
"○○○○○○●●●●",
|
|
||||||
"○○○○○●●●●●",
|
|
||||||
"○○○○●●●●●●",
|
|
||||||
"○○○●●●●●●●",
|
|
||||||
"○○●●●●●●●●",
|
|
||||||
"○●●●●●●●●●",
|
|
||||||
"●●●●●●●●●●"
|
|
||||||
],
|
|
||||||
"tooltip": false,
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 5,
|
|
||||||
"on-click": "uairctl toggle",
|
|
||||||
"on-click-middle": "uairctl prev",
|
|
||||||
"on-click-right": "uairctl next",
|
|
||||||
"exec-if": "pidof uair",
|
|
||||||
"exec": "uairctl fetch '{\"text\":\"{name}\",\"class\":\"{state}\",\"percentage\":{percent}}'"
|
|
||||||
// "exec": "uairctl fetch '{\"text\":\"{name} {time} {percent}%\",\"name\":\"{name}\",\"class\":\"{state}\",\"percentage\":{percent}}'"
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/watson": {
|
|
||||||
"format": "<span weight=\"ultrabold\">{text}</span>",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 10,
|
|
||||||
"exec": "/home/krichtof/src/watson/waybar-watson.py"
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
A mon tour de vous remercier pour votre réponse enthousiasmante.
|
|
||||||
Comme indiqué dans la présentation que je vous ai partagée, je suis dans la phase où j'interroge plusieurs profils pour définir plus précisément le problème que je souhaite adresser (plutôt que développer mon projet en chambre)
|
|
||||||
J'ai effectué quelques entretiens avec des personnes sujettes à des troubles de l'humeur. Je compte en faire également avec des aidants, ainsi qu'avec des professionnels de santé.
|
|
||||||
|
|
||||||
Y aurait-il des personnes de votre équipe qui seraient d'accord pour répondre à mes questions ?
|
|
||||||
|
|
||||||
Au plaisir de vous lire,
|
|
||||||
|
|
||||||
Christophe Robillard
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,26 +0,0 @@
|
||||||
@define-color rosewater #f5e0dc;
|
|
||||||
@define-color flamingo #f2cdcd;
|
|
||||||
@define-color pink #f5c2e7;
|
|
||||||
@define-color mauve #cba6f7;
|
|
||||||
@define-color red #f38ba8;
|
|
||||||
@define-color maroon #eba0ac;
|
|
||||||
@define-color peach #fab387;
|
|
||||||
@define-color yellow #f9e2af;
|
|
||||||
@define-color green #a6e3a1;
|
|
||||||
@define-color teal #94e2d5;
|
|
||||||
@define-color sky #89dceb;
|
|
||||||
@define-color sapphire #74c7ec;
|
|
||||||
@define-color blue #89b4fa;
|
|
||||||
@define-color lavender #b4befe;
|
|
||||||
@define-color text #cdd6f4;
|
|
||||||
@define-color subtext1 #bac2de;
|
|
||||||
@define-color subtext0 #a6adc8;
|
|
||||||
@define-color overlay2 #9399b2;
|
|
||||||
@define-color overlay1 #7f849c;
|
|
||||||
@define-color overlay0 #6c7086;
|
|
||||||
@define-color surface2 #585b70;
|
|
||||||
@define-color surface1 #45475a;
|
|
||||||
@define-color surface0 #313244;
|
|
||||||
@define-color base #1e1e2e;
|
|
||||||
@define-color mantle #181825;
|
|
||||||
@define-color crust #11111b;
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
@import "/usr/share/sway/templates/waybar/style.css";
|
|
||||||
#custom-uair.resumed {
|
|
||||||
color: #f87171;
|
|
||||||
}
|
|
||||||
|
|
@ -1,217 +0,0 @@
|
||||||
@import "mocha.css";
|
|
||||||
/* =============================================================================
|
|
||||||
*
|
|
||||||
* Waybar configuration
|
|
||||||
*
|
|
||||||
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
|
||||||
*
|
|
||||||
* =========================================================================== */
|
|
||||||
|
|
||||||
/* import css definitions for current theme */
|
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
|
||||||
* Keyframes
|
|
||||||
* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
@keyframes blink-warning {
|
|
||||||
70% {
|
|
||||||
color: @wm_icon_bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
color: @wm_icon_bg;
|
|
||||||
background-color: @warning_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink-critical {
|
|
||||||
70% {
|
|
||||||
color: @wm_icon_bg;
|
|
||||||
}
|
|
||||||
|
|
||||||
to {
|
|
||||||
color: @wm_icon_bg;
|
|
||||||
background-color: @error_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
|
||||||
* Base styles
|
|
||||||
* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
/* Reset all styles */
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
min-height: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: "JetBrainsMono NF", "Roboto Mono", sans-serif;
|
|
||||||
color: @text;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
/* you can also GTK3 CSS functions! */
|
|
||||||
background-color: shade(@base, 0.9);
|
|
||||||
border: 2px solid alpha(@crust, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Each module */
|
|
||||||
#custom-pacman,
|
|
||||||
#custom-menu,
|
|
||||||
#custom-help,
|
|
||||||
#custom-scratchpad,
|
|
||||||
#custom-github,
|
|
||||||
#custom-clipboard,
|
|
||||||
#custom-zeit,
|
|
||||||
#custom-dnd,
|
|
||||||
#custom-valent,
|
|
||||||
#custom-idle_inhibitor,
|
|
||||||
#bluetooth,
|
|
||||||
#battery,
|
|
||||||
#clock,
|
|
||||||
#cpu,
|
|
||||||
#memory,
|
|
||||||
#mode,
|
|
||||||
#network,
|
|
||||||
#pulseaudio,
|
|
||||||
#temperature,
|
|
||||||
#backlight,
|
|
||||||
#language,
|
|
||||||
#custom-adaptive-light,
|
|
||||||
#custom-sunset,
|
|
||||||
#custom-playerctl,
|
|
||||||
#custom-weather,
|
|
||||||
#tray {
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
|
||||||
* Module styles
|
|
||||||
* -------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#custom-scratchpad,
|
|
||||||
#custom-menu,
|
|
||||||
#workspaces button.focused,
|
|
||||||
#clock {
|
|
||||||
color: @theme_bg_color;
|
|
||||||
background-color: @theme_selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-zeit.tracking {
|
|
||||||
background-color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical {
|
|
||||||
color: @error_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning.discharging {
|
|
||||||
animation-name: blink-warning;
|
|
||||||
animation-duration: 3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical.discharging {
|
|
||||||
animation-name: blink-critical;
|
|
||||||
animation-duration: 2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu.warning {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu.critical {
|
|
||||||
color: @error_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-menu {
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 13px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory.warning {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory.critical {
|
|
||||||
color: @error_color;
|
|
||||||
animation-name: blink-critical;
|
|
||||||
animation-duration: 2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
|
||||||
background: @background_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#temperature.critical {
|
|
||||||
color: @error_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
border-top: 2px solid transparent;
|
|
||||||
/* To compensate for the top border and still have vertical centering */
|
|
||||||
padding-bottom: 2px;
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
color: @theme_selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
border-color: @theme_selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
border-color: @error_color;
|
|
||||||
color: @error_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover {
|
|
||||||
color: @theme_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-pacman {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bluetooth.disabled {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-wf-recorder {
|
|
||||||
color: @error_color;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-valent.dangerously-empty {
|
|
||||||
color: @warning_color;
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
tracking=$(zeit tracking --no-colors)
|
|
||||||
|
|
||||||
case $1'' in
|
|
||||||
'status')
|
|
||||||
text=$(echo "$tracking" | sed -z 's/\n/\\n/g' | grep -q 'tracking' && echo "tracking" || echo "stopped")
|
|
||||||
tooltip=$tracking'\r(zeit time tracker)'
|
|
||||||
echo "{\"text\":\"$text\",\"tooltip\":\"$tooltip\",\"class\":\"$text\",\"alt\":\"$text\"}"
|
|
||||||
;;
|
|
||||||
'click')
|
|
||||||
if echo "$tracking" | grep -q 'tracking'; then
|
|
||||||
zeit finish
|
|
||||||
else
|
|
||||||
swaymsg exec \$zeit_list
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
'light-status')
|
|
||||||
text=$(echo "$tracking" | sed -z 's/\n/\\n/g' | grep -q 'tracking' && echo "tracking" || echo "stopped")
|
|
||||||
echo "{\"text\":\"$tracking\",\"class\":\"$text\",\"alt\":\"$text\"}"
|
|
||||||
;;
|
|
||||||
'track')
|
|
||||||
input=$(cat -)
|
|
||||||
task=$(echo $input | pcregrep -io1 '└── (.+) \[.+')
|
|
||||||
project=$(echo $input | pcregrep -io1 '.+\[(.+)\]')
|
|
||||||
|
|
||||||
if [ "$task" = "" ] || [ "$project" = "" ]; then
|
|
||||||
notify-send "You did not select a task!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
zeit track -p "$project" -t "$task"
|
|
||||||
notify-send "Tracking $task in $project"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
26
zshrc
26
zshrc
|
|
@ -1,26 +0,0 @@
|
||||||
# Use powerline
|
|
||||||
USE_POWERLINE="true"
|
|
||||||
# Has weird character width
|
|
||||||
# Example:
|
|
||||||
# is not a diamond
|
|
||||||
HAS_WIDECHARS="false"
|
|
||||||
# Source manjaro-zsh-configuration
|
|
||||||
if [[ -e /usr/share/zsh/manjaro-zsh-config ]]; then
|
|
||||||
source /usr/share/zsh/manjaro-zsh-config
|
|
||||||
fi
|
|
||||||
# Use manjaro zsh prompt
|
|
||||||
if [[ -e /usr/share/zsh/manjaro-zsh-prompt ]]; then
|
|
||||||
source /usr/share/zsh/manjaro-zsh-prompt
|
|
||||||
fi
|
|
||||||
|
|
||||||
PATH=$HOME/.local/bin:$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH
|
|
||||||
EDITOR=nvim
|
|
||||||
|
|
||||||
alias vi=nvim
|
|
||||||
|
|
||||||
if [[ -e $HOME/.config/zsh/autocomplete_zeit ]]; then
|
|
||||||
source $HOME/.config/zsh/autocomplete_zeit
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -o vi
|
|
||||||
bindkey '^R' history-incremental-search-backward
|
|
||||||
Loading…
Add table
Reference in a new issue