Compare commits
2 Commits
18a7fb90e9
...
4195ef4e3a
Author | SHA1 | Date | |
---|---|---|---|
4195ef4e3a | |||
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
|
||||
|
||||
# Install fonts
|
||||
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
||||
(nerdfonts.override { fonts = [ "Hermit" "GohuFont" ]; })
|
||||
|
||||
# # You can also create simple shell scripts directly inside your
|
||||
# # configuration. For example, this adds a command 'my-hello' to your
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
git
|
||||
glib # gsettings
|
||||
grim
|
||||
sway-contrib.grimshot
|
||||
ghostscript
|
||||
labwc
|
||||
libnotify
|
||||
|
|
|
@ -6,13 +6,13 @@ selected=$(printf '%s\n' $entries | wofi --style=$HOME/.config/wofi/style.widget
|
|||
|
||||
case $selected in
|
||||
active)
|
||||
/usr/share/sway/scripts/grimshot --notify save active;;
|
||||
grimshot --notify save active;;
|
||||
screen)
|
||||
/usr/share/sway/scripts/grimshot --notify save screen;;
|
||||
grimshot --notify save screen;;
|
||||
output)
|
||||
/usr/share/sway/scripts/grimshot --notify save output;;
|
||||
grimshot --notify save output;;
|
||||
area)
|
||||
/usr/share/sway/scripts/grimshot --notify save area;;
|
||||
grimshot --notify save area;;
|
||||
window)
|
||||
/usr/share/sway/scripts/grimshot --notify save window;;
|
||||
grimshot --notify save window;;
|
||||
esac
|
||||
|
|
|
@ -175,8 +175,11 @@
|
|||
}
|
||||
alias p="fzf_projects source/"
|
||||
|
||||
### Busykid Bash Functions
|
||||
|
||||
alias ls="lsd"
|
||||
alias l="lsd --almost-all --long"
|
||||
alias llm="lsd --timesort --long"
|
||||
alias lS="lsd --oneline --classic"
|
||||
alias lt="lsd --tree --depth=2"
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
git
|
||||
glib # gsettings
|
||||
grim
|
||||
sway-contrib.grimshot
|
||||
libnotify
|
||||
mako
|
||||
ncspot
|
||||
|
|
Loading…
Reference in New Issue
Block a user