diff --git a/.config/aliasrc b/.config/aliasrc index 4a0191a..0bc4dd9 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -26,6 +26,10 @@ flacsplit() { cuebreakpoints $2 | shnsplit $1 -o flac } # diff alias diff="diff --color=auto" +# dragon-drop +alias drag="dragon-drop" +alias drop="dragon-drop" + # fzf src() { find ~/.config/* ~/.local/bin/* -type f | fzf | xargs -r $EDITOR ;} srd() { find ~/nextCloud/* -type f | grep ".pdf" | fzf | xargs -r $READER ;} @@ -98,9 +102,13 @@ alias rsync="rsync -vh --progress --partial" alias su="sudo -i" alias sudo="sudo " -#sc-im +# sc-im alias sc="sc-im" +# screenkey + +alias keys="screenkey" + # script alias scriptclear="cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > typescript-processed" diff --git a/.config/easyeffects/input/voice.json b/.config/easyeffects/input/voice.json new file mode 100644 index 0000000..6426793 --- /dev/null +++ b/.config/easyeffects/input/voice.json @@ -0,0 +1,133 @@ +{ + "input": { + "blocklist": [], + "compressor#0": { + "attack": 20.0, + "boost-amount": 6.0, + "boost-threshold": -72.0, + "bypass": false, + "dry": -100.0, + "hpf-frequency": 10.0, + "hpf-mode": "off", + "input-gain": 0.0, + "knee": -6.0, + "lpf-frequency": 20000.0, + "lpf-mode": "off", + "makeup": 0.0, + "mode": "Downward", + "output-gain": 0.0, + "ratio": 4.0, + "release": 100.0, + "release-threshold": -100.0, + "sidechain": { + "lookahead": 0.0, + "mode": "RMS", + "preamp": 0.0, + "reactivity": 10.0, + "source": "Middle", + "type": "Feed-forward" + }, + "threshold": -12.0, + "wet": 0.0 + }, + "deesser#0": { + "bypass": false, + "detection": "RMS", + "f1-freq": 6000.0, + "f1-level": 0.0, + "f2-freq": 4500.0, + "f2-level": 12.0, + "f2-q": 1.0, + "input-gain": 0.0, + "laxity": 15, + "makeup": 0.0, + "mode": "Wide", + "output-gain": 0.0, + "ratio": 3.0, + "sc-listen": false, + "threshold": -18.0 + }, + "filter#0": { + "bypass": false, + "frequency": 80.0, + "inertia": 20.0, + "input-gain": 0.0, + "mode": "12dB/oct Highpass", + "output-gain": 0.0, + "resonance": -3.0 + }, + "gate#0": { + "attack": 5.0, + "bypass": false, + "curve-threshold": -24.0, + "curve-zone": -6.0, + "dry": -100.0, + "hpf-frequency": 10.0, + "hpf-mode": "off", + "hysteresis": false, + "hysteresis-threshold": -12.0, + "hysteresis-zone": -6.0, + "input-gain": 0.0, + "lpf-frequency": 20000.0, + "lpf-mode": "off", + "makeup": 0.0, + "output-gain": 0.0, + "reduction": -12.0, + "release": 100.0, + "sidechain": { + "input": "Internal", + "lookahead": 0.0, + "mode": "RMS", + "preamp": 0.0, + "reactivity": 10.0, + "source": "Middle" + }, + "wet": 0.0 + }, + "limiter#0": { + "alr": false, + "alr-attack": 5.0, + "alr-knee": 0.0, + "alr-release": 50.0, + "attack": 5.0, + "bypass": false, + "dithering": "None", + "external-sidechain": false, + "gain-boost": true, + "input-gain": 0.0, + "lookahead": 5.0, + "mode": "Herm Thin", + "output-gain": 0.0, + "oversampling": "None", + "release": 5.0, + "sidechain-preamp": 0.0, + "stereo-link": 100.0, + "threshold": -1.0 + }, + "loudness#0": { + "bypass": false, + "clipping": false, + "clipping-range": 6.0, + "fft": "4096", + "input-gain": 0.0, + "output-gain": -20.0, + "std": "ISO226-2003", + "volume": -6.499999999999993 + }, + "plugins_order": [ + "compressor#0", + "deesser#0", + "filter#0", + "gate#0", + "rnnoise", + "limiter#0", + "loudness#0" + ], + "rnnoise#0": { + "bypass": false, + "input-gain": 0.0, + "model-path": "", + "output-gain": 0.0 + } + } +} diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf index 582601d..093c82f 100644 --- a/.config/fontconfig/fonts.conf +++ b/.config/fontconfig/fonts.conf @@ -23,6 +23,7 @@ Linux Biolinum Joy Pixels Noto Color Emoji + adobe-source-han-sans-jp-fonts diff --git a/.config/mimeapps.list b/.config/mimeapps.list index c5212d2..374a264 100644 --- a/.config/mimeapps.list +++ b/.config/mimeapps.list @@ -3,6 +3,7 @@ text/plain=text.desktop; text/x-shellscript=text.desktop; application/pdf=pdf.desktop; application/epub+zip=pdf.desktop; +application/rss+xml=text.desktop; image/png=img.desktop; image/jpeg=img.desktop; image/gif=img.desktop; @@ -17,13 +18,3 @@ application/x-extension-shtml=browser.desktop application/xhtml+xml=browser.desktop application/x-extension-xhtml=browser.desktop application/x-extension-xht=browser.desktop -x-scheme-handler/discord-610508934456934412=discord-610508934456934412.desktop -x-scheme-handler/mailto=userapp-Thunderbird-ANNRB1.desktop -message/rfc822=userapp-Thunderbird-ANNRB1.desktop -x-scheme-handler/mid=userapp-Thunderbird-ANNRB1.desktop - -[Added Associations] -x-scheme-handler/mailto=userapp-Thunderbird-ANNRB1.desktop; -x-scheme-handler/mid=userapp-Thunderbird-ANNRB1.desktop; -application/rss+xml=firefox.desktop; -application/pdf=firefox.desktop; diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..3a249f8 --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,74 @@ +vim.o.go = 'a' +vim.o.showmode = false + +-- enable mouse for all modes +vim.o.mouse = 'a' +vim.o.clipboard = 'unnamedplus' + +-- setting Tab-length +vim.o.expandtab = true +vim.o.softtabstop = 4 +vim.o.shiftwidth = 4 + +-- splits open at the bottom and right +vim.o.splitbelow = true +vim.o.splitright = true + +-- disable case sensitive matching +vim.o.ignorecase = true + +-- enable nocompatible mode +vim.o.nocompatible = true + +-- enable syntax highlighting +vim.o.syntax = true + +-- enable true colors +vim.o.termguicolors = true + +-- set utf-8 encoding +vim.o.encoding = "utf-8" + +-- show relative numbers on left side +vim.o.number = true +vim.o.relativenumber = true + +-- speedup vim with long lines +vim.o.ttyfast = true +vim.o.lazyredraw = true + +-- textEdit might fail without hidden +vim.o.hidden = true + +-- disable Backupfiles for Lsp +vim.o.nobackup = true +vim.o.nowritebackup = true + +-- always show the signcolumn +vim.o.signcolumn = "yes" + +-- enable persistent undo +vim.o.undofile = true +vim.o.undodir = vim.env.XDG_CACHE_HOME .. "/vim/undo" + +-- delete trailing whitespaces on save +vim.api.nvim_create_autocmd({'BufWritePre'}, +{pattern = {'*'}, +command = [[%s/\s\+$//e]], +}) + +-- python programs to use +vim.g.python_host_prog = '/usr/bin/python2' +vim.g.python3_host_prog = '/usr/bin/python3' + +-- load plugins (autoload all files in plugin folder) +require('loadplugins') + +-- load filetype specific mappings and commands +require('filetype') + +-- load general mapped keys +require('keymap') + +-- load general colorscheme +require('colorscheme') diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim deleted file mode 100644 index c7e1c4e..0000000 --- a/.config/nvim/init.vim +++ /dev/null @@ -1,448 +0,0 @@ -let mapleader ="," - -""" Begin Plugin section -if ! filereadable(expand('~/.config/nvim/autoload/plug.vim')) - echo "Downloading junegunn/vim-plug to manage plugins..." - silent !mkdir -p ~/.config/nvim/autoload/ - silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim - autocmd VimEnter * PlugInstall -endif - -call plug#begin('~/.local/share/nvim/plugged') -Plug 'airblade/vim-gitgutter' " git upgrades -Plug 'alvan/vim-closetag' " auto close HTML tags -Plug 'donRaphaco/neotex' , {'for': 'tex'} " asynchronous pdf rendering for pdf -Plug 'fatih/vim-go' , {'for': 'go'} " better support for golang -Plug 'hrsh7th/cmp-buffer' " autocompletion bridge for buffer -Plug 'hrsh7th/cmp-path' " autocompletion bridge for filesystem -Plug 'hrsh7th/nvim-cmp' " autocompletion -Plug 'hrsh7th/cmp-nvim-lsp' " autocompletion bridge to lsp -Plug 'itchyny/lightline.vim' " fancy statusline -Plug 'junegunn/fzf.vim' " quickly jump files using fzf -Plug 'l3mon4d3/luasnip' " snippet support -Plug 'luochen1990/rainbow' " colorized matching brackets -Plug 'majutsushi/tagbar', {'on': 'TagbarToggle'} " show tags -Plug 'mattesgroeger/vim-bookmarks' " Set bookmarks -Plug 'neovim/nvim-lspconfig' " Language server client -Plug 'onsails/lspkind-nvim' " icons on completion -Plug 'qpkorr/vim-renamer' " bulk renamer -Plug 'raimondi/delimitmate' " automatic closing of brackets -Plug 'rrethy/vim-hexokinase' , {'do': 'make hexokinase'} " color Preview -Plug 'ryanoasis/vim-devicons' " enable icons for vim -Plug 'saadparwaiz1/cmp_luasnip' " add snippets from luasnips to cmp -Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'} " filetree -Plug 'tiyn/vim-tccs' " custom colorscheme -Plug 'tpope/vim-fugitive' " git wrapper -Plug 'tpope/vim-surround' " help for quotes/parantheses -Plug 'uiiaoo/java-syntax.vim' , {'for': 'java'} " better syntax highlight for java than default -Plug 'zah/nim.vim' , {'for': 'nim'} " highlighting for nim -call plug#end() - -" alvan/vim-closetag -let g:closetag_filenames = '*.html,*.xhtml,*.phtml' -let g:closetag_xhtml_filenames = '*.xhtml,*.jsx' -let g:closetag_filetypes = 'html,xhtml,phtml' -let g:closetag_xhtml_filetypes = 'xhtml,jsx' -let g:closetag_emptyTags_caseSensitive = 1 -let g:closetag_regions = { - \ 'typescript.tsx': 'jsxRegion,tsxRegion', - \ 'javascript.jsx': 'jsxRegion', - \ } -let g:closetag_shortcut = '>' -let g:closetag_close_shortcut = '>' - -" donRaphaco/neotex -let g:neotex_enabled = 2 - -" fatih/vim-go -let g:go_def_mapping_enabled = 0 - -" itchyny/lightline.vim -let g:lightline = { 'colorscheme': 'tccs'} - -" junegunn/fzf.vim -let $FZF_DEFAULT_COMMAND = 'find . ~ -type f' -nmap :FZF - -" luochen1990/rainbow -let g:rainbow_active = 1 -let g:rainbow_conf = { -\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'], -\ 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], -\ 'guis': [''], -\ 'cterms': [''], -\ 'operators': '_,_', -\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'], -\ 'separately': { -\ '*': {}, -\ 'markdown': { -\ 'parentheses_options': 'containedin=markdownCode contained', -\ }, -\ 'lisp': { -\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'], -\ }, -\ 'haskell': { -\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/\v\{\ze[^-]/ end=/}/ fold'], -\ }, -\ 'vim': { -\ 'parentheses_options': 'containedin=vimFuncBody', -\ }, -\ 'perl': { -\ 'syn_name_prefix': 'perlBlockFoldRainbow', -\ }, -\ 'stylus': { -\ 'parentheses': ['start=/{/ end=/}/ fold contains=@colorableGroup'], -\ }, -\ 'css': 0, -\ } -\} - -" majutsushi/tagbar -map :TagbarToggle - -" mattesgroeger/vim-bookmarks -let g:bookmark_no_default_key_mappings = 1 -nmap mm BookmarkToggle -nmap ma BookmarkAnnotate -nmap ms BookmarkShowAll -nmap mn BookmarkNext -nmap mp BookmarkPrev -nmap mc BookmarkClear -highlight BookmarkSign ctermbg=NONE ctermfg=160 -highlight BookmarkLine ctermbg=194 ctermfg=NONE -let g:bookmark_sign = 'B' -let g:bookmark_highlight_lines = 1 - -" hrsh7th/nvim-cmp -lua << EOF --- Add additional capabilities supported by nvim-cmp -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) - --- Set completeopt to have a better completion experience -vim.o.completeopt = 'menuone,noselect' - --- nvim-cmp setup -local cmp = require("cmp") -local luasnip = require("luasnip") -local lspkind = require("lspkind") -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = { - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { "i", "s" }), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }}, - sources = { - { name = 'nvim_lsp' }, - { name = 'path' }, - { name = 'buffer' }, - { name = 'luasnip' }, - }, - formatting = { - format = lspkind.cmp_format({ - mode = "symbol_text", - preset = "codicons", - maxwidth = 50, - menu = { - nvim_lsp = "[LSP]", - path = "[PATH]", - buffer = "[BUF]", - luasnip = "[SNIP]", - }, - symbol_map = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "ﰠ", - Variable = "", - Class = "ﴯ", - Interface = "", - Module = "", - Property = "ﰠ", - Unit = "塞", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "פּ", - Event = "", - Operator = "", - TypeParameter = "" - }, - }), - }, -} - -require("luasnip.loaders.from_snipmate").lazy_load() -EOF - -" neovim/nvim-lspconfig -lua << EOF -local nvim_lsp = require('lspconfig') - --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_attach = function(client, bufnr) - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end - - -- Mappings. - local opts = { noremap=true, silent=true } - - -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'gy', 'lua vim.lsp.buf.type_definition()', opts) - buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', '', 'lua vim.lsp.buf.rename()', opts) - -end - --- Use a loop to conveniently call 'setup' on multiple servers and --- map buffer local keybindings when the language server attaches -local servers = { "pyright", "bashls", "tsserver", "texlab", "ccls", "gopls", "hls", "nimls", "marksman" } -for _, lsp in ipairs(servers) do - nvim_lsp[lsp].setup { - on_attach=on_attach, - capabilities=capabilities, - flags = { - debounce_text_changes = 150 - } - } -end - - -require'lspconfig'.jdtls.setup{ - on_attach=on_attach, - flags = { - debounce_text_changes = 150 - }, - cmd = { 'jdtls' } - } - -EOF - -" rrethy/vim-hexokinase -let g:Hexokinase_refreshEvents = ['InsertLeave'] -let g:Hexokinase_optInPatterns = [ - \ 'full_hex', - \ 'triple_hex', - \ 'rgb', - \ 'rgba', - \ 'hsl', - \ 'hsla', - \ 'color_names' - \] - -let g:Hexokinase_highlighters = ['backgroundfull'] -autocmd VimEnter * HexokinaseTurnOn - -" scrooloose/nerdtree -map :NERDTreeToggle -autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif -let g:NERDTreeWinPos = "left" - -" tpope/vim-fugitive -nnoremap ga :Git add %:p -nnoremap gd :Git diff -nnoremap gc :Gcommit -nnoremap go :Git checkout -nnoremap gh :diffget //3 -nnoremap gr :Gread -nnoremap gu :diffget //2 -nnoremap gs :G - -""" end plugin section - -set go=a -set noshowmode - -" enable mouse for all modes -set mouse=a -set clipboard+=unnamedplus - -" setting Tab-length -set expandtab -set softtabstop=4 -set shiftwidth=4 - -" splits open at the bottom and right, which is non-retarded, unlike vim defaults. -set splitbelow splitright - -" disable case sensitive matching -set ignorecase - -" enable nocompatible mode -set nocompatible - -" enable Plugins -filetype plugin on - -" enable syntax highlighting -syntax on - -" enable true colors -set termguicolors - -" set utf-8 encoding -set encoding=utf-8 - -" show relative numbers on left side -set number relativenumber - -" speedup vim with long lines -set ttyfast -set lazyredraw - -" textEdit might fail without hidden -set hidden - -" disable Backupfiles for Lsp -set nobackup -set nowritebackup - -" always show the signcolumn, otherwise it would shift the text each time -" diagnostics appear/become resolved. -if has("patch-8.1.1564") - " Recently vim can merge signcolumn and number column into one - set signcolumn=number -else - set signcolumn=yes -endif - -" enable persistent undo -if has('persistent_undo') - set undofile - set undodir=$XDG_CACHE_HOME/vim/undo -endif - -" unmap unwanted commands -nnoremap -nnoremap -nnoremap -nnoremap -nnoremap - -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap -inoremap - -" mapping Dictionaries -nnoremap :setlocal spell! spelllang=de_de -nnoremap :setlocal spell! spelllang=en_us - -" compiler for languages -nnoremap c :w! \| !compiler % - -" open corresponding file (pdf/html/...) -nnoremap p :!opout % - -" shortcut for split navigation -nnoremap h -nnoremap j -nnoremap k -nnoremap l - -" save file as sudo on files that require root permission -cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! - -" alias for replacing -nnoremap ss :%s//gI - -" delete trailing whitespaces on save -fun! TrimWhitespace() - let l:save = winsaveview() - keeppatterns %s/\s\+$//e - call winrestview(l:save) -endfun -autocmd BufWritePre * :call TrimWhitespace() - -" read files correctly -autocmd BufRead,BufNewFile *.h set filetype=c -autocmd BufRead,BufNewFile *.html set filetype=html -autocmd BufRead,BufNewFile *.nim set filetype=nim -autocmd BufRead,BufNewFile *.py set filetype=python -autocmd BufRead,BufNewFile *.tex set filetype=tex - -" formatting options -autocmd FileType java setlocal shiftwidth=2 softtabstop=2 -autocmd FileType javascript setlocal shiftwidth=2 softtabstop=2 -autocmd FileType markdown setlocal shiftwidth=2 softtabstop=2 - -" formatting programs -autocmd FileType c setlocal formatprg=astyle\ --mode=c\ --style=ansi -autocmd FileType c noremap gggqG -autocmd FileType html noremap :silent %!tidy -q -i --show-errors 0 -autocmd FileType java setlocal formatprg=astyle\ --indent=spaces=2\ --style=google -autocmd FileType java noremap gggqG -autocmd FileType markdown noremap :silent %!prettier --stdin-filepath % -autocmd FileType nim noremap :silent !nimpretty % -autocmd FileType python setlocal formatprg=autopep8\ - -autocmd FileType python noremap gggqG -autocmd FileType tex,latex setlocal formatprg=latexindent\ - -autocmd FileType tex,latex noremap gggqG - -" cleanup certain files after leaving the editor -autocmd VimLeave *.c !cclear -autocmd VimLeave *.tex !texclear % - -" highlighting break line -autocmd BufEnter,FileType c set colorcolumn=80 -autocmd BufEnter,FileType java set colorcolumn=100 -autocmd BufEnter,FileType markdown set colorcolumn=80 -autocmd BufEnter,FileType nim set colorcolumn=80 -autocmd BufEnter,FileType python set colorcolumn=80 -autocmd BufEnter,FileType tex set colorcolumn=80 - -"" colorscheme -set background=dark -colorscheme tccs -highlight colorcolumn guibg=#772222 - -" python -let g:python_host_prog = "/usr/bin/python2" -let g:python3_host_prog = "/usr/bin/python3" - -" irc compatibility to interactive -nnoremap is :.w >> indd diff --git a/.config/nvim/lua/colorscheme.lua b/.config/nvim/lua/colorscheme.lua new file mode 100644 index 0000000..3935f20 --- /dev/null +++ b/.config/nvim/lua/colorscheme.lua @@ -0,0 +1,6 @@ +-- colorscheme + +-- basic color settings +vim.o.background = 'dark' +vim.cmd('colorscheme tccs') +vim.api.nvim_set_hl(0, 'colorcolumn', {bg='#772222'}) diff --git a/.config/nvim/lua/filetype.lua b/.config/nvim/lua/filetype.lua new file mode 100644 index 0000000..2709f94 --- /dev/null +++ b/.config/nvim/lua/filetype.lua @@ -0,0 +1,138 @@ +-- filetype + +-- read files correctly +vim.filetype.add({ +pattern = { + ['.*.lua'] = 'lua', + ['.*.h'] = 'c', + ['.*.html'] = 'html', + ['.*.nim'] = 'nim', + ['.*.py'] = 'python', + ['.*.tex'] = 'tex', +}}) + +-- formatting options +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'markdown'}, +command = 'setlocal shiftwidth=2 softtabstop=2', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'java'}, +command = 'setlocal shiftwidth=2 softtabstop=2', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'javascript'}, +command = 'setlocal shiftwidth=2 softtabstop=2', +}) + +-- formatting programs +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'c'}, +command = 'setlocal formatprg=astyle --mode=c --style=ansi', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'c'}, +command = 'noremap gggqG', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'html'}, +command = 'noremap :silent %!tidy -q -i --show-errors 0 ', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'java'}, +command = 'setlocal formatprg=astyle --indent=spaces=2 --style=google', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'java'}, +command = 'noremap gggqG', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'markdown'}, +command = 'noremap :silent %!prettier --stdin-filepath % ', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'nim'}, +command = 'noremap :silent !nimpretty %', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'nim'}, +command = 'noremap gggqG', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'python'}, +command = 'setlocal formatprg=autopep8 "%"', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'python'}, +command = 'noremap gggqG', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'tex', 'latex'}, +command = 'setlocal formatprg=latexindent', +}) + +vim.api.nvim_create_autocmd({'FileType'}, +{pattern = {'tex', 'latex'}, +command = 'noremap gggqG', +}) + +-- cleanup certain files after leaving the editor +vim.api.nvim_create_autocmd({'VimLeave'}, +{pattern = {'*.c'}, +command = '!cclear' +}) + +vim.api.nvim_create_autocmd({'VimLeave'}, +{pattern = {'*.tex'}, +command = '!texclear %' +}) + +-- highlighting break line +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'c'}, +command = 'set colorcolumn=80' +}) + +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'java'}, +command = 'set colorcolumn=100' +}) + +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'markdown'}, +command = 'set colorcolumn=80' +}) + +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'nim'}, +command = 'set colorcolumn=80' +}) + +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'python'}, +command = 'set colorcolumn=80' +}) + +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'tex'}, +command = 'set colorcolumn=80' +}) + +-- conceallevel +vim.api.nvim_create_autocmd({'BufEnter', 'FileType'}, +{pattern = {'markdown'}, +command = 'set conceallevel=2' +}) + diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua new file mode 100644 index 0000000..458b55c --- /dev/null +++ b/.config/nvim/lua/keymap.lua @@ -0,0 +1,79 @@ +-- keymap + +-- set mapleader for hotkeys +vim.g.mapleader = "," + +-- shortcut for split navigation +vim.api.nvim_set_keymap('n', '', 'h', {noremap = true}) +vim.api.nvim_set_keymap('n', '', 'j', {noremap = true}) +vim.api.nvim_set_keymap('n', '', 'k', {noremap = true}) +vim.api.nvim_set_keymap('n', '', 'l', {noremap = true}) + +-- unmap unwanted commands +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('n', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) +vim.api.nvim_set_keymap('i', '', '', {noremap = true}) + +-- mapping Dictionaries +vim.api.nvim_set_keymap('n', '', ':setlocal spell! spelllang=de_de', {noremap = true}) +vim.api.nvim_set_keymap('n', '', ':setlocal spell! spelllang=en_us', {noremap = true}) + +-- compiler for languages +vim.api.nvim_set_keymap('n', 'c', ':w! | !compiler %', {noremap = true}) + +-- open corresponding file (pdf/html/...) +vim.api.nvim_set_keymap('n', 'p', ':!opout %', {noremap = true}) + + +-- save file as sudo on files that require root permission +vim.api.nvim_set_keymap('c', 'w!!', '"silent! write !sudo tee % >/dev/null" edit!', {noremap = true}) + + +-- alias for replacing +vim.api.nvim_set_keymap('n', 'ss', ':%s//gI', {noremap = true}) + +-- irc compatibility for interactivity +vim.api.nvim_set_keymap('n', 'is', ':.w >> indd', {noremap = true}) + +-- majutsushi/tagbar +vim.api.nvim_set_keymap('n', '', ':TagbarToggle', {}) + +-- scrooloose/nerdtree +vim.api.nvim_set_keymap('n', '', ':NERDTreeToggle', {}) + +-- tpope/vim-fugitive +vim.api.nvim_set_keymap('n', 'ga', ':Git add %:p', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gd', ':Git diff', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gc', ':Git commit', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gh', ':diffget //3', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gr', ':Gread', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gu', ':diffget //2', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gs', ':G', { noremap = true }) + +-- hrsh7th/nvim-cmp +local on_attach = function(client, bufnr) + local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end + local opts = { noremap=true, silent=true } + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'gy', 'lua vim.lsp.buf.type_definition()', opts) + buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) + buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) + buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', '', 'lua vim.lsp.buf.rename()', opts) +end diff --git a/.config/nvim/lua/loadplugins.lua b/.config/nvim/lua/loadplugins.lua new file mode 100644 index 0000000..bbcbc51 --- /dev/null +++ b/.config/nvim/lua/loadplugins.lua @@ -0,0 +1,92 @@ +-- loadplugins + +-- bootstrap packer +local ensure_packer = function() + local fn = vim.fn + local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' + if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) + vim.cmd [[packadd packer.nvim]] + return true + end + return false +end + +local packer_bootstrap = ensure_packer() + +-- load plugins with packer +return require("packer").startup(function(use) + -- package manager + use 'wbthomason/packer.nvim' + if packer_bootstrap then + require('packer').sync() + end + + -- automatic closing of brackets + use 'raimondi/delimitmate' + + -- improved java syntax highlighting + use {'uiiaoo/java-syntax.vim', + ft = {'java'}} + + -- custom statusline + use {'itchyny/lightline.vim', + require = {"tiyn/vim-tccs"}} + + -- latex asynchronous pdf rendering + use {'donRaphaco/neotex', + ft = {'tex'}} + + -- navigating folders with a file tree + use {'scrooloose/nerdtree', + cmd = 'NERDTreeToggle', + requires = 'ryanoasis/vim-devicons'} + + -- nim language support + use {'zah/nim.vim', ft = {'nim'}} + + -- autocompletion and its sources + use {'hrsh7th/nvim-cmp', + requires = {'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-nvim-lsp', + 'l3mon4d3/luasnip', + 'saadparwaiz1/cmp_luasnip', + 'neovim/nvim-lspconfig', + 'onsails/lspkind-nvim'}} + + -- showing color of hex values, etc + use 'norcalli/nvim-colorizer.lua' + + -- colorful brackets + use 'luochen1990/rainbow' + + -- show tags + use {'majutsushi/tagbar', + cmd = 'TagbarToggle'} + + -- git wrapper + use 'tpope/vim-fugitive' + + -- indicate git diff status of line + use 'airblade/vim-gitgutter' + + -- golang language support + use {'fatih/vim-go', + ft = {'go'}} + + -- markdown language support + use {'preservim/vim-markdown', + ft = {'md'}, + requires = {'godlygeek/tabular'}} + + -- bulk renamer + use 'qpkorr/vim-renamer' + + -- additional quote/parantheses funtions + use 'tpope/vim-surround' + + -- colorscheme + use 'tiyn/vim-tccs' + +end) diff --git a/.config/nvim/plugin/lightline.lua b/.config/nvim/plugin/lightline.lua new file mode 100644 index 0000000..e9bdee4 --- /dev/null +++ b/.config/nvim/plugin/lightline.lua @@ -0,0 +1,2 @@ +-- itchyny/lightline.vim +vim.g.lightline = { colorscheme = 'tccs'} diff --git a/.config/nvim/plugin/neotex.lua b/.config/nvim/plugin/neotex.lua new file mode 100644 index 0000000..efafbb0 --- /dev/null +++ b/.config/nvim/plugin/neotex.lua @@ -0,0 +1,2 @@ +-- donRaphaco/neotex +vim.g.neotex_enabled = 2 diff --git a/.config/nvim/plugin/nerdtree.lua b/.config/nvim/plugin/nerdtree.lua new file mode 100644 index 0000000..32993db --- /dev/null +++ b/.config/nvim/plugin/nerdtree.lua @@ -0,0 +1,2 @@ +-- scrooloose/nerdtree +vim.g.NERDTreeWinPos = 'left' diff --git a/.config/nvim/plugin/nvim-cmp.lua b/.config/nvim/plugin/nvim-cmp.lua new file mode 100644 index 0000000..a493bb6 --- /dev/null +++ b/.config/nvim/plugin/nvim-cmp.lua @@ -0,0 +1,115 @@ +-- hrsh7th/nvim-cmp +-- Add additional capabilities supported by nvim-cmp +capabilities = require("cmp_nvim_lsp").default_capabilities() + +-- Set completeopt to have a better completion experience +vim.o.completeopt = 'menuone,noselect' + +-- nvim-cmp setup +local cmp = require("cmp") +local luasnip = require("luasnip") +local lspkind = require("lspkind") +cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = { + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { "i", "s" }), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }}, + sources = { + { name = 'nvim_lsp' }, + { name = 'path' }, + { name = 'buffer' }, + { name = 'luasnip' }, + }, + formatting = { + format = lspkind.cmp_format({ + mode = "symbol_text", + preset = "codicons", + maxwidth = 50, + menu = { + nvim_lsp = "[LSP]", + path = "[PATH]", + buffer = "[BUF]", + luasnip = "[SNIP]", + }, + symbol_map = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "ﰠ", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "塞", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "פּ", + Event = "", + Operator = "", + TypeParameter = "" + }, + }), + }, +} +require("luasnip.loaders.from_snipmate").lazy_load() + + +-- neovim/nvim-lspconfig +local nvim_lsp = require('lspconfig') + +-- Use a loop to conveniently call 'setup' on multiple servers and +-- map buffer local keybindings when the language server attaches +local servers = { "pyright", "bashls", "tsserver", "texlab", "ccls", "gopls", "hls", "nimls", "marksman" } +for _, lsp in ipairs(servers) do + nvim_lsp[lsp].setup { + on_attach=on_attach, + capabilities=capabilities, + flags = { + debounce_text_changes = 150 + } + } +end + + +require'lspconfig'.jdtls.setup{ + on_attach=on_attach, + flags = { + debounce_text_changes = 150 + }, + cmd = { 'jdtls' } + } diff --git a/.config/nvim/plugin/nvim-colorizer.lua b/.config/nvim/plugin/nvim-colorizer.lua new file mode 100644 index 0000000..20b73ac --- /dev/null +++ b/.config/nvim/plugin/nvim-colorizer.lua @@ -0,0 +1,2 @@ +-- norcalli/nvim-colorizer.lua +require 'colorizer'.setup() diff --git a/.config/nvim/plugin/rainbow.lua b/.config/nvim/plugin/rainbow.lua new file mode 100644 index 0000000..837e990 --- /dev/null +++ b/.config/nvim/plugin/rainbow.lua @@ -0,0 +1,2 @@ +-- luochen1990/rainbow +vim.g.rainbow_active = 1 diff --git a/.config/nvim/plugin/vim-go.lua b/.config/nvim/plugin/vim-go.lua new file mode 100644 index 0000000..0eb49ab --- /dev/null +++ b/.config/nvim/plugin/vim-go.lua @@ -0,0 +1,2 @@ +-- fatih/vim-go +vim.g.go_def_mapping_enabled = 0 diff --git a/.config/nvim/plugin/vim-markdown.lua b/.config/nvim/plugin/vim-markdown.lua new file mode 100644 index 0000000..78bedf0 --- /dev/null +++ b/.config/nvim/plugin/vim-markdown.lua @@ -0,0 +1,3 @@ +-- preservim/vim-markdown +vim.g.vim_markdown_folding_style_pythonic = 1 +vim.g.vim_markdown_folding_disabled = 1 diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 8621cb9..1a32cce 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -5,15 +5,19 @@ super + b super + f $TERMINAL -e $FILE super + i - intellij-idea-ultimate-edition + record_stop super + m thunderbird +super + o + record_replay_start super + p - $TERMINAL -e ncmpcpp + record_replay_save +super + u + record_start +super + shift + x + pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config' super + shift + r dmenu_run -c -l 20 -super + s - startpagesearch super + F5 togglemonitor super + F6 @@ -30,8 +34,9 @@ super + F11 prompt "Shutdown computer?" "sudo -A shutdown -h now" super + F12 prompt "Reboot computer?" "sudo -A reboot now" -XF86Launch1 - xset dpms force off +super + Print + maimpick + XF86AudioMute lmc m && pkill -RTMIN+4 $STATUSBAR XF86AudioMicMute @@ -44,3 +49,4 @@ XF86MonBrightnessDown light -U 15 XF86MonBrightnessUp light -A 15 + diff --git a/.config/xorg/Xdefaults b/.config/xorg/xdefaults similarity index 100% rename from .config/xorg/Xdefaults rename to .config/xorg/xdefaults diff --git a/.config/xorg/xprofile b/.config/xorg/xprofile index fff6de7..394a5d7 100644 --- a/.config/xorg/xprofile +++ b/.config/xorg/xprofile @@ -4,7 +4,6 @@ xset r rate 300 50 & # Speed xrate up unclutter & # Remove mouse when idle dunst & # dunst for notifications redshift & # redshift for saving your eyes -mpd & # starts the mpd server for music $STATUSBAR & # for refreshing the statusbar xcompmgr & # compositor for transparency nextcloud & # for my cloud diff --git a/.local/bin/tools/maimpick b/.local/bin/tools/maimpick new file mode 100755 index 0000000..1fd25cb --- /dev/null +++ b/.local/bin/tools/maimpick @@ -0,0 +1,18 @@ +#!/bin/sh + +# Requires maim. It lets you choose the kind of screenshot to take, +# including copying the image or even highlighting an area to copy. + +output="$HOME/downloads/screenshot-$(date '+%Y-%m-%d_%H-%M-%S').png" +xclip_cmd="xclip -sel clip -t image/png" + +case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area (clipboard)\\ncurrent window (clipboard)\\nfull screen (clipboard)\\ncolor picker (clipboard)" | dmenu -l 6 -i -p "Screenshot which area?")" in + "a selected area") maim -s $output ;; + "current window") maim -i "$(xdotool getactivewindow)" $output ;; + "full screen") maim $output ;; + "a selected area (clipboard)") maim -s | ${xclip_cmd} ;; + "current window (clipboard)") maim -i "$(xdotool getactivewindow)" | ${xclip_cmd} ;; + "full screen (clipboard)") maim | ${xclip_cmd} ;; + "color picker (clipboard)") maim -st 0 | convert - -resize 1x1\! -format '%[pixel:p{0,0}]' info:- | ${xclip_cmd} ;; +esac + diff --git a/.local/bin/tools/record_replay_save b/.local/bin/tools/record_replay_save new file mode 100755 index 0000000..4341c8c --- /dev/null +++ b/.local/bin/tools/record_replay_save @@ -0,0 +1,3 @@ +#!/bin/sh + +killall -SIGUSR1 gpu-screen-recorder && notify-send 'Screen record' 'Replay saved' diff --git a/.local/bin/tools/record_replay_start b/.local/bin/tools/record_replay_start new file mode 100755 index 0000000..00d825a --- /dev/null +++ b/.local/bin/tools/record_replay_start @@ -0,0 +1,11 @@ +#!/bin/sh + +window=$(xdotool getwindowfocus) +fps=30 +audio="$(pactl get-default-sink).monitor" +format="mp4" +lenght=20 +output="$HOME/downloads" + +gpu-screen-recorder -w $window -f $fps -a $audio -c $format -r $lenght -o $output & +notify-send 'Screen record' 'Replay started' diff --git a/.local/bin/tools/record_start b/.local/bin/tools/record_start new file mode 100755 index 0000000..2207f61 --- /dev/null +++ b/.local/bin/tools/record_start @@ -0,0 +1,10 @@ +#!/bin/sh + +window=$(xdotool getwindowfocus) +fps=30 +audio="$(pactl get-default-sink).monitor" +format="mp4" +output="$HOME/downloads/recording-$(date '+%Y-%m-%d_%H-%M-%S').$format" + +gpu-screen-recorder -w $window -c "mp4" -f $fps -a $audio -o $output & +notify-send 'Screen record' 'Recording started' diff --git a/.local/bin/tools/record_stop b/.local/bin/tools/record_stop new file mode 100755 index 0000000..eedc48b --- /dev/null +++ b/.local/bin/tools/record_stop @@ -0,0 +1,3 @@ +#!/bin/sh + +killall -SIGINT gpu-screen-recorder && notify-send 'Screen record' 'Recording stopped' diff --git a/.local/bin/tools/statusbar/battery b/.local/bin/tools/statusbar/battery index b443765..24370d3 100755 --- a/.local/bin/tools/statusbar/battery +++ b/.local/bin/tools/statusbar/battery @@ -1,7 +1,6 @@ #!/usr/bin/env sh capacity=$(cat /sys/class/power_supply/"$1"/capacity) || exit -time=$(acpi | awk '{ print $5 }') status=$(cat /sys/class/power_supply/"$1"/status) [ -z $warn ] && warn=" " diff --git a/.profile b/.profile index 799c986..9fb19d4 100644 --- a/.profile +++ b/.profile @@ -4,6 +4,9 @@ # Adds `~/.local/bin` and all subdirectories to $PATH export PATH="${PATH}:$(du "${HOME}/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')" +# Add flatpak to path +export PATH="/var/lib/flatpak/exports/bin:${PATH}" + export BROWSER="firefox" export RTV_BROWSER="qutebrowser" export EDITOR="nvim" diff --git a/.xinitrc b/.xinitrc index 2912428..4908e1c 100644 --- a/.xinitrc +++ b/.xinitrc @@ -1,12 +1,11 @@ #!/bin/sh xrandr --auto -#adding ressources -[ -f "$HOME/.config/xorg/xprofile" ] && . "$HOME/.config/xorg/xprofile" -[ -f "$HOME/.config/xorg/Xdefaults" ] && xrdb -merge "$HOME/.config/xorg/Xdefaults" -[ -f "$HOME/.config/xorg/Xpcspec" ] && xrdb -merge "$HOME/.config/xorg/Xpcspec" -xterm -geometry 80x24+10+10 -fn 10x20 +[ -f "$HOME/.config/xorg/xprofile" ] && . "$HOME/.config/xorg/xprofile" # global autostart +[ -f "$HOME/.config/xorg/xlocal" ] && . "$HOME/.config/xorg/xlocal" # local autostart +[ -f "$HOME/.config/xorg/xdefaults" ] && xrdb -merge "$HOME/.config/xorg/xdefaults" # global resources +[ -f "$HOME/.config/xorg/xpcspec" ] && xrdb -merge "$HOME/.config/xorg/xpcspec" # local resources setbg exec dwm diff --git a/README.md b/README.md index 92656c3..866b66b 100644 --- a/README.md +++ b/README.md @@ -48,23 +48,25 @@ There are various shortcuts and hotkeys used in this version. Included in my bui | ModKey | Shift | Key | Function | | ------ | ----- | ----------------- | --------------------------------------------------------- | -| Super | | Return | Spawn terminal | +| Super | | Return | Spawn terminal | | Super | | b | Spawn browser | -| Super | Shift | b | Toggle dwmbar | -| Super | | f | Spawn filemanager | -| Super | | i | Spawn intellij-idea-ultimate-edition | +| Super | | f | Spawn filemanager | +| Super | | i | (gpu-screen-record) stop recording | | Super | | m | Spawn thunderbird | -| Super | | p | Spawn ncmpcpp in st | -| Super | Shift | r | (dmenu) dmenu\_run | -| Super | | s | (dmenu) startpagesearch | -| Super | | F5 | enable 2 Screen Monitor | -| Super | | F6 | toggle touchpad | -| Super | | F7 | (dmenu) mounting drives | -| Super | | F8 | (dmenu) unmounting drives | +| Super | | o | (gpu-screen-record) start replay | +| Super | | p | (gpu-screen-record) save replay | +| Super | | u | (gpu-screen-record) start recording | +| Super | Shift | r | (dmenu) dmenu\_run | +| Super | Shift | x | Restart sxkd | +| Super | | F5 | Enable 2 Screen Monitor | +| Super | | F6 | Toggle touchpad | +| Super | | F7 | (dmenu) Mounting drives | +| Super | | F8 | (dmenu) Unmounting drives | | Super | | F9 | Restart NetworkManager | -| Super | | F10 | (dmenu) prompt, if yes: slock | -| Super | | F11 | (dmenu) prompt, if yes: reboot | -| Super | | F12 | (dmenu) prompt, if yes: shutdown | +| Super | | F10 | (dmenu) Prompt, if yes: slock | +| Super | | F11 | (dmenu) Prompt, if yes: reboot | +| Super | | F12 | (dmenu) Prompt, if yes: shutdown | +| Super | | Print | (dmenu) Prompt to take a screenshot | | | | AudioMute | Volume mute | | | | AudioMicMute | Mic Mute | | | | AudioLowerVolume | Volume lower | @@ -72,6 +74,7 @@ There are various shortcuts and hotkeys used in this version. Included in my bui | | | MonBrightnessDown | Brightness decrease | | | | MonBrightnessUp | Brightness increase | + ## Additional configs Additional configs (and for example firefox plugins) can be found in my [wiki](https://github.com/tiyn/wiki).