added initial labwc configs for jaci setup
This commit is contained in:
parent
18a7fb90e9
commit
cc56993ec5
46
jaci/dotfiles/foot/foot.ini
Normal file
46
jaci/dotfiles/foot/foot.ini
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
[main]
|
||||||
|
font=Hurmit Nerd Font Mono:size=12
|
||||||
|
notify=yes
|
||||||
|
|
||||||
|
selection-target=clipboard
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
# Catpuccin Machiatto theme
|
||||||
|
foreground=cad3f5 # Text
|
||||||
|
background=24273a # Base
|
||||||
|
regular0=494d64 # Surface 1
|
||||||
|
regular1=ed8796 # red
|
||||||
|
regular2=a6da95 # green
|
||||||
|
regular3=eed49f # yellow
|
||||||
|
regular4=8aadf4 # blue
|
||||||
|
regular5=f5bde6 # pink
|
||||||
|
regular6=8bd5ca # teal
|
||||||
|
regular7=b8c0e0 # Subtext 1
|
||||||
|
bright0=5b6078 # Surface 2
|
||||||
|
bright1=ed8796 # red
|
||||||
|
bright2=a6da95 # green
|
||||||
|
bright3=eed49f # yellow
|
||||||
|
bright4=8aadf4 # blue
|
||||||
|
bright5=f5bde6 # pink
|
||||||
|
bright6=8bd5ca # teal
|
||||||
|
bright7=a5adcb # Subtext 0foreground=cdd6f4 # Text
|
||||||
|
|
||||||
|
# [colors]
|
||||||
|
# Catpuccin Mocha theme colors
|
||||||
|
# background=1e1e2e # Base
|
||||||
|
# regular0=45475a # Surface 1
|
||||||
|
# regular1=f38ba8 # red
|
||||||
|
# regular2=a6e3a1 # green
|
||||||
|
# regular3=f9e2af # yellow
|
||||||
|
# regular4=89b4fa # blue
|
||||||
|
# regular5=f5c2e7 # pink
|
||||||
|
# regular6=94e2d5 # teal
|
||||||
|
# regular7=bac2de # Subtext 1
|
||||||
|
# bright0=585b70 # Surface 2
|
||||||
|
# bright1=f38ba8 # red
|
||||||
|
# bright2=a6e3a1 # green
|
||||||
|
# bright3=f9e2af # yellow
|
||||||
|
# bright4=89b4fa # blue
|
||||||
|
# bright5=f5c2e7 # pink
|
||||||
|
# bright6=94e2d5 # teal
|
||||||
|
# bright7=a6adc8 # Subtext 0
|
447
jaci/dotfiles/kak-lsp/kak-lsp.toml
Normal file
447
jaci/dotfiles/kak-lsp/kak-lsp.toml
Normal file
|
@ -0,0 +1,447 @@
|
||||||
|
snippet_support = true
|
||||||
|
verbosity = 2
|
||||||
|
|
||||||
|
[server]
|
||||||
|
# exit session if no requests were received during given period in seconds
|
||||||
|
# set to 0 to disable
|
||||||
|
timeout = 1800 # seconds = 30 minutes
|
||||||
|
|
||||||
|
[language.bash]
|
||||||
|
filetypes = ["sh"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "bash-language-server"
|
||||||
|
args = ["start"]
|
||||||
|
|
||||||
|
[language.c_cpp]
|
||||||
|
filetypes = ["c", "cpp"]
|
||||||
|
roots = ["compile_commands.json", ".clangd", ".git", ".hg"]
|
||||||
|
command = "clangd"
|
||||||
|
|
||||||
|
[language.clojure]
|
||||||
|
filetypes = ["clojure"]
|
||||||
|
roots = ["project.clj", ".git", ".hg"]
|
||||||
|
command = "clojure-lsp"
|
||||||
|
settings_section = "_"
|
||||||
|
[language.clojure.settings._]
|
||||||
|
# See https://clojure-lsp.io/settings/#all-settings
|
||||||
|
# source-paths-ignore-regex = ["resources.*", "target.*"]
|
||||||
|
|
||||||
|
[language.cmake]
|
||||||
|
filetypes = ["cmake"]
|
||||||
|
roots = ["CMakeLists.txt", ".git", ".hg"]
|
||||||
|
command = "cmake-language-server"
|
||||||
|
|
||||||
|
[language.crystal]
|
||||||
|
filetypes = ["crystal"]
|
||||||
|
roots = ["shard.yml"]
|
||||||
|
command = "crystalline"
|
||||||
|
|
||||||
|
[language.css]
|
||||||
|
filetypes = ["css"]
|
||||||
|
roots = ["package.json", ".git", ".hg"]
|
||||||
|
command = "vscode-css-languageserver"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
[language.less]
|
||||||
|
filetypes = ["less"]
|
||||||
|
roots = ["package.json", ".git", ".hg"]
|
||||||
|
command = "vscode-css-languageserver"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
[language.scss]
|
||||||
|
filetypes = ["scss"]
|
||||||
|
roots = ["package.json", ".git", ".hg"]
|
||||||
|
command = "vscode-css-languageserver"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
[language.d]
|
||||||
|
filetypes = ["d", "di"]
|
||||||
|
roots = [".git", "dub.sdl", "dub.json"]
|
||||||
|
command = "dls"
|
||||||
|
|
||||||
|
[language.dart]
|
||||||
|
# start shell to find path to dart analysis server source
|
||||||
|
filetypes = ["dart"]
|
||||||
|
roots = ["pubspec.yaml", ".git", ".hg"]
|
||||||
|
command = "dart"
|
||||||
|
args = ["language-server"]
|
||||||
|
[language.dart.settings.dart]
|
||||||
|
lineLength = 120
|
||||||
|
|
||||||
|
[language.elixir]
|
||||||
|
filetypes = ["elixir"]
|
||||||
|
roots = ["mix.exs"]
|
||||||
|
command = "elixir-ls"
|
||||||
|
settings_section = "elixirLS"
|
||||||
|
[language.elixir.settings.elixirLS]
|
||||||
|
# See https://github.com/elixir-lsp/elixir-ls/blob/master/apps/language_server/lib/language_server/server.ex
|
||||||
|
# dialyzerEnable = true
|
||||||
|
|
||||||
|
[language.elm]
|
||||||
|
filetypes = ["elm"]
|
||||||
|
roots = ["elm.json"]
|
||||||
|
command = "elm-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
settings_section = "elmLS"
|
||||||
|
[language.elm.settings.elmLS]
|
||||||
|
# See https://github.com/elm-tooling/elm-language-server#server-settings
|
||||||
|
runtime = "node"
|
||||||
|
elmPath = "elm"
|
||||||
|
elmFormatPath = "elm-format"
|
||||||
|
elmTestPath = "elm-test"
|
||||||
|
|
||||||
|
[language.elvish]
|
||||||
|
filetypes = ["elvish"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "elvish"
|
||||||
|
args = ["-lsp"]
|
||||||
|
|
||||||
|
[language.erlang]
|
||||||
|
filetypes = ["erlang"]
|
||||||
|
# See https://github.com/erlang-ls/erlang_ls.git for more information and
|
||||||
|
# how to configure. This default config should work in most cases though.
|
||||||
|
roots = ["rebar.config", "erlang.mk", ".git", ".hg"]
|
||||||
|
command = "erlang_ls"
|
||||||
|
|
||||||
|
[language.go]
|
||||||
|
filetypes = ["go"]
|
||||||
|
roots = ["Gopkg.toml", "go.mod", ".git", ".hg"]
|
||||||
|
command = "gopls"
|
||||||
|
settings_section = "gopls"
|
||||||
|
[language.go.settings.gopls]
|
||||||
|
# See https://github.com/golang/tools/blob/master/gopls/doc/settings.md
|
||||||
|
# "build.buildFlags" = []
|
||||||
|
|
||||||
|
[language.haskell]
|
||||||
|
filetypes = ["haskell"]
|
||||||
|
roots = ["hie.yaml", "cabal.project", "Setup.hs", "stack.yaml", "*.cabal"]
|
||||||
|
command = "haskell-language-server-wrapper"
|
||||||
|
args = ["--lsp"]
|
||||||
|
settings_section = "_"
|
||||||
|
[language.haskell.settings._]
|
||||||
|
# See https://haskell-language-server.readthedocs.io/en/latest/configuration.html
|
||||||
|
# haskell.formattingProvider = "ormolu"
|
||||||
|
|
||||||
|
[language.html]
|
||||||
|
filetypes = ["html"]
|
||||||
|
roots = ["package.json"]
|
||||||
|
command = "vscode-html-languageserver"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
# # Commented out by default because you still need to set the paths in the JDT
|
||||||
|
# # Language Server arguments below before this can become a valid configuration.
|
||||||
|
# [language.java]
|
||||||
|
# filetypes = ["java"]
|
||||||
|
# roots = [".git", "mvnw", "gradlew"]
|
||||||
|
# command = "java"
|
||||||
|
# args = [
|
||||||
|
# "-Declipse.application=org.eclipse.jdt.ls.core.id1",
|
||||||
|
# "-Dosgi.bundles.defaultStartLevel=4",
|
||||||
|
# "-Declipse.product=org.eclipse.jdt.ls.core.product",
|
||||||
|
# "-Dlog.level=ALL",
|
||||||
|
# "-Dfile.encoding=utf-8",
|
||||||
|
# "--add-modules=ALL-SYSTEM",
|
||||||
|
# "--add-opens",
|
||||||
|
# "java.base/java.util=ALL-UNNAMED",
|
||||||
|
# "--add-opens",
|
||||||
|
# "java.base/java.lang=ALL-UNNAMED",
|
||||||
|
# "-noverify",
|
||||||
|
# "-Xmx1G",
|
||||||
|
# "-jar",
|
||||||
|
# "/path/to/eclipse.jdt.ls/repository/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar",
|
||||||
|
# "-configuration",
|
||||||
|
# "/path/to/eclipse.jdt.ls/repository/config_linux",
|
||||||
|
# "-data",
|
||||||
|
# "/path/to/eclipse-workspace",
|
||||||
|
# ]
|
||||||
|
# [language.java.settings]
|
||||||
|
# # See https://github.dev/eclipse/eclipse.jdt.ls
|
||||||
|
# # "java.format.insertSpaces" = true
|
||||||
|
|
||||||
|
[language.javascriptreact]
|
||||||
|
filetypes = ["javascript"]
|
||||||
|
roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||||
|
command = "typescript-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
settings_section = "_"
|
||||||
|
[language.javascriptreact.settings._]
|
||||||
|
# quotePreference = "single"
|
||||||
|
# javascript.format.semicolons = "insert"
|
||||||
|
|
||||||
|
[language.json]
|
||||||
|
filetypes = ["json"]
|
||||||
|
roots = ["package.json"]
|
||||||
|
command = "vscode-json-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
# Requires Julia package "LanguageServer"
|
||||||
|
# Run: `julia --project=@kak-lsp -e 'import Pkg; Pkg.add("LanguageServer")'` to install it
|
||||||
|
# Configuration adapted from https://github.com/neovim/nvim-lspconfig/blob/bcebfac7429cd8234960197dca8de1767f3ef5d3/lua/lspconfig/julials.lua
|
||||||
|
[language.julia]
|
||||||
|
filetypes = ["julia"]
|
||||||
|
roots = ["Project.toml", ".git", ".hg"]
|
||||||
|
command = "julia"
|
||||||
|
args = [
|
||||||
|
"--startup-file=no",
|
||||||
|
"--history-file=no",
|
||||||
|
"-e",
|
||||||
|
"""
|
||||||
|
ls_install_path = joinpath(get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")), "environments", "kak-lsp");
|
||||||
|
pushfirst!(LOAD_PATH, ls_install_path);
|
||||||
|
using LanguageServer;
|
||||||
|
popfirst!(LOAD_PATH);
|
||||||
|
depot_path = get(ENV, "JULIA_DEPOT_PATH", "");
|
||||||
|
buffer_file = ENV["kak_buffile"];
|
||||||
|
project_path = let
|
||||||
|
dirname(something(
|
||||||
|
# 1. Check if there is an explicitly set project
|
||||||
|
Base.load_path_expand((
|
||||||
|
p = get(ENV, "JULIA_PROJECT", nothing);
|
||||||
|
p === nothing ? nothing : isempty(p) ? nothing : p
|
||||||
|
)),
|
||||||
|
# 2. Check for Project.toml in current working directory
|
||||||
|
Base.current_project(pwd()),
|
||||||
|
# 3. Check for Project.toml from buffer's full file path excluding the file name
|
||||||
|
Base.current_project(dirname(buffer_file)),
|
||||||
|
# 4. Fallback to global environment
|
||||||
|
Base.active_project()
|
||||||
|
))
|
||||||
|
end
|
||||||
|
server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path);
|
||||||
|
server.runlinter = true;
|
||||||
|
run(server);
|
||||||
|
""",
|
||||||
|
]
|
||||||
|
[language.julia.settings]
|
||||||
|
# See https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl
|
||||||
|
# Format options. See https://github.com/julia-vscode/DocumentFormat.jl/blob/master/src/DocumentFormat.jl
|
||||||
|
# "julia.format.indent" = 4
|
||||||
|
# Lint options. See https://github.com/julia-vscode/StaticLint.jl/blob/master/src/linting/checks.jl
|
||||||
|
# "julia.lint.call" = true
|
||||||
|
# Other options, see https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl
|
||||||
|
# "julia.lint.run" = "true"
|
||||||
|
|
||||||
|
[language.latex]
|
||||||
|
filetypes = ["latex"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "texlab"
|
||||||
|
settings_section = "texlab"
|
||||||
|
[language.latex.settings.texlab]
|
||||||
|
# See https://github.com/latex-lsp/texlab/wiki/Configuration
|
||||||
|
#
|
||||||
|
# Preview configuration for zathura with SyncTeX search.
|
||||||
|
# For other PDF viewers see https://github.com/latex-lsp/texlab/wiki/Previewing
|
||||||
|
forwardSearch.executable = "zathura"
|
||||||
|
forwardSearch.args = [
|
||||||
|
"%p",
|
||||||
|
"--synctex-forward", # Support texlab-forward-search
|
||||||
|
"%l:1:%f",
|
||||||
|
"--synctex-editor-command", # Inverse search: use Control+Left-Mouse-Button to jump to source.
|
||||||
|
"""
|
||||||
|
sh -c '
|
||||||
|
echo "
|
||||||
|
evaluate-commands -client %opt{texlab_client} %{
|
||||||
|
evaluate-commands -try-client %opt{jumpclient} %{
|
||||||
|
edit -- %{input} %{line}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
" | kak -p $kak_session
|
||||||
|
'
|
||||||
|
""",
|
||||||
|
]
|
||||||
|
|
||||||
|
[language.lua]
|
||||||
|
filetypes = ["lua"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "lua-language-server"
|
||||||
|
[language.lua.settings.Lua]
|
||||||
|
# See https://github.com/sumneko/vscode-lua/blob/master/setting/schema.json
|
||||||
|
# diagnostics.enable = true
|
||||||
|
|
||||||
|
[language.markdown]
|
||||||
|
filetype = ["md", "markdown"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "vscode-markdown-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
|
||||||
|
# [[language]]
|
||||||
|
# name = "markdown"
|
||||||
|
# scope = "source.md"
|
||||||
|
# injection-regex = "md|markdown"
|
||||||
|
# file-types = ["md", "markdown", "PULLREQ_EDITMSG", "mkd", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook"]
|
||||||
|
# roots = [".marksman.toml"]
|
||||||
|
# language-servers = [ "marksman" ]
|
||||||
|
# indent = { tab-width = 2, unit = " " }
|
||||||
|
|
||||||
|
[language.nim]
|
||||||
|
filetypes = ["nim"]
|
||||||
|
roots = ["*.nimble", ".git", ".hg"]
|
||||||
|
command = "nimlsp"
|
||||||
|
|
||||||
|
[language.nix]
|
||||||
|
filetypes = ["nix"]
|
||||||
|
roots = ["flake.nix", "shell.nix", ".git", ".hg"]
|
||||||
|
command = "rnix-lsp"
|
||||||
|
|
||||||
|
[language.ocaml]
|
||||||
|
filetypes = ["ocaml"]
|
||||||
|
# Often useful to simply do a `touch dune-workspace` in your project root folder if you have problems with root detection
|
||||||
|
roots = ["dune-workspace", "dune-project", "Makefile", "opam", "*.opam", "esy.json", ".git", ".hg", "dune"]
|
||||||
|
command = "ocamllsp"
|
||||||
|
|
||||||
|
[language.php]
|
||||||
|
filetypes = ["php"]
|
||||||
|
roots = [".htaccess", "composer.json"]
|
||||||
|
command = "intelephense"
|
||||||
|
args = ["--stdio"]
|
||||||
|
settings_section = "intelephense"
|
||||||
|
[language.php.settings]
|
||||||
|
intelephense.storagePath = "/tmp/intelephense"
|
||||||
|
|
||||||
|
[language.proto]
|
||||||
|
filetypes = ["protobuf"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "pls" # https://github.com/lasorda/protobuf-language-server
|
||||||
|
|
||||||
|
[language.python]
|
||||||
|
filetypes = ["python"]
|
||||||
|
roots = ["requirements.txt", "setup.py", ".git", ".hg"]
|
||||||
|
command = "pylsp"
|
||||||
|
settings_section = "_"
|
||||||
|
[language.python.settings._]
|
||||||
|
# See https://github.com/python-lsp/python-lsp-server#configuration
|
||||||
|
# pylsp.configurationSources = ["flake8"]
|
||||||
|
pylsp.plugins.jedi_completion.include_params = true
|
||||||
|
|
||||||
|
[language.r]
|
||||||
|
filetypes = ["r"]
|
||||||
|
roots = ["DESCRIPTION", ".git", ".hg"]
|
||||||
|
command = "R"
|
||||||
|
args = ["--slave", "-e", "languageserver::run()"]
|
||||||
|
|
||||||
|
[language.racket]
|
||||||
|
filetypes = ["racket"]
|
||||||
|
roots = ["info.rkt"]
|
||||||
|
command = "racket"
|
||||||
|
args = ["-l", "racket-langserver"]
|
||||||
|
|
||||||
|
[language.reason]
|
||||||
|
filetypes = ["reason"]
|
||||||
|
roots = ["package.json", "Makefile", ".git", ".hg"]
|
||||||
|
command = "ocamllsp"
|
||||||
|
|
||||||
|
[language.ruby]
|
||||||
|
filetypes = ["ruby"]
|
||||||
|
roots = ["Gemfile"]
|
||||||
|
command = "solargraph"
|
||||||
|
args = ["stdio"]
|
||||||
|
settings_section = "_"
|
||||||
|
[language.ruby.settings._]
|
||||||
|
# See https://github.com/castwide/solargraph/blob/master/lib/solargraph/language_server/host.rb
|
||||||
|
# diagnostics = false
|
||||||
|
|
||||||
|
# [language.rust]
|
||||||
|
# filetypes = ["rust"]
|
||||||
|
# roots = ["Cargo.toml"]
|
||||||
|
# command = "sh"
|
||||||
|
# args = [
|
||||||
|
# "-c",
|
||||||
|
# """
|
||||||
|
# if path=$(rustup which rls 2>/dev/null); then
|
||||||
|
# "$path"
|
||||||
|
# else
|
||||||
|
# rls
|
||||||
|
# fi
|
||||||
|
# """,
|
||||||
|
# ]
|
||||||
|
# [language.rust.settings.rust]
|
||||||
|
# # See https://github.com/rust-lang/rls#configuration
|
||||||
|
# # features = []
|
||||||
|
|
||||||
|
[language.rust]
|
||||||
|
filetypes = ["rust"]
|
||||||
|
roots = ["Cargo.toml"]
|
||||||
|
command = "sh"
|
||||||
|
args = [
|
||||||
|
"-c",
|
||||||
|
"""
|
||||||
|
if path=$(rustup which rust-analyzer 2>/dev/null); then
|
||||||
|
"$path"
|
||||||
|
else
|
||||||
|
rust-analyzer
|
||||||
|
fi
|
||||||
|
""",
|
||||||
|
]
|
||||||
|
settings_section = "rust-analyzer"
|
||||||
|
[language.rust.settings.rust-analyzer]
|
||||||
|
# See https://rust-analyzer.github.io/manual.html#configuration
|
||||||
|
hoverActions.enable = false # kak-lsp doesn't support this at the moment
|
||||||
|
# cargo.features = []
|
||||||
|
|
||||||
|
[language.terraform]
|
||||||
|
filetypes = ["terraform"]
|
||||||
|
roots = ["*.tf"]
|
||||||
|
command = "terraform-ls"
|
||||||
|
args = ["serve"]
|
||||||
|
[language.terraform.settings.terraform-ls]
|
||||||
|
# See https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md
|
||||||
|
# rootModulePaths = []
|
||||||
|
|
||||||
|
# [language.typescriptreact]
|
||||||
|
# filetypes = ["typescript"]
|
||||||
|
# roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||||
|
# command = "typescript-language-server"
|
||||||
|
# args = ["--stdio"]
|
||||||
|
# settings_section = "_"
|
||||||
|
# [language.typescriptreact.settings._]
|
||||||
|
# quotePreference = "double"
|
||||||
|
# typescript.format.semicolons = "insert"
|
||||||
|
|
||||||
|
[language.tsx]
|
||||||
|
filetypes = ["typescript"]
|
||||||
|
roots = ["package.json", "tsconfig.json", ".git", ".hg"]
|
||||||
|
command = "typescript-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
settings_section = "_"
|
||||||
|
|
||||||
|
# [language.typescript.settings.deno]
|
||||||
|
# enable = true
|
||||||
|
# lint = true
|
||||||
|
|
||||||
|
[language.yaml]
|
||||||
|
filetypes = ["yaml"]
|
||||||
|
roots = [".git", ".hg"]
|
||||||
|
command = "yaml-language-server"
|
||||||
|
args = ["--stdio"]
|
||||||
|
[language.yaml.settings]
|
||||||
|
# See https://github.com/redhat-developer/yaml-language-server#language-server-settings
|
||||||
|
# Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts
|
||||||
|
# yaml.format.enable = true
|
||||||
|
|
||||||
|
[language.zig]
|
||||||
|
filetypes = ["zig"]
|
||||||
|
roots = ["build.zig"]
|
||||||
|
command = "zls"
|
||||||
|
|
||||||
|
# Semantic tokens support
|
||||||
|
# See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens
|
||||||
|
# for the default list of tokens and modifiers.
|
||||||
|
# However, many language servers implement their own values.
|
||||||
|
# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well.
|
||||||
|
# Examples:
|
||||||
|
# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/semanticTokens.ts
|
||||||
|
# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/syntax_highlighting.rs
|
||||||
|
[semantic_tokens]
|
||||||
|
faces = [
|
||||||
|
{face="documentation", token="comment", modifiers=["documentation"]},
|
||||||
|
{face="comment", token="comment"},
|
||||||
|
{face="function", token="function"},
|
||||||
|
{face="keyword", token="keyword"},
|
||||||
|
{face="module", token="namespace"},
|
||||||
|
{face="operator", token="operator"},
|
||||||
|
{face="string", token="string"},
|
||||||
|
{face="type", token="type"},
|
||||||
|
{face="default+d", token="variable", modifiers=["readonly"]},
|
||||||
|
{face="default+d", token="variable", modifiers=["constant"]},
|
||||||
|
{face="variable", token="variable"},
|
||||||
|
]
|
83
jaci/dotfiles/kak/colors/catppuccin_frappe.kak
Normal file
83
jaci/dotfiles/kak/colors/catppuccin_frappe.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# Catppuccin theme for Kakoune
|
||||||
|
|
||||||
|
# Color palette
|
||||||
|
declare-option str rosewater 'rgb:f2d5cf'
|
||||||
|
declare-option str red 'rgb:e78284'
|
||||||
|
declare-option str mauve 'rgb:ca9ee6'
|
||||||
|
declare-option str maroon 'rgb:ea999c'
|
||||||
|
declare-option str pink 'rgb:f4b8e4'
|
||||||
|
declare-option str cyan 'rgb:85c1dc'
|
||||||
|
declare-option str yellow 'rgb:e5c890'
|
||||||
|
declare-option str green 'rgb:a6d189'
|
||||||
|
declare-option str white 'rgb:c6d0f5'
|
||||||
|
declare-option str blue 'rgb:8caaee'
|
||||||
|
declare-option str sky 'rgb:99d1db'
|
||||||
|
declare-option str lavender 'rgb:babbf1'
|
||||||
|
declare-option str black1 'rgb:292c3c'
|
||||||
|
declare-option str black2 'rgb:303446'
|
||||||
|
declare-option str black3 'rgb:414559'
|
||||||
|
declare-option str orange 'rgb:ef9f76'
|
||||||
|
declare-option str teal 'rgb:81c8be'
|
||||||
|
declare-option str gray0 'rgb:626880'
|
||||||
|
declare-option str gray1 'rgb:737994'
|
||||||
|
declare-option str bright_red %opt{red}
|
||||||
|
declare-option str bright_green %opt{green}
|
||||||
|
declare-option str bright_yellow %opt{yellow}
|
||||||
|
declare-option str bright_blue %opt{blue}
|
||||||
|
declare-option str bright_cyan %opt{cyan}
|
||||||
|
declare-option str bright_white %opt{white}
|
||||||
|
declare-option str foreground %opt{white}
|
||||||
|
declare-option str background %opt{black2}
|
||||||
|
|
||||||
|
# Markup
|
||||||
|
set-face global title "%opt{rosewater}"
|
||||||
|
set-face global header "%opt{bright_red}"
|
||||||
|
set-face global bold "%opt{mauve}"
|
||||||
|
set-face global italic "%opt{lavender}"
|
||||||
|
set-face global mono "%opt{green}"
|
||||||
|
set-face global block "%opt{cyan}"
|
||||||
|
set-face global link "%opt{green}"
|
||||||
|
set-face global bullet "%opt{green}"
|
||||||
|
set-face global list "%opt{white}"
|
||||||
|
|
||||||
|
# Builtins
|
||||||
|
set-face global Default "%opt{white},%opt{background}"
|
||||||
|
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
|
||||||
|
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||||
|
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||||
|
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||||
|
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||||
|
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||||
|
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||||
|
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
|
||||||
|
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||||
|
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||||
|
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||||
|
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||||
|
set-face global Information "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Error "%opt{red},%opt{black2}"
|
||||||
|
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||||
|
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||||
|
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||||
|
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||||
|
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Prompt "%opt{green},%opt{black2}"
|
||||||
|
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||||
|
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||||
|
set-face global WrapMarker Whitespace
|
||||||
|
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||||
|
|
||||||
|
# Code
|
||||||
|
set-face global value "%opt{orange}"
|
||||||
|
set-face global type "%opt{rosewater}"
|
||||||
|
set-face global variable "%opt{white}"
|
||||||
|
set-face global module "%opt{maroon}"
|
||||||
|
set-face global function "%opt{sky}"
|
||||||
|
set-face global string "%opt{green}"
|
||||||
|
set-face global keyword "%opt{blue}"
|
||||||
|
set-face global operator "%opt{blue}"
|
||||||
|
set-face global attribute "%opt{green}"
|
||||||
|
set-face global comment "%opt{gray1}"
|
||||||
|
set-face global documentation comment
|
||||||
|
set-face global meta "%opt{pink}"
|
||||||
|
set-face global builtin "%opt{lavender}+b"
|
83
jaci/dotfiles/kak/colors/catppuccin_latte.kak
Normal file
83
jaci/dotfiles/kak/colors/catppuccin_latte.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# Catppuccin theme for Kakoune
|
||||||
|
|
||||||
|
# Color palette
|
||||||
|
declare-option str rosewater 'rgb:dc8a78'
|
||||||
|
declare-option str red 'rgb:d20f39'
|
||||||
|
declare-option str mauve 'rgb:8839ef'
|
||||||
|
declare-option str maroon 'rgb:e64553'
|
||||||
|
declare-option str pink 'rgb:ea76cb'
|
||||||
|
declare-option str cyan 'rgb:209fb5'
|
||||||
|
declare-option str yellow 'rgb:df8e1d'
|
||||||
|
declare-option str green 'rgb:40a02b'
|
||||||
|
declare-option str white 'rgb:4c4f69'
|
||||||
|
declare-option str blue 'rgb:1e66f5'
|
||||||
|
declare-option str sky 'rgb:04a5e5'
|
||||||
|
declare-option str lavender 'rgb:7287fd'
|
||||||
|
declare-option str black1 'rgb:e6e9ef'
|
||||||
|
declare-option str black2 'rgb:eff1f5'
|
||||||
|
declare-option str black3 'rgb:ccd0da'
|
||||||
|
declare-option str orange 'rgb:fe640b'
|
||||||
|
declare-option str teal 'rgb:179299'
|
||||||
|
declare-option str gray0 'rgb:acb0be'
|
||||||
|
declare-option str gray1 'rgb:9ca0b0'
|
||||||
|
declare-option str bright_red %opt{red}
|
||||||
|
declare-option str bright_green %opt{green}
|
||||||
|
declare-option str bright_yellow %opt{yellow}
|
||||||
|
declare-option str bright_blue %opt{blue}
|
||||||
|
declare-option str bright_cyan %opt{cyan}
|
||||||
|
declare-option str bright_white %opt{white}
|
||||||
|
declare-option str foreground %opt{white}
|
||||||
|
declare-option str background %opt{black2}
|
||||||
|
|
||||||
|
# Markup
|
||||||
|
set-face global title "%opt{rosewater}"
|
||||||
|
set-face global header "%opt{bright_red}"
|
||||||
|
set-face global bold "%opt{mauve}"
|
||||||
|
set-face global italic "%opt{lavender}"
|
||||||
|
set-face global mono "%opt{green}"
|
||||||
|
set-face global block "%opt{cyan}"
|
||||||
|
set-face global link "%opt{green}"
|
||||||
|
set-face global bullet "%opt{green}"
|
||||||
|
set-face global list "%opt{white}"
|
||||||
|
|
||||||
|
# Builtins
|
||||||
|
set-face global Default "%opt{white},%opt{background}"
|
||||||
|
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
|
||||||
|
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||||
|
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||||
|
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||||
|
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||||
|
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||||
|
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||||
|
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
|
||||||
|
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||||
|
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||||
|
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||||
|
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||||
|
set-face global Information "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Error "%opt{red},%opt{black2}"
|
||||||
|
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||||
|
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||||
|
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||||
|
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||||
|
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Prompt "%opt{green},%opt{black2}"
|
||||||
|
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||||
|
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||||
|
set-face global WrapMarker Whitespace
|
||||||
|
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||||
|
|
||||||
|
# Code
|
||||||
|
set-face global value "%opt{orange}"
|
||||||
|
set-face global type "%opt{rosewater}"
|
||||||
|
set-face global variable "%opt{white}"
|
||||||
|
set-face global module "%opt{maroon}"
|
||||||
|
set-face global function "%opt{sky}"
|
||||||
|
set-face global string "%opt{green}"
|
||||||
|
set-face global keyword "%opt{blue}"
|
||||||
|
set-face global operator "%opt{blue}"
|
||||||
|
set-face global attribute "%opt{green}"
|
||||||
|
set-face global comment "%opt{gray1}"
|
||||||
|
set-face global documentation comment
|
||||||
|
set-face global meta "%opt{pink}"
|
||||||
|
set-face global builtin "%opt{lavender}+b"
|
83
jaci/dotfiles/kak/colors/catppuccin_macchiato.kak
Normal file
83
jaci/dotfiles/kak/colors/catppuccin_macchiato.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# Catppuccin theme for Kakoune
|
||||||
|
|
||||||
|
# Color palette
|
||||||
|
declare-option str rosewater 'rgb:f4dbd6'
|
||||||
|
declare-option str red 'rgb:ed8796'
|
||||||
|
declare-option str mauve 'rgb:c6a0f6'
|
||||||
|
declare-option str maroon 'rgb:ee99a0'
|
||||||
|
declare-option str pink 'rgb:f5bde6'
|
||||||
|
declare-option str cyan 'rgb:7dc4e4'
|
||||||
|
declare-option str yellow 'rgb:eed49f'
|
||||||
|
declare-option str green 'rgb:a6da95'
|
||||||
|
declare-option str white 'rgb:cad3f5'
|
||||||
|
declare-option str blue 'rgb:8aadf4'
|
||||||
|
declare-option str sky 'rgb:91d7e3'
|
||||||
|
declare-option str lavender 'rgb:b7bdf8'
|
||||||
|
declare-option str black1 'rgb:1e2030'
|
||||||
|
declare-option str black2 'rgb:24273a'
|
||||||
|
declare-option str black3 'rgb:363a4f'
|
||||||
|
declare-option str orange 'rgb:f5a97f'
|
||||||
|
declare-option str teal 'rgb:8bd5ca'
|
||||||
|
declare-option str gray0 'rgb:5b6078'
|
||||||
|
declare-option str gray1 'rgb:6e738d'
|
||||||
|
declare-option str bright_red %opt{red}
|
||||||
|
declare-option str bright_green %opt{green}
|
||||||
|
declare-option str bright_yellow %opt{yellow}
|
||||||
|
declare-option str bright_blue %opt{blue}
|
||||||
|
declare-option str bright_cyan %opt{cyan}
|
||||||
|
declare-option str bright_white %opt{white}
|
||||||
|
declare-option str foreground %opt{white}
|
||||||
|
declare-option str background %opt{black2}
|
||||||
|
|
||||||
|
# Markup
|
||||||
|
set-face global title "%opt{rosewater}"
|
||||||
|
set-face global header "%opt{bright_red}"
|
||||||
|
set-face global bold "%opt{mauve}"
|
||||||
|
set-face global italic "%opt{lavender}"
|
||||||
|
set-face global mono "%opt{green}"
|
||||||
|
set-face global block "%opt{cyan}"
|
||||||
|
set-face global link "%opt{green}"
|
||||||
|
set-face global bullet "%opt{green}"
|
||||||
|
set-face global list "%opt{white}"
|
||||||
|
|
||||||
|
# Builtins
|
||||||
|
set-face global Default "%opt{white},%opt{background}"
|
||||||
|
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
|
||||||
|
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||||
|
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||||
|
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||||
|
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||||
|
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||||
|
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||||
|
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
|
||||||
|
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||||
|
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||||
|
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||||
|
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||||
|
set-face global Information "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Error "%opt{red},%opt{black2}"
|
||||||
|
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||||
|
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||||
|
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||||
|
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||||
|
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Prompt "%opt{green},%opt{black2}"
|
||||||
|
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||||
|
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||||
|
set-face global WrapMarker Whitespace
|
||||||
|
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||||
|
|
||||||
|
# Code
|
||||||
|
set-face global value "%opt{orange}"
|
||||||
|
set-face global type "%opt{pink}"
|
||||||
|
set-face global variable "%opt{white}"
|
||||||
|
set-face global module "%opt{mauve}"
|
||||||
|
set-face global function "%opt{sky}"
|
||||||
|
set-face global string "%opt{green}"
|
||||||
|
set-face global keyword "%opt{blue}"
|
||||||
|
set-face global operator "%opt{blue}"
|
||||||
|
set-face global attribute "%opt{green}"
|
||||||
|
set-face global comment "%opt{gray1}"
|
||||||
|
set-face global documentation comment
|
||||||
|
set-face global meta "%opt{pink}"
|
||||||
|
set-face global builtin "%opt{lavender}+b"
|
83
jaci/dotfiles/kak/colors/catppuccin_mocha.kak
Normal file
83
jaci/dotfiles/kak/colors/catppuccin_mocha.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# Catppuccin theme for Kakoune
|
||||||
|
|
||||||
|
# Color palette
|
||||||
|
declare-option str rosewater 'rgb:f5e0dc'
|
||||||
|
declare-option str red 'rgb:f38ba8'
|
||||||
|
declare-option str mauve 'rgb:cba6f7'
|
||||||
|
declare-option str maroon 'rgb:eba0ac'
|
||||||
|
declare-option str pink 'rgb:f5c2e7'
|
||||||
|
declare-option str cyan 'rgb:74c7ec'
|
||||||
|
declare-option str yellow 'rgb:f9e2af'
|
||||||
|
declare-option str green 'rgb:a6e3a1'
|
||||||
|
declare-option str white 'rgb:cdd6f4'
|
||||||
|
declare-option str blue 'rgb:89b4fa'
|
||||||
|
declare-option str sky 'rgb:89dceb'
|
||||||
|
declare-option str lavender 'rgb:b4befe'
|
||||||
|
declare-option str black1 'rgb:181825'
|
||||||
|
declare-option str black2 'rgb:1e1e2e'
|
||||||
|
declare-option str black3 'rgb:313244'
|
||||||
|
declare-option str orange 'rgb:fab387'
|
||||||
|
declare-option str teal 'rgb:94e2d5'
|
||||||
|
declare-option str gray0 'rgb:585b70'
|
||||||
|
declare-option str gray1 'rgb:6c7086'
|
||||||
|
declare-option str bright_red %opt{red}
|
||||||
|
declare-option str bright_green %opt{green}
|
||||||
|
declare-option str bright_yellow %opt{yellow}
|
||||||
|
declare-option str bright_blue %opt{blue}
|
||||||
|
declare-option str bright_cyan %opt{cyan}
|
||||||
|
declare-option str bright_white %opt{white}
|
||||||
|
declare-option str foreground %opt{white}
|
||||||
|
declare-option str background %opt{black2}
|
||||||
|
|
||||||
|
# Markup
|
||||||
|
set-face global title "%opt{rosewater}"
|
||||||
|
set-face global header "%opt{bright_red}"
|
||||||
|
set-face global bold "%opt{mauve}"
|
||||||
|
set-face global italic "%opt{lavender}"
|
||||||
|
set-face global mono "%opt{green}"
|
||||||
|
set-face global block "%opt{cyan}"
|
||||||
|
set-face global link "%opt{green}"
|
||||||
|
set-face global bullet "%opt{green}"
|
||||||
|
set-face global list "%opt{white}"
|
||||||
|
|
||||||
|
# Builtins
|
||||||
|
set-face global Default "%opt{white},%opt{background}"
|
||||||
|
set-face global PrimarySelection "%opt{gray0},%opt{lavender}"
|
||||||
|
set-face global SecondarySelection "%opt{lavender},%opt{gray0}"
|
||||||
|
set-face global PrimaryCursor "%opt{background},%opt{rosewater}"
|
||||||
|
set-face global SecondaryCursor "%opt{black1},%opt{teal}"
|
||||||
|
set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}"
|
||||||
|
set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}"
|
||||||
|
set-face global LineNumbers "%opt{gray1},%opt{background}"
|
||||||
|
set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b"
|
||||||
|
set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i"
|
||||||
|
set-face global MenuForeground "%opt{white},%opt{gray0}+b"
|
||||||
|
set-face global MenuBackground "%opt{white},%opt{black3}"
|
||||||
|
set-face global MenuInfo "%opt{black1},%opt{blue}"
|
||||||
|
set-face global Information "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Error "%opt{red},%opt{black2}"
|
||||||
|
set-face global StatusLine "%opt{white},%opt{black1}"
|
||||||
|
set-face global StatusLineMode "%opt{black2},%opt{yellow}"
|
||||||
|
set-face global StatusLineInfo "%opt{background},%opt{green}"
|
||||||
|
set-face global StatusLineValue "%opt{orange},%opt{gray0}"
|
||||||
|
set-face global StatusCursor "%opt{black1},%opt{lavender}"
|
||||||
|
set-face global Prompt "%opt{green},%opt{black2}"
|
||||||
|
set-face global MatchingChar "%opt{maroon},%opt{black2}"
|
||||||
|
set-face global Whitespace "%opt{gray1},%opt{background}+f"
|
||||||
|
set-face global WrapMarker Whitespace
|
||||||
|
set-face global BufferPadding "%opt{background},%opt{background}"
|
||||||
|
|
||||||
|
# Code
|
||||||
|
set-face global value "%opt{orange}"
|
||||||
|
set-face global type "%opt{rosewater}"
|
||||||
|
set-face global variable "%opt{white}"
|
||||||
|
set-face global module "%opt{maroon}"
|
||||||
|
set-face global function "%opt{sky}"
|
||||||
|
set-face global string "%opt{green}"
|
||||||
|
set-face global keyword "%opt{blue}"
|
||||||
|
set-face global operator "%opt{blue}"
|
||||||
|
set-face global attribute "%opt{green}"
|
||||||
|
set-face global comment "%opt{gray1}"
|
||||||
|
set-face global documentation comment
|
||||||
|
set-face global meta "%opt{pink}"
|
||||||
|
set-face global builtin "%opt{lavender}+b"
|
252
jaci/dotfiles/kak/kakrc
Normal file
252
jaci/dotfiles/kak/kakrc
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
# ------------------
|
||||||
|
# Plugin Setup
|
||||||
|
# ------------------
|
||||||
|
|
||||||
|
# IMORTANT NOTE:
|
||||||
|
# I needed to open kakoune and type ':plug-install' to actually
|
||||||
|
# install the plugins listed in this file. I did not see this
|
||||||
|
# mentioned in wikis or anything, so make sure to do this to
|
||||||
|
# avoid searching github wikis and reddit needlessly.
|
||||||
|
|
||||||
|
# Creates the /plugins folder if it doesnt exist each startup
|
||||||
|
evaluate-commands %sh{
|
||||||
|
plugins="$kak_config/plugins"
|
||||||
|
mkdir -p "$plugins"
|
||||||
|
[ ! -e "$plugins/plug.kak" ] && \
|
||||||
|
git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak"
|
||||||
|
printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'"
|
||||||
|
}
|
||||||
|
plug "andreyorst/plug.kak" noload
|
||||||
|
|
||||||
|
# ------------------
|
||||||
|
# Editor Settings
|
||||||
|
# ------------------
|
||||||
|
|
||||||
|
# Disables startup message showing
|
||||||
|
set-option global startup_info_version 30000000
|
||||||
|
|
||||||
|
set-option global tabstop 4
|
||||||
|
set-option global indentwidth 4
|
||||||
|
set-option global scrolloff 5,3
|
||||||
|
declare-option str kakrc_path "~/.config/kak/kakrc"
|
||||||
|
declare-option str sway_conf_path "~/.config/sway/config.d/default"
|
||||||
|
declare-option str shell_config "~/.zshrc"
|
||||||
|
|
||||||
|
# plug "catppuccin/kakoune" theme config %{
|
||||||
|
# colorscheme catppuccin_macchiato
|
||||||
|
# }
|
||||||
|
colorscheme catppuccin_macchiato
|
||||||
|
# relative line numbers
|
||||||
|
hook global BufCreate .* %{
|
||||||
|
add-highlighter buffer/ number-lines -hlcursor
|
||||||
|
}
|
||||||
|
|
||||||
|
# Git Gutters
|
||||||
|
hook global WinCreate .* %{ evaluate-commands %sh{
|
||||||
|
if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then
|
||||||
|
echo "git show-diff"
|
||||||
|
fi
|
||||||
|
}}
|
||||||
|
|
||||||
|
# Write on unfocus
|
||||||
|
hook global FocusOut .* %{ try %{
|
||||||
|
write
|
||||||
|
}}
|
||||||
|
|
||||||
|
hook global BufWritePost .* %{ evaluate-commands 'git update-diff' }
|
||||||
|
hook global BufReload .* %{ evaluate-commands 'git update-diff' }
|
||||||
|
|
||||||
|
# Add default,red and bold style to these regex matches
|
||||||
|
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default,red+rb
|
||||||
|
|
||||||
|
# ------------------
|
||||||
|
# Key bindings
|
||||||
|
# ------------------
|
||||||
|
|
||||||
|
# Remap hjkl navigation to colemak-dh layout
|
||||||
|
map global normal n h
|
||||||
|
map global normal e k
|
||||||
|
map global normal i j
|
||||||
|
map global normal o l
|
||||||
|
|
||||||
|
map global normal N H
|
||||||
|
map global normal E K
|
||||||
|
map global normal I J
|
||||||
|
map global normal O L
|
||||||
|
|
||||||
|
# Remap insert command
|
||||||
|
map global normal h i
|
||||||
|
|
||||||
|
# Insert line above or below
|
||||||
|
map global normal l o
|
||||||
|
map global normal L O
|
||||||
|
|
||||||
|
# No alt, remap
|
||||||
|
map global normal <c-f> <a-f> -docstring 'same as [f] but in the other direction'
|
||||||
|
map global normal <c-t> <a-t> -docstring 'same as [t] but in the other direction'
|
||||||
|
map global normal <c-n> <a-h> -docstring 'select to beginning of line'
|
||||||
|
map global normal <c-o> <a-l> -docstring 'select to end of line'
|
||||||
|
map global normal <c-s> <a-s> -docstring 'split selections on line boundaries'
|
||||||
|
map global normal <c-S> <a-S> -docstring 'select first and last character of each selection'
|
||||||
|
map global normal '<c-;>' '<a-;>' -docstring 'flip direction of each selection'
|
||||||
|
map global normal <c-:> <a-:> -docstring 'ensure selections are in forward direction (cursor then anchor)'
|
||||||
|
map global normal <c-,> <a-,> -docstring 'clear the main selection'
|
||||||
|
|
||||||
|
# Scrolling remap
|
||||||
|
map global normal <c-e> <pageup> -docstring 'Scroll screen up'
|
||||||
|
map global normal <c-i> <pagedown> -docstring 'Scroll screen down'
|
||||||
|
|
||||||
|
map global normal <c-/> ':comment-line<ret>' -docstring 'comment selected lines'
|
||||||
|
|
||||||
|
# Ctrl-s to save
|
||||||
|
map global normal <c-s> ':w<ret>' -docstring 'write buffer'
|
||||||
|
# Ctrl-x to save and exit
|
||||||
|
map global normal <c-x> ':w<ret>:db<ret>' -docstring 'write close buffer'
|
||||||
|
|
||||||
|
# Colemak goto remappings
|
||||||
|
map global goto n h -docstring 'line start'
|
||||||
|
map global goto o l -docstring 'line end'
|
||||||
|
map global goto e k -docstring 'buffer top'
|
||||||
|
map global goto i j -docstring 'buffer bottom'
|
||||||
|
|
||||||
|
map global goto h n
|
||||||
|
map global goto l o
|
||||||
|
map global goto k e
|
||||||
|
map global goto j i
|
||||||
|
|
||||||
|
# Remap view keys
|
||||||
|
map global view n h
|
||||||
|
map global view o l
|
||||||
|
map global view e k
|
||||||
|
map global view i j
|
||||||
|
|
||||||
|
map global normal ( ': buffer-previous<ret>' -docstring 'prev buffer'
|
||||||
|
map global normal ) ': buffer-next<ret>' -docstring 'next buffer'
|
||||||
|
|
||||||
|
# map global normal [ ( -docstring 'rotate main selection'
|
||||||
|
|
||||||
|
# map global normal ] ) -docstring 'rotate main selection backwards'
|
||||||
|
# Make x select <param> lines up and down
|
||||||
|
def -params 1 extend-line-down %{
|
||||||
|
exec "<a-:>%arg{1}J"
|
||||||
|
}
|
||||||
|
|
||||||
|
def -params 1 extend-line-up %{
|
||||||
|
exec "<a-:><a-;>%arg{1}K<a-;>"
|
||||||
|
try %{
|
||||||
|
exec -draft ';<a-K>\n<ret>'
|
||||||
|
exec X
|
||||||
|
}
|
||||||
|
exec '<a-;><a-X>'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
map global normal x ':extend-line-down %val{count}<ret>'
|
||||||
|
map global normal X ':extend-line-up %val{count}<ret>'
|
||||||
|
|
||||||
|
map global normal k n -docstring 'next result'
|
||||||
|
map global normal K N -docstring 'next result add selection'
|
||||||
|
|
||||||
|
map global normal <a-k> <c-n> -docstring 'prev result'
|
||||||
|
map global normal <a-K> <c-N> -docstring 'prev result add selection'
|
||||||
|
|
||||||
|
map global insert <down> <c-n> -docstring 'next completion'
|
||||||
|
map global insert <up> <c-p> -docstring 'prev completion'
|
||||||
|
|
||||||
|
# User Mode Bindings
|
||||||
|
# Accessed with <space>
|
||||||
|
declare-user-mode git
|
||||||
|
map global user g ': enter-user-mode git<ret>' -docstring "Git mode"
|
||||||
|
map global user p '<a-!>wl-paste -n<ret>' -docstring 'paste from system clip board'
|
||||||
|
hook global RegisterModified '"' %{ nop %sh{
|
||||||
|
printf %s "$kak_main_reg_dquote" | wl-copy > /dev/null 2>&1 &
|
||||||
|
}}
|
||||||
|
|
||||||
|
# Open kakrc, double quotes needed to ecsape the kakrc_path option
|
||||||
|
map global user o ":edit %opt{kakrc_path}<ret>" -docstring 'open kakrc'
|
||||||
|
map global user z ":edit %opt{shell_config}<ret>" -docstring 'open shell config'
|
||||||
|
map global user S ":edit %opt{sway_conf_path}<ret>" -docstring 'open wm config'
|
||||||
|
# Git Mode Bindings
|
||||||
|
map global git d '<esc>:git show-diff<ret>' -docstring "Show diff"
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# LSP Configuration
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
plug "kak-lsp/kak-lsp" do %{
|
||||||
|
cargo install --locked --force --path .
|
||||||
|
mkdir -p ~/.config/kak-lsp
|
||||||
|
cp -n kak-lsp.toml ~/.config/kak-lsp/
|
||||||
|
} config %{
|
||||||
|
|
||||||
|
# enable inlay hints
|
||||||
|
lsp-inlay-hints-enable global
|
||||||
|
lsp-inlay-diagnostics-enable global
|
||||||
|
|
||||||
|
# set global lsp_diagnostic_line_error_sign '║'
|
||||||
|
# set global lsp_diagnostic_line_warning_sign '┊'
|
||||||
|
|
||||||
|
define-command lsp-restart -docstring 'restart lsp server' %{ lsp-stop; lsp-start }
|
||||||
|
|
||||||
|
map global insert <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
||||||
|
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||||
|
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
||||||
|
map global object e '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
||||||
|
map global object k '<a-semicolon>lsp-object Class Interface Struct<ret>' -docstring 'LSP class interface or struct'
|
||||||
|
map global object d '<a-semicolon>lsp-diagnostic-object --include-warnings<ret>' -docstring 'LSP errors and warnings'
|
||||||
|
map global object D '<a-semicolon>lsp-diagnostic-object<ret>' -docstring 'LSP errors'
|
||||||
|
|
||||||
|
# load lsp for supported filetypes
|
||||||
|
set-option global lsp_cmd "kak-lsp -s %val{session} -vvv --log /tmp/kak-lsp.log"
|
||||||
|
hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|zig|dart|ruby) %{
|
||||||
|
lsp-enable-window
|
||||||
|
# lsp-auto-hover-enable
|
||||||
|
map global user l ': enter-user-mode lsp<ret>' -docstring 'lsp mode'
|
||||||
|
map global user h ': enter-user-mode lsp<ret>h' -docstring 'lsp help'
|
||||||
|
map global user a ': enter-user-mode lsp<ret>a' -docstring 'lsp code action'
|
||||||
|
set-option global lsp_hover_anchor false
|
||||||
|
}
|
||||||
|
|
||||||
|
hook global KakEnd .* lsp-exit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Other Plugins
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
map global goto f '<esc>:prompt -shell-script-candidates %{ fd --type f --hidden } file: %{ edit %val{text} }<ret>' -docstring "file"
|
||||||
|
map global goto b '<esc>:prompt -buffer-completion buffer: %{ buffer %val{text} }<ret>' -docstring "buffer"
|
||||||
|
|
||||||
|
# Fzf Plugin
|
||||||
|
plug "andreyorst/fzf.kak" config %{
|
||||||
|
# map global user f ':fzf-mode<ret>v' -docstring 'fzf file in project'
|
||||||
|
map global user b ':fzf-mode<ret>b' -docstring 'fzf current buffers'
|
||||||
|
|
||||||
|
map global user / ':fzf-mode<ret>g' -docstring 'fzf search in project'
|
||||||
|
|
||||||
|
# def fzf_file %{
|
||||||
|
# evaluate-commands %sh{
|
||||||
|
# printf "%s\n" ":fzf-mode<ret><esc>:fzf -items-cmd fd<ret>"
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Change FZF colors
|
||||||
|
# FZF_DEFAULT_OPTS=" \
|
||||||
|
# --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \
|
||||||
|
# --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \
|
||||||
|
# --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
plug "alexherbo2/auto-pairs.kak" %{
|
||||||
|
enable-auto-pairs
|
||||||
|
}
|
||||||
|
|
||||||
|
plug "https://github.com/h-youhei/kakoune-surround"
|
||||||
|
|
||||||
|
map global normal <c-m> ':surround<ret>'
|
||||||
|
|
||||||
|
# Custom scripts
|
||||||
|
source "~/.config/kak/rc/fzf_git.kak"
|
60
jaci/dotfiles/kak/rc/fzf_git.kak
Normal file
60
jaci/dotfiles/kak/rc/fzf_git.kak
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
define-command fzzf -params .. %{ evaluate-commands %sh{
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case $1 in
|
||||||
|
(-items-cmd) shift; items_cmd="$1" ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# fzf_tmp=$(mktemp -d "${TMPDIR:-/tmp}"/fzfgit.kak.XXXXXX)
|
||||||
|
# fzfcmd="${fzf_tmp}/fzfcmd"
|
||||||
|
# result="${fzf_tmp}/result"
|
||||||
|
|
||||||
|
# (
|
||||||
|
# shell_path="$(command -v sh)"
|
||||||
|
# if [ -n "${shell_path}" ]; then
|
||||||
|
# # portable shebang
|
||||||
|
# printf "%s\n" "#!${shell_path}"
|
||||||
|
# # set SHELL because fzf preview uses it
|
||||||
|
# printf "%s\n" "SHELL=${shell_path}"
|
||||||
|
# fi
|
||||||
|
# # compose entire fzf command with all args into single file which will be executed later
|
||||||
|
# # printf "%s\n" "export FZF_DEFAULT_OPTS=\"${kak_opt_fzf_default_opts:-}\""
|
||||||
|
# printf "%s\n" "cd \"${PWD}\" && $items_cmd | fzf > $result"
|
||||||
|
# printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}"
|
||||||
|
# printf "%s\n" "rm ${fzfcmd}"
|
||||||
|
# printf "%s\n" "fg"
|
||||||
|
# ) >> "${fzfcmd}"
|
||||||
|
# chmod 755 "${fzfcmd}"
|
||||||
|
|
||||||
|
kill -TSTP $kak_client_pid
|
||||||
|
cd `pwd` && $items_cmd | \
|
||||||
|
fzf | \
|
||||||
|
xargs printf "evaluate-commands -client ${kak_client} edit -existing %s\n" | \
|
||||||
|
kak -p
|
||||||
|
fg
|
||||||
|
|
||||||
|
# cmd="terminal $fzfcmd"
|
||||||
|
|
||||||
|
# Tells kakoune to open a terminal and run $fzfcmd
|
||||||
|
# printf "%s\n" "$fzfcmd"
|
||||||
|
|
||||||
|
# ( while [ -e "${fzfcmd}" ]; do sleep 0.1; done
|
||||||
|
# # printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing ~/out.txt" | kak -p "${kak_session}"
|
||||||
|
# if [ -s "${result}" ]; then
|
||||||
|
# file=$(cat $result)
|
||||||
|
# printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}"
|
||||||
|
|
||||||
|
# fi
|
||||||
|
# rm -rf $fzf_temp
|
||||||
|
# ) > /dev/null 2>&1 < /dev/null &
|
||||||
|
|
||||||
|
# Bring kakoune back into the foreground
|
||||||
|
}}
|
||||||
|
|
||||||
|
# define-command fzf-project %{ fzzf -items-cmd 'fd -tfile' }
|
||||||
|
|
||||||
|
# map global user f ':fzf-project<ret>' -docstring 'fzf current project'
|
||||||
|
|
2334
jaci/dotfiles/kitty/kitty.conf
Normal file
2334
jaci/dotfiles/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
22
jaci/dotfiles/labwc/autostart
Normal file
22
jaci/dotfiles/labwc/autostart
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Example autostart file
|
||||||
|
|
||||||
|
# Set background color.
|
||||||
|
swww init >/dev/null 2>&1 &
|
||||||
|
swww img ~/.config/labwc/backgrounds/cat1.jpg >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Configure output directives such as mode, position, scale and transform.
|
||||||
|
# Use wlr-randr to get your output names
|
||||||
|
# Example ~/.config/kanshi/config below:
|
||||||
|
# profile {
|
||||||
|
# output HDMI-A-1 position 1366,0
|
||||||
|
# output eDP-1 position 0,0
|
||||||
|
# }
|
||||||
|
# kanshi >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Launch a panel such as yambar or waybar.
|
||||||
|
waybar >/dev/null 2>&1 &
|
||||||
|
|
||||||
|
# Enable notifications. Typically GNOME/KDE application notifications go
|
||||||
|
# through the org.freedesktop.Notifications D-Bus API and require a client such
|
||||||
|
# as mako to function correctly. Thunderbird is an example of this.
|
||||||
|
mako >/dev/null 2>&1 &
|
BIN
jaci/dotfiles/labwc/backgrounds/cat1.jpg
Normal file
BIN
jaci/dotfiles/labwc/backgrounds/cat1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
14
jaci/dotfiles/labwc/environment
Normal file
14
jaci/dotfiles/labwc/environment
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Allow tearing
|
||||||
|
# WLR_DRM_NO_ATOMIC=1
|
||||||
|
|
||||||
|
# Firefox use wayland
|
||||||
|
MOZ_ENABLE_WAYLAND=1
|
||||||
|
|
||||||
|
##
|
||||||
|
## Set cursor theme and size. Find system icons themes with:
|
||||||
|
## `find /usr/share/icons/ -type d -name "cursors"`
|
||||||
|
##
|
||||||
|
|
||||||
|
# XCURSOR_THEME=breeze_cursors
|
||||||
|
# XCURSOR_THEME=capitaine-cursors
|
||||||
|
# XCURSOR_SIZE=24
|
536
jaci/dotfiles/labwc/rc.xml
Normal file
536
jaci/dotfiles/labwc/rc.xml
Normal file
|
@ -0,0 +1,536 @@
|
||||||
|
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
This file contains all supported config elements & attributes with
|
||||||
|
default values.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<labwc_config>
|
||||||
|
|
||||||
|
<core>
|
||||||
|
<decoration>server</decoration>
|
||||||
|
<gap>0</gap>
|
||||||
|
<adaptiveSync>fullscreen</adaptiveSync>
|
||||||
|
<allowTearing>yes</allowTearing>
|
||||||
|
<reuseOutputMode>no</reuseOutputMode>
|
||||||
|
</core>
|
||||||
|
|
||||||
|
<!-- Where to place new windows -->
|
||||||
|
<placement>
|
||||||
|
<policy>center</policy>
|
||||||
|
</placement>
|
||||||
|
|
||||||
|
<!-- <font><theme> can be defined without an attribute to set all places -->
|
||||||
|
<theme>
|
||||||
|
<name>Kawaii</name>
|
||||||
|
<cornerRadius>16</cornerRadius>
|
||||||
|
<keepBorder>yes</keepBorder>
|
||||||
|
<font>
|
||||||
|
<name>GohuFont Nerd Font</name>
|
||||||
|
<size>10</size>
|
||||||
|
<slant>normal</slant>
|
||||||
|
<weight>normal</weight>
|
||||||
|
</font>
|
||||||
|
|
||||||
|
<!--<font place="ActiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>10</size>
|
||||||
|
<slant>normal</slant>
|
||||||
|
<weight>normal</weight>
|
||||||
|
</font>
|
||||||
|
<font place="InactiveWindow">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>10</size>
|
||||||
|
<slant>normal</slant>
|
||||||
|
<weight>normal</weight>
|
||||||
|
</font>
|
||||||
|
<font place="MenuItem">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>10</size>
|
||||||
|
<slant>normal</slant>
|
||||||
|
<weight>normal</weight>
|
||||||
|
</font>
|
||||||
|
<font place="OnScreenDisplay">
|
||||||
|
<name>sans</name>
|
||||||
|
<size>10</size>
|
||||||
|
<slant>normal</slant>
|
||||||
|
<weight>normal</weight>
|
||||||
|
</font> -->
|
||||||
|
</theme>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Just as for window-rules, 'identifier' relates to app_id for native Wayland
|
||||||
|
windows and WM_CLASS for XWayland clients.
|
||||||
|
-->
|
||||||
|
<windowSwitcher show="yes" preview="yes" outlines="yes">
|
||||||
|
<fields>
|
||||||
|
<field content="type" width="25%" />
|
||||||
|
<field content="trimmed_identifier" width="25%" />
|
||||||
|
<!-- <field content="identifier" width="25%" /> -->
|
||||||
|
<field content="title" width="50%" />
|
||||||
|
</fields>
|
||||||
|
</windowSwitcher>
|
||||||
|
|
||||||
|
<!-- edge strength is in pixels -->
|
||||||
|
<resistance>
|
||||||
|
<screenEdgeStrength>20</screenEdgeStrength>
|
||||||
|
</resistance>
|
||||||
|
|
||||||
|
<!-- Show a simple resize and move indicator -->
|
||||||
|
<resize popupShow="Never" />
|
||||||
|
|
||||||
|
<focus>
|
||||||
|
<followMouse>no</followMouse>
|
||||||
|
<followMouseRequiresMovement>yes</followMouseRequiresMovement>
|
||||||
|
<raiseOnFocus>no</raiseOnFocus>
|
||||||
|
</focus>
|
||||||
|
|
||||||
|
<!-- Set range to 0 to disable window snapping completely -->
|
||||||
|
<snapping>
|
||||||
|
<range>1</range>
|
||||||
|
<topMaximize>yes</topMaximize>
|
||||||
|
</snapping>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Workspaces can be configured like this:
|
||||||
|
<desktops>
|
||||||
|
<popupTime>1000</popupTime>
|
||||||
|
<names>
|
||||||
|
<name>Workspace 1</name>
|
||||||
|
<name>Workspace 2</name>
|
||||||
|
<name>Workspace 3</name>
|
||||||
|
<name>Workspace 4</name>
|
||||||
|
</names>
|
||||||
|
</desktops>
|
||||||
|
|
||||||
|
Or it can also be configured like this:
|
||||||
|
<desktops number="4" />
|
||||||
|
|
||||||
|
popupTime defaults to 1000 so could be left out.
|
||||||
|
Set to 0 to completely disable the workspace OSD.
|
||||||
|
|
||||||
|
Use GoToDesktop left | right to switch workspaces.
|
||||||
|
Use SendToDesktop left | right to move windows.
|
||||||
|
See man labwc-actions for further information.
|
||||||
|
-->
|
||||||
|
<desktops>
|
||||||
|
<popupTime>1000</popupTime>
|
||||||
|
<names>
|
||||||
|
<name>Default</name>
|
||||||
|
</names>
|
||||||
|
</desktops>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<margin> can be used to reserve space where new/maximized/tiled
|
||||||
|
windows will not be placed. Clients using layer-shell protocol reserve
|
||||||
|
space automatically, so <margin> is only intended for other, specialist
|
||||||
|
cases.
|
||||||
|
|
||||||
|
If output is left empty, the margin will be applied to all outputs.
|
||||||
|
|
||||||
|
<margin top="" bottom="" left="" right="" output="" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Percent based regions based on output usable area, % char is required -->
|
||||||
|
<!--
|
||||||
|
<regions>
|
||||||
|
<region name="top-left" x="0%" y="0%" height="50%" width="50%" />
|
||||||
|
<region name="top" x="0%" y="0%" height="50%" width="100%" />
|
||||||
|
<region name="top-right" x="50%" y="0%" height="50%" width="50%" />
|
||||||
|
<region name="left" x="0%" y="0%" height="100%" width="50%" />
|
||||||
|
<region name="center" x="10%" y="10%" height="80%" width="80%" />
|
||||||
|
<region name="right" x="50%" y="0%" height="100%" width="50%" />
|
||||||
|
<region name="bottom-left" x="0%" y="50%" height="50%" width="50%" />
|
||||||
|
<region name="bottom" x="0%" y="50%" height="50%" width="100%" />
|
||||||
|
<region name="bottom-right" x="50%" y="50%" height="50%" width="50%" />
|
||||||
|
</regions>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Keybind actions are specified in labwc-actions(5)
|
||||||
|
The following keybind modifiers are supported:
|
||||||
|
W - window/super/logo
|
||||||
|
A - alt
|
||||||
|
C - ctrl
|
||||||
|
S - shift
|
||||||
|
|
||||||
|
Use <keyboard><default /> to load all the default keybinds (those listed
|
||||||
|
below). If the default keybinds are largely what you want, a sensible
|
||||||
|
approach could be to start the <keyboard> section with a <default />
|
||||||
|
element, and then (re-)define any special binds you need such as launching
|
||||||
|
your favourite terminal or application launcher. See rc.xml for an example.
|
||||||
|
-->
|
||||||
|
<keyboard>
|
||||||
|
<numlock>on</numlock>
|
||||||
|
<layoutScope>global</layoutScope>
|
||||||
|
<repeatRate>25</repeatRate>
|
||||||
|
<repeatDelay>600</repeatDelay>
|
||||||
|
<keybind key="A-Tab">
|
||||||
|
<action name="NextWindow" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Return">
|
||||||
|
<action name="Execute" command="alacritty" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-F3">
|
||||||
|
<action name="Execute" command="bemenu-run" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-F4">
|
||||||
|
<action name="Close" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-a">
|
||||||
|
<action name="ToggleMaximize" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Left">
|
||||||
|
<action name="MoveToEdge" direction="left" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Right">
|
||||||
|
<action name="MoveToEdge" direction="right" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Up">
|
||||||
|
<action name="MoveToEdge" direction="up" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Down">
|
||||||
|
<action name="MoveToEdge" direction="down" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Left">
|
||||||
|
<action name="SnapToEdge" direction="left" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Right">
|
||||||
|
<action name="SnapToEdge" direction="right" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Up">
|
||||||
|
<action name="SnapToEdge" direction="up" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-Down">
|
||||||
|
<action name="SnapToEdge" direction="down" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="A-Space">
|
||||||
|
<action name="ShowMenu" menu="client-menu" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86_AudioLowerVolume">
|
||||||
|
<action name="Execute" command="amixer sset Master 5%-" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86_AudioRaiseVolume">
|
||||||
|
<action name="Execute" command="amixer sset Master 5%+" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86_AudioMute">
|
||||||
|
<action name="Execute" command="amixer sset Master toggle" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86_MonBrightnessUp">
|
||||||
|
<action name="Execute" command="brightnessctl set +10%" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="XF86_MonBrightnessDown">
|
||||||
|
<action name="Execute" command="brightnessctl set 10%-" />
|
||||||
|
</keybind>
|
||||||
|
<!-- SnapToRegion via W-Numpad -->
|
||||||
|
<!--
|
||||||
|
<keybind key="W-KP_7">
|
||||||
|
<action name="SnapToRegion" region="top-left" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_8">
|
||||||
|
<action name="SnapToRegion" region="top" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_9">
|
||||||
|
<action name="SnapToRegion" region="top-right" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_4">
|
||||||
|
<action name="SnapToRegion" region="left" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_5">
|
||||||
|
<action name="SnapToRegion" region="center" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_6">
|
||||||
|
<action name="SnapToRegion" region="right" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_1">
|
||||||
|
<action name="SnapToRegion" region="bottom-left" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_2">
|
||||||
|
<action name="SnapToRegion" region="bottom" />
|
||||||
|
</keybind>
|
||||||
|
<keybind key="W-KP_3">
|
||||||
|
<action name="SnapToRegion" region="bottom-right" />
|
||||||
|
</keybind>
|
||||||
|
-->
|
||||||
|
</keyboard>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Multiple <mousebind> can exist within one <context>
|
||||||
|
Multiple <actions> can exist within one <mousebind>
|
||||||
|
Currently, the only openbox-action not supported is "Unshade"
|
||||||
|
|
||||||
|
Use <mouse><default /> to load all the default mousebinds (those listed
|
||||||
|
below). If the default mousebinds are largely what you want, a sensible
|
||||||
|
approach could be to start the <mouse> section with a <default />
|
||||||
|
element, and then (re-)define any special binds you need such as launching
|
||||||
|
a custom menu when right-clicking on your desktop. See rc.xml for an
|
||||||
|
example.
|
||||||
|
-->
|
||||||
|
<mouse>
|
||||||
|
|
||||||
|
<!-- time is in ms -->
|
||||||
|
<doubleClickTime>500</doubleClickTime>
|
||||||
|
<scrollFactor>1.0</scrollFactor>
|
||||||
|
|
||||||
|
<context name="Frame">
|
||||||
|
<mousebind button="A-Left" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Left" action="Drag">
|
||||||
|
<action name="Move" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Right" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="A-Right" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Top">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Left">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Right">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="Bottom">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="TRCorner">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="BRCorner">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="TLCorner">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
<context name="BLCorner">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Resize" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="TitleBar">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind direction="Up" action="Scroll">
|
||||||
|
<action name="Unshade" />
|
||||||
|
<action name="Focus" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind direction="Down" action="Scroll">
|
||||||
|
<action name="Unfocus" />
|
||||||
|
<action name="Shade" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Title">
|
||||||
|
<mousebind button="Left" action="Drag">
|
||||||
|
<action name="Move" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Left" action="DoubleClick">
|
||||||
|
<action name="ToggleMaximize" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="ShowMenu" menu="client-menu" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Maximize">
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ToggleMaximize" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="ToggleMaximize" direction="horizontal" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Click">
|
||||||
|
<action name="ToggleMaximize" direction="vertical" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="WindowMenu">
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="ShowMenu" menu="client-menu" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Click">
|
||||||
|
<action name="ShowMenu" menu="client-menu" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Iconify">
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Iconify" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Close">
|
||||||
|
<mousebind button="Left" action="Click">
|
||||||
|
<action name="Close" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Client">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="Focus" />
|
||||||
|
<action name="Raise" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
<context name="Root">
|
||||||
|
<mousebind button="Left" action="Press">
|
||||||
|
<action name="ShowMenu" menu="root-menu" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Right" action="Press">
|
||||||
|
<action name="ShowMenu" menu="root-menu" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind button="Middle" action="Press">
|
||||||
|
<action name="ShowMenu" menu="root-menu" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind direction="Up" action="Scroll">
|
||||||
|
<action name="GoToDesktop" to="left" wrap="yes" />
|
||||||
|
</mousebind>
|
||||||
|
<mousebind direction="Down" action="Scroll">
|
||||||
|
<action name="GoToDesktop" to="right" wrap="yes" />
|
||||||
|
</mousebind>
|
||||||
|
</context>
|
||||||
|
|
||||||
|
</mouse>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Direct cursor movement to a specified output. If the compositor is
|
||||||
|
running in nested mode, this does not take effect.
|
||||||
|
-->
|
||||||
|
<touch mapToOutput="" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The tablet cursor movement can be restricted to a single output.
|
||||||
|
If output is left empty or the output does not exists, the tablet
|
||||||
|
will span all outputs.
|
||||||
|
|
||||||
|
The tablet orientation can be changed in 90 degree steps, thus
|
||||||
|
*rotate* can be set to [0|90|180|270]. Rotation will be applied
|
||||||
|
after applying tablet area transformation.
|
||||||
|
|
||||||
|
The active tablet area can be specified by setting the *top*/*left*
|
||||||
|
coordinate (in mm) and/or *width*/*height* (in mm). If width or
|
||||||
|
height are omitted or default (0.0), width/height will be set to
|
||||||
|
the remaining width/height seen from top/left.
|
||||||
|
|
||||||
|
Tablet buttons emulate regular mouse buttons. The tablet *button* can
|
||||||
|
be set to any of [Tip|Stylus|Stylus2|Stylus3|Pad|Pad2|Pad3|..|Pad9].
|
||||||
|
Valid *to* mouse buttons are [Left|Right|Middle].
|
||||||
|
-->
|
||||||
|
<tablet mapToOutput="" rotate="0">
|
||||||
|
<!-- Active area dimensions are in mm -->
|
||||||
|
<area top="0.0" left="0.0" width="0.0" height="0.0" />
|
||||||
|
<map button="Tip" to="Left" />
|
||||||
|
<map button="Stylus" to="Right" />
|
||||||
|
<map button="Stylus2" to="Middle" />
|
||||||
|
</tablet>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The *category* attribute is optional and can be set to touch, touchpad,
|
||||||
|
non-touch, default or the name of a device. You can obtain device names by
|
||||||
|
running *libinput list-devices* as root or member of the input group.
|
||||||
|
|
||||||
|
Tap is set to *yes* be default. All others are left blank in order to use
|
||||||
|
device defaults.
|
||||||
|
|
||||||
|
All values are [yes|no] except for:
|
||||||
|
- pointerSpeed [-1.0 to 1.0]
|
||||||
|
- accelProfile [flat|adaptive]
|
||||||
|
- tapButtonMap [lrm|lmr]
|
||||||
|
-->
|
||||||
|
<libinput>
|
||||||
|
<device category="default">
|
||||||
|
<naturalScroll></naturalScroll>
|
||||||
|
<leftHanded></leftHanded>
|
||||||
|
<pointerSpeed></pointerSpeed>
|
||||||
|
<accelProfile></accelProfile>
|
||||||
|
<tap>yes</tap>
|
||||||
|
<tapButtonMap></tapButtonMap>
|
||||||
|
<tapAndDrag></tapAndDrag>
|
||||||
|
<dragLock></dragLock>
|
||||||
|
<middleEmulation></middleEmulation>
|
||||||
|
<disableWhileTyping></disableWhileTyping>
|
||||||
|
</device>
|
||||||
|
</libinput>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
# Window Rules
|
||||||
|
# - Criteria can consist of 'identifier' or 'title' or both (in which
|
||||||
|
# case AND logic is used).
|
||||||
|
# - 'identifier' relates to app_id for native Wayland windows and
|
||||||
|
# WM_CLASS for XWayland clients.
|
||||||
|
# - Criteria can also contain `matchOnce="true"` meaning that the rule
|
||||||
|
# must only apply to the first instance of the window with that
|
||||||
|
# particular 'identifier' or 'title'.
|
||||||
|
# - Matching against patterns with '*' (wildcard) and '?' (joker) is
|
||||||
|
# supported. Pattern matching is case-insensitive.
|
||||||
|
|
||||||
|
<windowRules>
|
||||||
|
<windowRule identifier="*"><action name="Maximize"/></windowRule>
|
||||||
|
<windowRule identifier="foo" serverDecoration="yes"/>
|
||||||
|
<windowRule title="bar" serverDecoration="yes"/>
|
||||||
|
<windowRule identifier="baz" title="quax" serverDecoration="yes"/>
|
||||||
|
</windowRules>
|
||||||
|
|
||||||
|
# Example below for `lxqt-panel` and `pcmanfm-qt \-\-desktop`
|
||||||
|
# where 'matchOnce' is used to avoid applying rule to the panel
|
||||||
|
# configuration window with the same 'app_id'.
|
||||||
|
|
||||||
|
<windowRules>
|
||||||
|
<windowRule identifier="lxqt-panel" matchOnce="true">
|
||||||
|
<skipTaskbar>yes</skipTaskbar>
|
||||||
|
<action name="MoveTo" x="0" y="0" />
|
||||||
|
<action name="ToggleAlwaysOnTop"/>
|
||||||
|
</windowRule>
|
||||||
|
<windowRule title="pcmanfm-desktop*">
|
||||||
|
<skipTaskbar>yes</skipTaskbar>
|
||||||
|
<skipWindowSwitcher>yes</skipWindowSwitcher>
|
||||||
|
<fixedPosition>yes</fixedPosition>
|
||||||
|
<action name="MoveTo" x="0" y="0" />
|
||||||
|
<action name="ToggleAlwaysOnBottom"/>
|
||||||
|
</windowRule>
|
||||||
|
<windowRule identifier="org.qutebrowser.qutebrowser">
|
||||||
|
<action name="ResizeTo" width="1024" y="800" />
|
||||||
|
<action name="AutoPlace"/>
|
||||||
|
</windowRule>
|
||||||
|
</windowRules>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</labwc_config>
|
|
@ -96,7 +96,7 @@
|
||||||
obs-studio
|
obs-studio
|
||||||
|
|
||||||
# Install fonts
|
# Install fonts
|
||||||
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
(nerdfonts.override { fonts = [ "Hermit" "GohuFont" ]; })
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
# # You can also create simple shell scripts directly inside your
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
git
|
git
|
||||||
glib # gsettings
|
glib # gsettings
|
||||||
grim
|
grim
|
||||||
|
sway-contrib.grimshot
|
||||||
ghostscript
|
ghostscript
|
||||||
labwc
|
labwc
|
||||||
libnotify
|
libnotify
|
||||||
|
|
Loading…
Reference in New Issue
Block a user