summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-rw-r--r--dwmblocks/config4
-rw-r--r--fontconfig/fonts.conf2
-rw-r--r--htop/htoprc12
-rw-r--r--mpv/input.conf6
-rw-r--r--mpv/mpv.conf1
-rw-r--r--mpv/music/local.lua30
-rw-r--r--mpv/music/online.lua9
-rw-r--r--mpv/scripts/sponsorblock_minimal.lua145
-rw-r--r--nvim/.gitignore16
-rw-r--r--nvim/appearance.vim198
-rw-r--r--nvim/basics.vim38
-rw-r--r--nvim/header.vim142
-rw-r--r--nvim/init.vim87
-rw-r--r--nvim/lsp.vim163
-rwxr-xr-xscripts/dmenuhandler40
-rwxr-xr-xscripts/dmenuoff15
-rwxr-xr-xscripts/dmenusearch100
-rwxr-xr-xscripts/dmenutimer6
-rwxr-xr-xscripts/music30
-rwxr-xr-xscripts/musiccmd116
-rwxr-xr-xscripts/screenshot11
-rwxr-xr-xscripts/selectopt5
-rwxr-xr-xscripts/speedtest8
-rw-r--r--scripts/test1
-rwxr-xr-xscripts/ytdl33
-rw-r--r--sxhkd/sxhkdrc16
-rw-r--r--vlc/vlcrc4993
-rw-r--r--zsh/.zshenv9
-rw-r--r--zsh/.zshrc9
30 files changed, 6236 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index d9840c3..a9bf51c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,13 +5,19 @@ JetBrains/
discord/
github-copilot/
gtk-3.0/
+gtk-2.0/
procps/
dconf/
Tracktion/
+qBittorrent/
+vlc/
+MuseScore/
## trashfiles
.zcompdump
*~
+QtProject.conf
## other stuff
scummvm/
+paliasrc
diff --git a/dwmblocks/config b/dwmblocks/config
index a0112c5..a75740d 100644
--- a/dwmblocks/config
+++ b/dwmblocks/config
@@ -1,5 +1,5 @@
/*Name State Update Signal + 34*/
-music = false // 35
+music = true // 35
cputemp = false // 36
fanspeed = false // 37
memory = true // 38
@@ -13,6 +13,6 @@ mic = false // 45
news = false // 46
mail = false // 47
weather = false // 48
-daypercent = true // 49
+daypercent = false // 49
date = true // 50
time = true // 51
diff --git a/fontconfig/fonts.conf b/fontconfig/fonts.conf
index 6867100..903102f 100644
--- a/fontconfig/fonts.conf
+++ b/fontconfig/fonts.conf
@@ -25,7 +25,7 @@
<alias>
<family>monospace</family>
<prefer>
- <family> Cousine Nerd Font</family>
+ <family>Cousine Nerd Font</family>
<family>Noto Emoji</family>
</prefer>
</alias>
diff --git a/htop/htoprc b/htop/htoprc
index d23d23f..dff7b74 100644
--- a/htop/htoprc
+++ b/htop/htoprc
@@ -40,24 +40,24 @@ column_meters_1=Tasks LoadAverage Uptime
column_meter_modes_1=2 2 2
tree_view=1
sort_key=46
-tree_sort_key=49
+tree_sort_key=46
sort_direction=-1
-tree_sort_direction=-1
+tree_sort_direction=1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_CPU
-.tree_sort_key=TIME
+.tree_sort_key=PERCENT_CPU
.tree_view=1
.tree_view_always_by_pid=0
.sort_direction=-1
-.tree_sort_direction=-1
+.tree_sort_direction=1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
-.sort_key=IO_RATE
+.sort_key=IO_PRIORITY
.tree_sort_key=PID
.tree_view=0
.tree_view_always_by_pid=0
-.sort_direction=-1
+.sort_direction=1
.tree_sort_direction=1
.all_branches_collapsed=0
diff --git a/mpv/input.conf b/mpv/input.conf
new file mode 100644
index 0000000..c5065c7
--- /dev/null
+++ b/mpv/input.conf
@@ -0,0 +1,6 @@
+WHEEL_UP add volume 2
+WHEEL_DOWN add volume -2
+l seek 5
+h seek -5
+j seek 60
+k seek -60 \ No newline at end of file
diff --git a/mpv/mpv.conf b/mpv/mpv.conf
new file mode 100644
index 0000000..f7d945c
--- /dev/null
+++ b/mpv/mpv.conf
@@ -0,0 +1 @@
+stop-screensaver = "no" \ No newline at end of file
diff --git a/mpv/music/local.lua b/mpv/music/local.lua
new file mode 100644
index 0000000..dfb9e2d
--- /dev/null
+++ b/mpv/music/local.lua
@@ -0,0 +1,30 @@
+local utils = require "mp.utils"
+
+function notify_current_media()
+ local path = mp.get_property_native("path")
+ local origin, title = utils.split_path(path)
+
+ local metadata = mp.get_property_native("metadata")
+ if metadata then
+ function tag(name)
+ return metadata[string.upper(name)] or metadata[name]
+ end
+
+ title = tag("title") or title
+ origin = tag("artist_credit") or tag("artist") or ""
+
+ local album = tag("album")
+ if album then
+ origin = string.format("%s — %s", origin, album)
+ end
+
+ local year = tag("original_year") or tag("year")
+ if year then
+ origin = string.format("%s (%s)", origin, year)
+ end
+ end
+ mp.command_native({"run", "pkill", "-RTMIN+1", "dwmblocks"})
+ return mp.command_native({"run", "env", "HERBE_ID=/music", "herbe", title, origin})
+end
+
+mp.register_event("file-loaded", notify_current_media) \ No newline at end of file
diff --git a/mpv/music/online.lua b/mpv/music/online.lua
new file mode 100644
index 0000000..bcd5d18
--- /dev/null
+++ b/mpv/music/online.lua
@@ -0,0 +1,9 @@
+local utils = require "mp.utils"
+
+function notify_current_media(key)
+ local title = mp.get_property(key)
+ mp.command_native({"run", "pkill", "-RTMIN+1", "dwmblocks"})
+ return mp.command_native({"run", "env", "HERBE_ID=/music", "herbe", title})
+end
+
+mp.observe_property("media-title", string, notify_current_media) \ No newline at end of file
diff --git a/mpv/scripts/sponsorblock_minimal.lua b/mpv/scripts/sponsorblock_minimal.lua
new file mode 100644
index 0000000..8ac0cca
--- /dev/null
+++ b/mpv/scripts/sponsorblock_minimal.lua
@@ -0,0 +1,145 @@
+-- sponsorblock_minimal.lua
+-- https://codeberg.org/jouni/mpv_sponsorblock_minimal
+-- LICENSE: GPLv3
+--
+-- b toggles between on/off
+--
+-- This script skips sponsored segments of YouTube videos
+-- using data from https://github.com/ajayyy/SponsorBlock
+
+local opt = require 'mp.options'
+local utils = require 'mp.utils'
+
+local options = {
+ server = "https://sponsor.ajay.app/api/skipSegments",
+
+ -- Categories to fetch and skip
+ categories = '"sponsor"',
+
+ -- Set this to "true" to use sha256HashPrefix instead of videoID
+ hash = ""
+}
+
+opt.read_options(options)
+
+function getranges(url)
+ local luacurl_available, cURL = pcall(require,'cURL')
+
+ local res = ""
+ if not(luacurl_available) then -- if Lua-cURL is not available on this system
+ local sponsors = mp.command_native{
+ name = "subprocess",
+ capture_stdout = true,
+ playback_only = false,
+ args = {"curl", "-L", "-s", "-g", url}
+ }
+ res = sponsors.stdout
+ else -- otherwise use Lua-cURL (binding to libcurl)
+ local buf={}
+ local c = cURL.easy_init()
+ c:setopt_followlocation(1)
+ c:setopt_url(url)
+ c:setopt_writefunction(function(chunk) table.insert(buf,chunk); return true; end)
+ c:perform()
+ res = table.concat(buf)
+ end
+
+ local json = utils.parse_json(res)
+ if options.hash == "true" and json ~= nil then
+ for _, i in pairs(json) do
+ if i.videoID == youtube_id then
+ return i.segments
+ end
+ end
+ else
+ return json
+ end
+
+ return nil
+end
+
+function skip_ads(name,pos)
+ if pos ~= nil then
+ for _, i in pairs(ranges) do
+ v = i.segment[2]
+ if i.segment[1] <= pos and v > pos then
+ --this message may sometimes be wrong
+ --it only seems to be a visual thing though
+ mp.osd_message(("[sponsorblock] skipping forward %ds"):format(math.floor(v-mp.get_property("time-pos"))))
+ --need to do the +0.01 otherwise mpv will start spamming skip sometimes
+ --example: https://www.youtube.com/watch?v=4ypMJzeNooo
+ mp.set_property("time-pos",v+0.01)
+ return
+ end
+ end
+ end
+ return
+end
+
+function file_loaded()
+ local video_path = mp.get_property("path", "")
+ local video_referer = string.match(mp.get_property("http-header-fields", ""), "Referer:([^,]+)") or ""
+
+ local urls = {
+ "ytdl://youtu%.be/([%w-_]+).*",
+ "ytdl://w?w?w?%.?youtube%.com/v/([%w-_]+).*",
+ "https?://youtu%.be/([%w-_]+).*",
+ "https?://w?w?w?%.?youtube%.com/v/([%w-_]+).*",
+ "/watch.*[?&]v=([%w-_]+).*",
+ "/embed/([%w-_]+).*",
+ "^ytdl://([%w-_]+)$",
+ "-([%w-_]+)%."
+ }
+ youtube_id = nil
+ local purl = mp.get_property("metadata/by-key/PURL", "")
+ for i,url in ipairs(urls) do
+ youtube_id = youtube_id or string.match(video_path, url) or string.match(video_referer, url) or string.match(purl, url)
+ end
+
+ if not youtube_id or string.len(youtube_id) < 11 then return end
+ youtube_id = string.sub(youtube_id, 1, 11)
+
+ local url = ""
+ if options.hash == "true" then
+ local sha = mp.command_native{
+ name = "subprocess",
+ capture_stdout = true,
+ args = {"sha256sum"},
+ stdin_data = youtube_id
+ }
+ url = ("%s/%s?categories=[%s]"):format(options.server, string.sub(sha.stdout, 0, 4), options.categories)
+ else
+ url = ("%s?videoID=%s&categories=[%s]"):format(options.server, youtube_id, options.categories)
+ end
+
+ ranges = getranges(url)
+ if ranges ~= nil then
+ ON = true
+ mp.add_key_binding("b","sponsorblock",toggle)
+ mp.observe_property("time-pos", "native", skip_ads)
+ end
+ return
+end
+
+function end_file()
+ if not ON then return end
+ mp.unobserve_property(skip_ads)
+ ranges = nil
+ ON = false
+end
+
+function toggle()
+ if ON then
+ mp.unobserve_property(skip_ads)
+ mp.osd_message("[sponsorblock] off")
+ ON = false
+ return
+ end
+ mp.observe_property("time-pos", "native", skip_ads)
+ mp.osd_message("[sponsorblock] on")
+ ON = true
+ return
+end
+
+mp.register_event("file-loaded", file_loaded)
+mp.register_event("end-file", end_file) \ No newline at end of file
diff --git a/nvim/.gitignore b/nvim/.gitignore
new file mode 100644
index 0000000..189fa64
--- /dev/null
+++ b/nvim/.gitignore
@@ -0,0 +1,16 @@
+# . :-. .
+# author: marcellus </var/spool/mail/marcellus> :*==*%%%#%+=---:
+# :#%%%*+%#=+%*:.
+# created: Sun, 14 May 2023 01:29:10 +0200 :%%%. . -*%-
+# updated: Sun, 14 May 2023 01:30:06 +0200 =## . :#%*=:.
+# -#*#%:=#%%%#-
+# description: *:*%%%%%%%#-
+# .-#%%%%%%+
+# %%%--%%%%*-
+# ##%= +%%=:..
+# #* #%#
+# :# -==*
+# :: .:
+
+plugged/
+autoload/
diff --git a/nvim/appearance.vim b/nvim/appearance.vim
new file mode 100644
index 0000000..14afd8d
--- /dev/null
+++ b/nvim/appearance.vim
@@ -0,0 +1,198 @@
+set background=dark
+
+lua << EOF
+local colors = require('dracula.palette')
+
+require("dracula").setup {
+ show_end_of_buffer = true,
+ lualine_bg_color = "#44475a",
+ transparent_bg = true,
+}
+
+require("gruvbox").setup {
+ italic = {
+ strings = false,
+ comments = false
+ },
+ transparent_mode = true,
+}
+
+--require("catppuccin").setup({
+-- flavour = "macchiato",
+-- transparent_background = true,
+-- show_end_of_buffer = true,
+--})
+--
+--require("everforest").setup({
+-- transparent_background_level = 1,
+--})
+
+local empty = require('lualine.component'):extend()
+function empty:draw(default_highlight)
+ self.status = ''
+ self.applied_separator = ''
+ self:apply_highlights(default_highlight)
+ self:apply_section_separators()
+ return self.status
+end
+
+-- Put proper separators and gaps between components in sections
+local function process_sections(sections)
+ for name, section in pairs(sections) do
+ local left = name:sub(9, 10) < 'x'
+ for pos = 1, name ~= 'lualine_z' and #section or #section - 1 do
+ table.insert(section, pos * 2, { empty, color = { fg = colors.white, bg = colors.white } })
+ end
+ for id, comp in ipairs(section) do
+ if type(comp) ~= 'table' then
+ comp = { comp }
+ section[id] = comp
+ end
+ comp.separator = left and { right = '' } or { left = '' }
+ end
+ end
+ return sections
+end
+
+local function modified()
+ if vim.bo.modified then
+ return '+'
+ elseif vim.bo.modifiable == false or vim.bo.readonly == true then
+ return '-'
+ end
+ return ''
+end
+
+local transparent = require'lualine.themes.dracula'
+transparent.inactive.c.bg = 'nil'
+transparent.visual.c.bg = 'nil'
+transparent.replace.c.bg = 'nil'
+transparent.normal.c.bg = 'nil'
+transparent.insert.c.bg = 'nil'
+transparent.command.c.bg = 'nil'
+
+require('lualine').setup {
+ options = {
+ theme = transparent,
+ component_separators = '',
+ section_separators = { left = '', right = '' },
+ },
+ sections = process_sections {
+ lualine_a = { 'mode' },
+ lualine_b = {
+ 'branch',
+ 'diff',
+ { 'filename', file_status = false, path = 1 },
+ {
+ 'diagnostics',
+ source = { 'nvim' },
+ sections = { 'error' },
+ symbols = {error = 'E '},
+ diagnostics_color = { error = { bg = colors.red, fg = colors.black, gui = 'bold' } },
+ --on_click = function()
+ -- vim.diagnostic.goto_prev()
+ -- end
+ },
+ {
+ 'diagnostics',
+ source = { 'nvim' },
+ sections = { 'warn' },
+ symbols = {warn = 'W '},
+ diagnostics_color = { warn = { bg = colors.orange, fg = colors.black, gui = 'bold' } },
+ --on_click = function()
+ -- vim.diagnostic.goto_next()
+ -- end
+ },
+ { modified, color = { bg = colors.purple } },
+ {
+ '%w',
+ cond = function()
+ return vim.wo.previewwindow
+ end,
+ },
+ {
+ '%r',
+ cond = function()
+ return vim.bo.readonly
+ end,
+ },
+ {
+ '%q',
+ cond = function()
+ return vim.bo.buftype == 'quickfix'
+ end,
+ },
+ },
+ lualine_c = {},
+ lualine_x = { 'fileformat' },
+ lualine_y = { 'filetype', 'progress' },
+ lualine_z = { 'location' },
+ },
+}
+
+require('hlargs').setup {
+ color = colors.orange
+}
+
+require("scrollbar").setup({
+ marks = {
+ Search = { color = colors.orange },
+ Error = { color = colors.red },
+ Warn = { color = colors.yellow },
+ Info = { color = colors.pink },
+ Hint = { color = colors.cyan },
+ Misc = { color = colors.purple },
+ },
+ handlers = {
+ cursor = false,
+ handle = false,
+ },
+})
+
+--vim.cmd [[highlight IndentBlanklineIndent1 guifg=#bd93f9 gui=nocombine]]
+--vim.cmd [[highlight IndentBlanklineIndent2 guifg=#50fa7b gui=nocombine]]
+--vim.cmd [[highlight IndentBlanklineIndent3 guifg=#8be9fd gui=nocombine]]
+--vim.cmd [[highlight IndentBlanklineIndent4 guifg=#f1fa8c gui=nocombine]]
+--vim.cmd [[highlight IndentBlanklineIndent5 guifg=#ffb86c gui=nocombine]]
+--vim.cmd [[highlight IndentBlanklineIndent6 guifg=#ff5555 gui=nocombine]]
+--
+--require("indent_blankline").setup {
+-- space_char_blankline = " ",
+--
+-- --show_current_context = true,
+-- --show_current_context_start = true,
+--
+-- char_highlight_list = {
+-- "IndentBlanklineIndent1",
+-- "IndentBlanklineIndent2",
+-- "IndentBlanklineIndent3",
+-- "IndentBlanklineIndent4",
+-- "IndentBlanklineIndent5",
+-- "IndentBlanklineIndent6",
+-- },
+--}
+
+require("nvim-web-devicons").setup {}
+
+require("nvim-treesitter.configs").setup {
+ ensure_installed = {
+ "bash", "c", "c_sharp", "comment", "css", "diff", "git_rebase",
+ "gitattributes", "gitcommit", "gitignore", "html", "latex",
+ "lua", "make", "markdown", "python", "rust", "vim", "vimdoc",
+ "zig"
+ },
+
+ highlight = {
+ enable = true,
+ },
+
+ additional_vim_regex_highlighting = false,
+
+ rainbow = {
+ enable = true,
+ extended_mode = true,
+ }
+}
+EOF
+
+colorscheme dracula
diff --git a/nvim/basics.vim b/nvim/basics.vim
new file mode 100644
index 0000000..bf1706e
--- /dev/null
+++ b/nvim/basics.vim
@@ -0,0 +1,38 @@
+" Indent
+set autoindent smartindent
+set tabstop=8 " n of whitespace in \t
+set shiftwidth=8 " n of whitespace for indent
+set softtabstop=8 " n of whitespace to delete with backspace
+"set expandtab " \t -> whitespaces
+"set list
+"set lcs=tab:\|\ ,space:⋅,eol:$ "↴
+
+" Disable the mouse, btw use shift for highlighting
+"set mouse=
+map <Middlemouse> <Nop>
+imap <Middlemouse> <Nop>
+aunmenu PopUp
+
+" better <C-d> and <C-u>
+nnoremap <C-d> <C-d>zz
+nnoremap <c-u> <c-u>zz
+
+" Autocorrect
+abbr hte the
+
+" Misc
+set nu rnu
+set cc=80
+set tw=79
+set title
+set nohls
+set tgc
+set clipboard+=unnamedplus
+autocmd FileType * setl fo-=ro fo+=tc
+
+" Language specific
+autocmd FileType python setl ts=4 sw=4 sts=4 expandtab
+autocmd FileType lisp,html setl ts=2 sw=2 sts=2 expandtab
+autocmd FileType html,markdown setl spell
+autocmd FileType tex setl spell spl=fr
+autocmd BufWritePost *.c silent! !astyle -A3 -t8 -p -xg -H -xB -n %:p
diff --git a/nvim/header.vim b/nvim/header.vim
new file mode 100644
index 0000000..a96db90
--- /dev/null
+++ b/nvim/header.vim
@@ -0,0 +1,142 @@
+" . :-. .
+" author: ratakor <ratakor@disroot.org> :*==*%%%#%+=---:
+" :#%%%*+%#=+%*:.
+" created: Sat, 06 May 2023 18:54:06 +0200 :%%%. . -*%-
+" updated: Sun, 14 May 2023 01:43:30 +0200 =## . :#%*=:.
+" -#*#%:=#%%%#-
+" description: *:*%%%%%%%#-
+" script to produce an header like this one .-#%%%%%%+
+" use .local/bin/updateheader to change the %%%--%%%%*-
+" letter shown ##%= +%%=:..
+" #* #%#
+" :# -==*
+" :: .:
+
+let s:ascii = [
+ \"",
+ \"███╗ ███╗",
+ \"████╗ ████║",
+ \"██╔████╔██║",
+ \"██║╚██╔╝██║",
+ \"██║ ╚═╝ ██║",
+ \"╚═╝ ╚═╝",
+ \]
+
+let s:start = '#'
+let s:mid = '#'
+let s:end = ''
+let s:size = 20 " ascii width
+let s:length = len(s:ascii) " header length
+let s:width = 80 " header width
+let s:margin = 5
+
+let s:types = {
+ \'\.c$\|\.h$\|\.cc$\|\.hh$\|\.cpp$\|\.hpp$\|\.cs$\|\.php$':
+ \['/*', ' *', ' */'],
+ \'\.htm$\|\.html$\|\.xml$':
+ \['<!--', ' ', '-->'],
+ \'\.js$':
+ \['//', '//', ''],
+ \'\.tex$':
+ \['%', '%', ''],
+ \'\.ml$\|\.mli$\|\.mll$\|\.mly$':
+ \['(*', ' ', '*)'],
+ \'\.vim$\|\vimrc$':
+ \['"', '"', ''],
+ \'\.f90$\|\.f95$\|\.f03$\|\.f$\|\.for$':
+ \['!', '!', ''],
+ \}
+
+function! s:filetype()
+ let l:f = expand("%:t")
+
+ for type in keys(s:types)
+ if l:f =~ type
+ let s:start = s:types[type][0]
+ let s:mid = s:types[type][1]
+ let s:end = s:types[type][2]
+ endif
+ endfor
+
+endfunction
+
+function! s:textline(txt, pos)
+ let l:txt = strpart(a:txt, 0, s:width - s:margin * 2 - s:size)
+
+ if a:pos == 1
+ return s:start . repeat(' ', s:margin - strlen(s:start)) . l:txt . repeat(' ', s:width - s:margin * 2 - strlen(l:txt) - s:size) . s:ascii[a:pos]
+ elseif a:pos == s:length
+ return s:end
+ else
+ return s:mid . repeat(' ', s:margin - strlen(s:start)) . l:txt . repeat(' ', s:width - s:margin * 2 - strlen(l:txt) - s:size) . s:ascii[a:pos]
+endfunction
+
+function! s:line(n)
+ if a:n == 2
+ return s:textline("author: " . s:user() . " <" . s:mail() . ">", a:n)
+" elseif a:n == 3
+" return s:textline("license: " . "ICS license", a:n)
+ elseif a:n == 4
+ return s:textline("created: " . s:date(), a:n)
+ elseif a:n == 5
+ return s:textline("updated: " . s:date(), a:n)
+ elseif a:n == 7
+ return s:textline("description: ", a:n)
+ else
+ return s:textline('', a:n)
+ endif
+endfunction
+
+function! s:user()
+ let l:user = $USER
+ if strlen(l:user) == 0
+ let l:user = "user"
+ endif
+ return l:user
+endfunction
+
+function! s:mail()
+ let l:mail = $MAIL
+ if strlen(l:mail) == 0
+ let l:mail = "user@mail.org"
+ endif
+ return l:mail
+endfunction
+
+function! s:date()
+ return strftime("%a, %d %b %Y %H:%M:%S %z")
+endfunction
+
+function! s:insert()
+ let l:line = s:length
+
+ while l:line > 0
+ call append(0, s:line(l:line))
+ let l:line = l:line - 1
+ endwhile
+endfunction
+
+function! s:update()
+ let line = 0
+ call s:filetype()
+ if getline(5) =~ s:start . repeat(' ', s:margin - strlen(s:start)) . "updated: "
+ let line = 5
+ elseif getline(6) =~ s:start . repeat(' ', s:margin - strlen(s:start)) . "updated: "
+ let line = 6
+ endif
+ if line > 0 && &mod
+ call setline(line, s:line(5))
+ return 0
+ endif
+ return 1
+endfunction
+
+function! s:header()
+ if s:update()
+ call s:insert()
+ endif
+endfunction
+
+command! Header call s:header ()
+autocmd BufNewFile * call s:header ()
+autocmd BufWritePre * call s:update ()
diff --git a/nvim/init.vim b/nvim/init.vim
new file mode 100644
index 0000000..f5a6781
--- /dev/null
+++ b/nvim/init.vim
@@ -0,0 +1,87 @@
+" Automatic vim-plug installation
+if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
+ echo "Downloading junegunn/vim-plug to manage plugins..."
+ silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
+ silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
+ autocmd VimEnter * PlugInstall
+endif
+
+call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
+" Appearance
+Plug 'Mofiqul/dracula.nvim' " dracula theme
+Plug 'ellisonleao/gruvbox.nvim' " gruvbox theme
+"Plug 'catppuccin/nvim', { 'as': 'catppuccin' } " catppuccin theme
+"Plug 'neanias/everforest-nvim' " everforest theme
+Plug 'ratakor/vim-startify' " start screen
+Plug 'nvim-lualine/lualine.nvim' " bottom bar
+Plug 'kyazdani42/nvim-web-devicons' " fancy icons
+Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " syntax color
+Plug 'p00f/nvim-ts-rainbow' " funny brackets
+"Plug 'lukas-reineke/indent-blankline.nvim' " funny indentation
+Plug 'm-demare/hlargs.nvim' " highlight arguments
+
+" LSP Support and Autocompletion Engine
+Plug 'neovim/nvim-lspconfig'
+Plug 'hrsh7th/nvim-cmp'
+Plug 'hrsh7th/cmp-nvim-lsp'
+Plug 'hrsh7th/cmp-nvim-lsp-signature-help'
+"Plug 'hrsh7th/cmp-nvim-lsp-document-symbol'
+Plug 'hrsh7th/cmp-buffer'
+Plug 'hrsh7th/cmp-path'
+Plug 'hrsh7th/cmp-calc'
+Plug 'ray-x/cmp-treesitter'
+Plug 'saadparwaiz1/cmp_luasnip'
+Plug 'L3MON4D3/LuaSnip', {'do': 'make install_jsregexp'}
+Plug 'ratakor/vim-snippets'
+
+" Misc
+Plug 'bronson/vim-trailing-whitespace' " FixWhitespace
+Plug 'airblade/vim-gitgutter' " hud for git in vim
+Plug 'nvim-lua/plenary.nvim' " dependency for telescope
+Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.0' } " fuzzy finder
+Plug 'preservim/nerdtree' " vs code be like
+Plug 'mbbill/undotree' " history visualizer
+Plug 'tpope/vim-commentary' " gc/gcc magic comment
+Plug 'ziglang/zig.vim'
+Plug 'kovetskiy/sxhkd-vim'
+Plug 'petertriho/nvim-scrollbar'
+Plug 'andrewferrier/debugprint.nvim'
+"Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
+call plug#end()
+
+source $XDG_CONFIG_HOME/nvim/basics.vim
+source $XDG_CONFIG_HOME/nvim/header.vim
+source $XDG_CONFIG_HOME/nvim/appearance.vim
+source $XDG_CONFIG_HOME/nvim/lsp.vim
+
+" Telescope config
+nnoremap <C-S> :Telescope find_files<CR>
+nnoremap <C-G> :Telescope git_files<CR>
+
+" NerdTree config
+nnoremap <F2> :NERDTreeToggle<CR>
+
+" Undotree config
+nnoremap <F3> :UndotreeToggle<CR>
+
+" custom vim-commentary
+autocmd FileType zig setl commentstring=//\ %s
+autocmd FileType cs setl commentstring=/*\ %s\ */
+
+lua << EOF
+require("debugprint").setup()
+EOF
+
+"let g:startify_custom_header = [
+let g:cow = [
+\" /\\_\\/\\_\\ _ / /\\ /\\ \\ /\\ \\ /\\ \\ _\\ \\ _\\ \\ /\\_\\ / /\\",
+\" / / / / //\\_\\ / / \\ / \\ \\ / \\ \\ / \\ \\ /\\__ \\ /\\__ \\ / / / _ / / \\ ",
+\" /\\ \\/ \\ \\/ / // / /\\ \\ / /\\ \\ \\ / /\\ \\ \\ / /\\ \\ \\ / /_ \\_\\ / /_ \\_\\ \\ \\ \\__ /\\_\\ / / /\\ \\__ ",
+\" / \\____\\__/ // / /\\ \\ \\ / / /\\ \\_\\ / / /\\ \\ \\ / / /\\ \\_\\ / / /\\/_/ / / /\\/_/ \\ \\___\\ / / // / /\\ \\___\\ ",
+\" / /\\/________// / / \\ \\ \\ / / /_/ / / / / / \\ \\_\\ / /_/_ \\/_/ / / / / / / \\__ / / / / \\ \\ \\ \\/___/ ",
+\" / / /\\/_// / // / /___/ /\\ \\ / / /__\\/ / / / / \\/_/ / /____/\\ / / / / / / / / / / / / \\ \\ \\ ",
+\" / / / / / // / /_____/ /\\ \\ / / /_____/ / / / / /\\____\\/ / / / ____ / / / ____ / / / / / /_ \\ \\ \\ ",
+\"/ / / / / // /_________/\\ \\ \\ / / /\\ \\ \\ / / /________ / / /______ / /_/_/ ___/\\ / /_/_/ ___/\\ / / /___/ / //_/\\__/ / / ",
+\"\\/_/ / / // / /_ __\\ \\_\\/ / / \\ \\ \\/ / /_________\\/ / /_______\\/_______/\\__\\//_______/\\__\\// / /____\\/ / \\ \\/___/ / ",
+\" \\/_/ \\_\\___\\ /____/_/\\/_/ \\_\\/\\/____________/\\/__________/\\_______\\/ \\_______\\/ \\/_________/ \\_____\\/ ",
+\]
diff --git a/nvim/lsp.vim b/nvim/lsp.vim
new file mode 100644
index 0000000..80ac5c2
--- /dev/null
+++ b/nvim/lsp.vim
@@ -0,0 +1,163 @@
+" . :-. .
+" author: marcellus </var/spool/mail/marcellus> :*==*%%%#%+=---:
+" :#%%%*+%#=+%*:.
+" created: Sun, 14 May 2023 01:07:47 +0200 :%%%. . -*%-
+" updated: Sun, 14 May 2023 01:08:07 +0200 =## . :#%*=:.
+" -#*#%:=#%%%#-
+" description: *:*%%%%%%%#-
+" .-#%%%%%%+
+" %%%--%%%%*-
+" ##%= +%%=:..
+" #* #%#
+" :# -==*
+" :: .:
+
+" . :-. .
+" author: ratakor <ratakor@disroot.org> :*==*%%%#%+=---:
+" :#%%%*+%#=+%*:.
+" created: Sat, 06 May 2023 18:54:06 +0200 :%%%. . -*%-
+" updated: Sat, 13 May 2023 13:16:03 +0200 =## . :#%*=:.
+" -#*#%:=#%%%#-
+" description: *:*%%%%%%%#-
+" script to produce an header like this one .-#%%%%%%+
+" use .local/bin/updateheader to change the %%%--%%%%*-
+" letter shown ##%= +%%=:..
+" #* #%#
+" :# -==*
+" :: .:
+
+let s:ascii = [
+ \"",
+ \". :-. .",
+ \":*==*%%%#%+=---:",
+ \" :#%%%*+%#=+%*:.",
+ \" :%%%. . -*%-",
+ \" =## . :#%*=:.",
+ \" -#*#%:=#%%%#-",
+ \" *:*%%%%%%%#-",
+ \" .-#%%%%%%+",
+ \" %%%--%%%%*-",
+ \" ##%= +%%=:..",
+ \" #* #%#",
+ \" :# -==*",
+ \" :: .:",
+ \]
+
+let s:start = '#'
+let s:mid = '#'
+let s:end = ''
+let s:size = 20 " ascii width
+let s:length = len(s:ascii) " header length
+let s:width = 80 " header width
+let s:margin = 5
+
+let s:types = {
+ \'\.c$\|\.h$\|\.cc$\|\.hh$\|\.cpp$\|\.hpp$\|\.cs$\|\.php$':
+ \['/*', ' *', ' */'],
+ \'\.htm$\|\.html$\|\.xml$':
+ \['<!--', ' ', '-->'],
+ \'\.js$':
+ \['//', '//', ''],
+ \'\.tex$':
+ \['%', '%', ''],
+ \'\.ml$\|\.mli$\|\.mll$\|\.mly$':
+ \['(*', ' ', '*)'],
+ \'\.vim$\|\vimrc$':
+ \['"', '"', ''],
+ \'\.f90$\|\.f95$\|\.f03$\|\.f$\|\.for$':
+ \['!', '!', ''],
+ \}
+
+function! s:filetype()
+ let l:f = expand("%:t")
+
+ for type in keys(s:types)
+ if l:f =~ type
+ let s:start = s:types[type][0]
+ let s:mid = s:types[type][1]
+ let s:end = s:types[type][2]
+ endif
+ endfor
+
+endfunction
+
+function! s:textline(txt, pos)
+ let l:txt = strpart(a:txt, 0, s:width - s:margin * 2 - s:size)
+
+ if a:pos == 1
+ return s:start . repeat(' ', s:margin - strlen(s:start)) . l:txt . repeat(' ', s:width - s:margin * 2 - strlen(l:txt) - s:size) . s:ascii[a:pos]
+ elseif a:pos == s:length
+ return s:end
+ else
+ return s:mid . repeat(' ', s:margin - strlen(s:start)) . l:txt . repeat(' ', s:width - s:margin * 2 - strlen(l:txt) - s:size) . s:ascii[a:pos]
+endfunction
+
+function! s:line(n)
+ if a:n == 2
+ return s:textline("author: " . s:user() . " <" . s:mail() . ">", a:n)
+" elseif a:n == 3
+" return s:textline("license: " . "ICS license", a:n)
+ elseif a:n == 4
+ return s:textline("created: " . s:date(), a:n)
+ elseif a:n == 5
+ return s:textline("updated: " . s:date(), a:n)
+ elseif a:n == 7
+ return s:textline("description: ", a:n)
+ else
+ return s:textline('', a:n)
+ endif
+endfunction
+
+function! s:user()
+ let l:user = $USER
+ if strlen(l:user) == 0
+ let l:user = "user"
+ endif
+ return l:user
+endfunction
+
+function! s:mail()
+ let l:mail = $MAIL
+ if strlen(l:mail) == 0
+ let l:mail = "user@mail.org"
+ endif
+ return l:mail
+endfunction
+
+function! s:date()
+ return strftime("%a, %d %b %Y %H:%M:%S %z")
+endfunction
+
+function! s:insert()
+ let l:line = s:length
+
+ while l:line > 0
+ call append(0, s:line(l:line))
+ let l:line = l:line - 1
+ endwhile
+endfunction
+
+function! s:update()
+ let line = 0
+ call s:filetype()
+ if getline(5) =~ s:start . repeat(' ', s:margin - strlen(s:start)) . "updated: "
+ let line = 5
+ elseif getline(6) =~ s:start . repeat(' ', s:margin - strlen(s:start)) . "updated: "
+ let line = 6
+ endif
+ if line > 0 && &mod
+ call setline(line, s:line(5))
+ return 0
+ endif
+ return 1
+endfunction
+
+function! s:header()
+ if s:update()
+ call s:insert()
+ endif
+endfunction
+
+command! Header call s:header ()
+autocmd BufNewFile * call s:header ()
+autocmd BufWritePre * call s:update ()
diff --git a/scripts/dmenuhandler b/scripts/dmenuhandler
new file mode 100755
index 0000000..b3eb9c8
--- /dev/null
+++ b/scripts/dmenuhandler
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Feed this script a link and it will give dmenu
+# some choice programs to use to open it.
+
+FEED="${1:-$(printf "" | dmenu -p 'Paste URL or file path')}"
+
+[ -z "$FEED" ] && exit
+
+case "$(printf '%s\nbrowser\nmusic\nmpv\nmpv loop\nnsxiv\nPDF\nvim\nyt-dlp\nmusic-dlp' "$FEED" | dmenu -i -p "Open with ")" in
+ "$FEED")
+ printf '%s\n' "$FEED" | xclip -selection clipboard ;; # Copy URL
+ browser)
+ setsid -f "$BROWSER" "$FEED" >/dev/null 2>&1 ;;
+ music)
+ setsid -f music "$FEED" >/dev/null 2>&1 ;;
+ mpv)
+ setsid -f mpv --quiet --ytdl-format="bv,ba" "$FEED" >/dev/null 2>&1 ;;
+ "mpv loop")
+ setsid -f mpv --quiet --ytdl-format="bv,ba" --loop "$FEED" >/dev/null 2>&1 ;;
+ nsxiv)
+ curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" &&
+ nsxiv -a "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
+ PDF)
+ curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" &&
+ zathura "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
+ vim)
+ curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" &&
+ setsid -f "$TERMINAL" -e "$EDITOR" "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
+ yt-dlp)
+ setsid -f ytdl v "$FEED" >/dev/null 2>&1 ;;
+ music-dlp)
+ if [ "$(printf 'no\nyes' | dmenu -i -p 'Playlist?')" = "yes" ]; then
+ setsid -f ytdl p "$FEED" >/dev/null 2>&1
+ else
+ setsid -f ytdl m "$FEED" >/dev/null 2>&1
+ fi
+ #setbg)
+ # curl -sL "$FEED" > "$XDG_CACHE_HOME/pic" &&
+ # hsetroot -cover "$XDG_CACHE_HOME/pic" >/dev/null 2>&1 ;;
+esac \ No newline at end of file
diff --git a/scripts/dmenuoff b/scripts/dmenuoff
new file mode 100755
index 0000000..e278c8a
--- /dev/null
+++ b/scripts/dmenuoff
@@ -0,0 +1,15 @@
+#!/bin/sh
+# menu for shutdown or lock
+# require nopass for poweroff and reboot and my build of dmenu for -hf
+
+QUERY=$(printf 'no\nlock\npoweroff\nreboot' | dmenu -i -sb '#cc241d' -hf '#689d6a' -p 'Shutdown?')
+ROOTCMD="${ROOTCMD:-$(command -v doas || command -v sudo)}"
+
+case "$QUERY" in
+"lock")
+ slock ;;
+"poweroff")
+ "$ROOTCMD" poweroff ;;
+"reboot")
+ "$ROOTCMD" reboot ;;
+esac \ No newline at end of file
diff --git a/scripts/dmenusearch b/scripts/dmenusearch
new file mode 100755
index 0000000..b1ed9d6
--- /dev/null
+++ b/scripts/dmenusearch
@@ -0,0 +1,100 @@
+#!/bin/sh
+# search web, arch wiki, aur, youtube man pages or emoji with dmenu
+# websearch dependencies : shuf, curl, /tmp needs to be temporary
+# wiki dependency: arch-wiki-docs
+# youtube dependency: ytfzf
+# man dependencies: man-db, zathura
+# emoji dependency: xclip
+
+set -e
+
+web() {
+ NETWORK=clearnet # clearnet, tor or i2p
+ if [ ! -f "/tmp/instances" ]; then
+ curl -s "https://librex.ratakor.com/instances.json" > /tmp/instances.json ||
+ (notify-send "No internet connection"; exit 1)
+
+ strip() {
+ tmp="${1##" \"$NETWORK\": \""}"
+ printf '%s\n' "${tmp%%"\","}"
+ }
+
+ while IFS= read -r line || [ -n "$line" ]; do
+ case $line in
+ *"$NETWORK"*null,)
+ continue ;;
+ *"$NETWORK"*)
+ strip "$line" >> /tmp/instances ;;
+ esac
+ done < /tmp/instances.json
+ fi
+
+ instance="$(shuf -n 1 /tmp/instances)"
+ query="${instance}search.php?q=${1:-$(printf "" | dmenu -p "Search:" -l 0)}&t=0"
+}
+
+wiki() {
+ WIKIDIR="/usr/share/doc/arch-wiki/html/en"
+
+ strip() {
+ tmp="${1##"$WIKIDIR/"}"
+ printf '\n%s' "${tmp%%".html"}"
+ }
+
+ for file in "$WIKIDIR"/*.html; do
+ [ -f "$file" ] || continue
+ wikidocs="$wikidocs$(strip "$file")"
+ done
+
+ wikidocs="${wikidocs#*
+}" # remove a trailing newline
+
+ query="$WIKIDIR/$(printf '%s\n' "$wikidocs" | sed -e 's/_/ /g' | sort |\
+ dmenu -i -l 10 -p 'Search Wiki: ').html"
+ query="$(printf '%s\n' "$query" | sed 's/ /_/g')" # separate otherwise set -e fails
+}
+
+aur() {
+ AURSITE="https://aur.archlinux.org/packages?O=0&K="
+ query="$AURSITE$(printf "" | dmenu -p "AUR:" -l 0)"
+}
+
+manpdf() {
+ INPUT=${1:-$(/usr/bin/man -k . | dmenu -i -l 20 | awk '{print $1}')}
+ [ -n "$INPUT" ] && /usr/bin/man -Tpdf "$INPUT" | zathura -
+}
+
+emoji() {
+ CHOSEN=$(cut -d ';' -f1 "$XDG_DATA_HOME/emoji" | dmenu -i -l 30 | sed "s/ .*//")
+
+ [ -z "$CHOSEN" ] && return 1
+
+ printf '%s' "$CHOSEN" | xclip -selection clipboard
+ # notify-send "'$CHOSEN' copied to clipboard."
+}
+
+main() {
+ case ${1:-$(printf 'web\naur\nyoutube\nman\nemoji' | dmenu -i)} in
+ web)
+ web "$2" ;;
+ #wiki)
+ # wiki ;;
+ aur)
+ aur ;;
+ youtube)
+ ytfzf -D
+ return ;;
+ man)
+ manpdf "$2"
+ return ;;
+ emoji)
+ emoji
+ return ;;
+ *)
+ return 1 ;;
+ esac
+
+ "$BROWSER" "$query" 2> /dev/null
+}
+
+main "$@" \ No newline at end of file
diff --git a/scripts/dmenutimer b/scripts/dmenutimer
new file mode 100755
index 0000000..00ccb4e
--- /dev/null
+++ b/scripts/dmenutimer
@@ -0,0 +1,6 @@
+#!/bin/sh
+# dmenu script for an arttime timer
+
+TIME=$(printf '' | dmenu -i -sb '#4E3524' -p 'New timer: ')
+
+st -c "arttime" -o - -e arttime --nolearn --random all --style 1 -t "Timer" -g $TIME 2>/dev/null | grep goal
diff --git a/scripts/music b/scripts/music
new file mode 100755
index 0000000..42ceeeb
--- /dev/null
+++ b/scripts/music
@@ -0,0 +1,30 @@
+#!/bin/sh
+# simple music selector with dmenu that uses and interacts with mpv
+# have a look at musiccmd, dwmblocks/sb_music and .local/etc/mpv/music
+# shellcheck disable=SC2012
+
+MUSICDIR="${XDG_MUSIC_DIR:-$HOME/music}"
+
+if [ "$1" = "--shuffle" ]; then
+ SHUFFLE=yes
+ shift
+fi
+
+MUSIC="${1:-$MUSICDIR/$(ls "$MUSICDIR" | dmenu -i -p "Play ")}"
+SCRIPT="$XDG_CONFIG_HOME/mpv/music/local.lua"
+
+if [ "$MUSIC" = "$MUSICDIR/urls" ]; then
+ MUSIC="$(cat "$MUSICDIR/urls/$(ls "$MUSICDIR/urls" | dmenu -i -p "Play ")")"
+ SCRIPT="$XDG_CONFIG_HOME/mpv/music/online.lua"
+fi
+
+[ "$MUSIC" = "$MUSICDIR/" ] || [ -z "$MUSIC" ] && exit 1
+
+if [ -z "$SHUFFLE" ] && [ -d "$MUSIC" ] || printf '%s' "$MUSIC" | grep -q playlist; then
+ SHUFFLE="$(printf 'yes\nno' | dmenu -i -p 'Shuffle?')"
+ [ -z "$SHUFFLE" ] && exit 1
+fi
+
+printf 'stop\n' | socat - /tmp/mpvsocket 2> /dev/null
+mpv --vid=no --input-ipc-server=/tmp/mpvsocket --loop-playlist --volume=75\
+ --ytdl-format="wv*+ba" --script="$SCRIPT" --shuffle="$SHUFFLE" "$MUSIC"
diff --git a/scripts/musiccmd b/scripts/musiccmd
new file mode 100755
index 0000000..ecaf437
--- /dev/null
+++ b/scripts/musiccmd
@@ -0,0 +1,116 @@
+#!/bin/sh
+# helper for the music script
+# dependencies: music, mpv, socat, yt-dlp, ffmpeg, imagemagick
+# optional dependencies: dwmblocks, libnotify, herbe
+
+FAVDIR="${XDG_MUSIC_DIR:-$HOME/music}/favorite"
+DLDIR="${XDG_MUSIC_DIR:-$HOME/music}/download"
+CACHE="${XDG_CACHE_HOME:-$HOME/.cache}"
+IMG="nsxiv"
+
+getpath() {
+ tmp="$(printf '{ "command": ["get_property", "path"] }\n'\
+ | socat - /tmp/mpvsocket)"
+ tmp="${tmp#{\"data\":\"}"
+ path="${tmp%\",\"request_id\":0,\"error\":\"success\"\}}"
+}
+
+getvol() {
+ tmp="$(printf '{ "command": ["get_property", "volume"] }\n'\
+ | socat - /tmp/mpvsocket)"
+ tmp="${tmp#{\"data\":}"
+ printf '%s\n' "${tmp%.000000,\"request_id\":0,\"error\":\"success\"\}}"
+}
+
+download() {
+ mkdir -p "$1"
+ notify-send "Downloading '$path' to '$1'"
+ if yt-dlp -f "ba" -x --embed-thumbnail --audio-format mp3\
+ -o"%(title)s [%(id)s].%(ext)s" -P "$1" "$path"; then
+ notify-send "'$path' successfuly downloaded to '$2'"
+ return 0
+ else
+ notify-send "Error: '$path' couldn't be downloaded"
+ return 1
+ fi
+}
+
+addtofav() {
+ case $path in
+ *youtube.com*)
+ download "$FAVDIR" ;;
+ *)
+ mkdir -p "$FAVDIR"
+ if cp "$path" "$FAVDIR"; then
+ notify-send "'$path' was copied to '$FAVDIR'"
+ return 0
+ else
+ notify-send "'$path' couldn't be copied to '$FAVDIR'"
+ return 1
+ fi ;;
+ esac
+}
+
+getthumbnail() {
+ mkdir -p "$CACHE"
+ case $path in
+ *youtube.com*)
+ yt-dlp --skip-download --force-overwrites --write-thumbnail\
+ -o "$CACHE/thumbnail" "$path" > /dev/null 2>&1 &&\
+ magick "$CACHE/thumbnail.webp" "$CACHE/thumbnail.jpg" ;;
+ *)
+ ffmpeg -y -i "$path" "$CACHE/thumbnail.jpg" 2> /dev/null ;;
+ esac
+}
+
+
+main() {
+ if ! pgrep -x music >/dev/null; then
+ kill -35 "$(pidof dwmblocks)"
+ herbe "Error: There is no music playing"\
+ "Do you want to play some ?" &&
+ music
+ return 1
+ fi
+
+ cmd="${1:-$(printf '⏯️pause/play\n⏭️next\n⏮️prev\n📢volume\n🔳stop
+⭐favorite\n⬇️download\n🖼️thumbnail' | dmenu -i -p "musiccmd")}"
+
+ case "$cmd" in
+ cycle|*pause|*play)
+ printf 'cycle pause\n' | socat - /tmp/mpvsocket
+ kill -35 "$(pidof dwmblocks)" ;;
+ *next)
+ printf 'playlist-next\n' | socat - /tmp/mpvsocket ;;
+ *prev)
+ printf 'playlist-prev\n' | socat - /tmp/mpvsocket ;;
+ *volume)
+ printf '{ "command": ["set_property", "volume", %s] }\n'\
+ "${2:-$(true | dmenu -p "Current volume: $(getvol)")}"\
+ | socat - /tmp/mpvsocket 1> /dev/null ;;
+ *stop)
+ printf 'stop\n' | socat - /tmp/mpvsocket
+ kill -35 "$(pidof dwmblocks)" ;;
+ *favorite|fav)
+ getpath
+ addtofav ;;
+ *download)
+ getpath
+ download "$DLDIR" ;;
+ *thumbnail)
+ getpath
+ if getthumbnail; then
+ $IMG "$CACHE/thumbnail.jpg"
+ else
+ notify-send "Error: can't get thumbnail"
+ return 1
+ fi ;;
+ path)
+ getpath
+ printf '%s\n' "$path" ;;
+ vol)
+ getvol ;;
+ esac
+}
+
+main "$@"
diff --git a/scripts/screenshot b/scripts/screenshot
new file mode 100755
index 0000000..8226205
--- /dev/null
+++ b/scripts/screenshot
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+OUTPUT="$XDG_PICTURES_DIR/screenshots/$(date '+%Y-%m-%d_%H:%M:%S').png"
+XCLIPCMD="xclip -sel clip -t image/png"
+
+case "$(printf "save select\nsave screen\ncopy select\ncopy screen" | dmenu -i -p "Screenshot")" in
+ "copy screen") maim -q -u -d 0.5 | $XCLIPCMD ;;
+ "save select") maim -u -s "$OUTPUT" ;;
+ "save screen") maim -q -u -d 0.5 "$OUTPUT" ;;
+ "copy select") maim -u -s | $XCLIPCMD ;;
+esac
diff --git a/scripts/selectopt b/scripts/selectopt
new file mode 100755
index 0000000..eff605f
--- /dev/null
+++ b/scripts/selectopt
@@ -0,0 +1,5 @@
+# !/bin/sh
+# a script to select whether music or musiccmd should be called,
+# depending on whether mpv is already running or not
+
+pidof mpv >/dev/null && musiccmd || music \ No newline at end of file
diff --git a/scripts/speedtest b/scripts/speedtest
new file mode 100755
index 0000000..a93b63a
--- /dev/null
+++ b/scripts/speedtest
@@ -0,0 +1,8 @@
+#!/bin/sh
+# usage: time speedtest cmd
+
+i=0
+while [ $i -lt 100000 ]; do
+ "$@"
+ i=$((i+1))
+done
diff --git a/scripts/test b/scripts/test
new file mode 100644
index 0000000..999bef1
--- /dev/null
+++ b/scripts/test
@@ -0,0 +1 @@
+fzdlfhzdk \ No newline at end of file
diff --git a/scripts/ytdl b/scripts/ytdl
new file mode 100755
index 0000000..e69cf26
--- /dev/null
+++ b/scripts/ytdl
@@ -0,0 +1,33 @@
+#!/bin/sh
+# wrapper for yt-dlp
+
+MUSICDIR="${XDG_MUSIC_DIR:-$HOME/Music}"
+VIDEODIR="${XDG_VIDEOS_DIR:-$HOME/Videos}"
+
+case $1 in
+v)
+ mkdir -p "$VIDEODIR"
+ notify-send "Video download started"
+ yt-dlp -f 'bv,ba' -o '%(title)s [%(id)s].%(ext)s'\
+ -P "$VIDEODIR" "$2" &&
+ notify-send "Video downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+m)
+ mkdir -p "$MUSICDIR/download"
+ notify-send "Music download started"
+ yt-dlp -f 'ba' -x --embed-thumbnail --audio-format mp3\
+ -o '%(title)s [%(id)s].%(ext)s' -P "$MUSICDIR/download" "$2" &&
+ notify-send "Music downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+p)
+ NAME=$(printf '' | dmenu -p 'Name ')
+ mkdir -p "$MUSICDIR/$NAME"
+ notify-send "Playlist download started"
+ yt-dlp -f 'ba' -x --embed-thumbnail --audio-format mp3\
+ -o '%(playlist_index)s - %(title)s [%(id)s].%(ext)s'\
+ -P "$MUSICDIR/$NAME" "$2" &&
+ notify-send "Playlist downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+*)
+ exit 1 ;;
+esac \ No newline at end of file
diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc
index 83ee55a..705c75c 100644
--- a/sxhkd/sxhkdrc
+++ b/sxhkd/sxhkdrc
@@ -15,10 +15,14 @@ XF86AudioLowerVolume
pamixer -d 5; kill -44 $(pidof dwmblocks)
XF86AudioMute
pamixer -t; kill
-{F7,super + n,super + shift + n}
- $TERMINAL -e {dmenurecord,lfub "$XDG_DATA_HOME/notes",newsboat}
-super + {m, shift + m}
- {music,musiccmd}
+{super + n,super + shift + n}
+ $TERMINAL -e {lfub "$XDG_DATA_HOME/notes",newsboat}
+super + m
+ music
+super + shift + m
+ musiccmd
+XF86Tools
+ selectopt
XF86Audio{Prev,Next,Play,Stop}
musiccmd {prev,next,cycle,stop}
super + {s,a,y,w,e}
@@ -29,5 +33,7 @@ super + u
dmenuhandler "$(xclip -o)"
{super + shift + u,button2}
plumber --sel
+super + t
+ dmenutimer
button9
- xdo kill \ No newline at end of file
+ xdo kill
diff --git a/vlc/vlcrc b/vlc/vlcrc
new file mode 100644
index 0000000..3a5e2b0
--- /dev/null
+++ b/vlc/vlcrc
@@ -0,0 +1,4993 @@
+###
+### vlc 3.0.18
+###
+
+###
+### lines beginning with a '#' character are comments
+###
+
+[wl_shell] # Wayland shell surface
+
+# Wayland display (string)
+#wl-display=
+
+[flaschen] # Flaschen-Taschen video output
+
+# Flaschen-Taschen display address (string)
+#flaschen-display=
+
+# Width (integer)
+#flaschen-width=25
+
+# Height (integer)
+#flaschen-height=20
+
+[vdummy] # Dummy video output
+
+# Dummy image chroma format (string)
+#dummy-chroma=
+
+[xdg_shell] # XDG shell surface
+
+# Wayland display (string)
+#wl-display=
+
+[yuv] # YUV video output
+
+# device, fifo or filename (string)
+#yuv-file=stream.yuv
+
+# Chroma used (string)
+#yuv-chroma=
+
+# Add a YUV4MPEG2 header (boolean)
+#yuv-yuv4mpeg2=0
+
+[xcb_xv] # XVideo output (XCB)
+
+# XVideo adaptor number (integer)
+#xvideo-adaptor=-1
+
+# XVideo format id (integer)
+#xvideo-format-id=0
+
+[xcb_x11] # X11 video output (XCB)
+
+[fb] # GNU/Linux framebuffer video output
+
+# Framebuffer device (string)
+#fbdev=/dev/fb0
+
+# Run fb on current tty (boolean)
+#fb-tty=1
+
+# Image format (default RGB) (string)
+#fb-chroma=
+
+# Framebuffer resolution to use (integer)
+#fb-mode=4
+
+# Framebuffer uses hw acceleration (boolean)
+#fb-hw-accel=1
+
+[vmem] # Video memory output
+
+# Width (integer)
+#vmem-width=320
+
+# Height (integer)
+#vmem-height=200
+
+# Pitch (integer)
+#vmem-pitch=640
+
+# Chroma (string)
+#vmem-chroma=RV16
+
+[gl] # OpenGL video output
+
+# OpenGL extension (string)
+#gl=
+
+# Open GL/GLES hardware converter (string)
+#glconv=
+
+# Rendering intent for color conversion (integer)
+#rendering-intent=1
+
+# Display primaries (integer)
+#target-prim=0
+
+# Display gamma / transfer function (integer)
+#target-trc=0
+
+# Tone-mapping algorithm (integer)
+#tone-mapping=3
+
+# Tone-mapping parameter (float)
+#tone-mapping-param=0.000000
+
+# Highlight clipped pixels (boolean)
+#tone-mapping-warn=0
+
+# Dithering algorithm (integer)
+#dither-algo=-1
+
+# Dither depth override (0 = framebuffer depth) (integer)
+#dither-depth=0
+
+# Desaturation strength (float)
+#desat-strength=0.000000
+
+# Desaturation exponent (float)
+#desat-exponent=0.000000
+
+# Desaturation base (float)
+#desat-base=0.000000
+
+# Maximum brightness boost (float)
+#max-boost=0.000000
+
+[xcb_window] # X11 video window (XCB)
+
+# X11 display (string)
+#x11-display=
+
+[avformat] # Avformat demuxer
+
+# Format name (string)
+#avformat-format=
+
+# Advanced options (string)
+#avformat-options=
+
+# Avformat mux (string)
+#sout-avformat-mux=
+
+# Advanced options (string)
+#sout-avformat-options=
+
+# Reset timestamps (boolean)
+#sout-avformat-reset-ts=0
+
+[avi] # AVI demuxer
+
+# Force interleaved method (boolean)
+#avi-interleaved=0
+
+# Force index creation (integer)
+#avi-index=0
+
+[h26x] # H264 video demuxer
+
+# Frames per Second (float)
+#h264-fps=0.000000
+
+# Frames per Second (float)
+#hevc-fps=0.000000
+
+[subtitle] # Text subtitle parser
+
+# Frames per Second (float)
+#sub-fps=0.000000
+
+# Subtitle delay (integer)
+#sub-delay=0
+
+# Subtitle format (string)
+#sub-type=auto
+
+# Subtitle description (string)
+#sub-description=
+
+[adaptive] # Unified adaptive streaming for DASH/HLS
+
+# Adaptive Logic (string)
+#adaptive-logic=
+
+# Maximum device width (integer)
+#adaptive-maxwidth=0
+
+# Maximum device height (integer)
+#adaptive-maxheight=0
+
+# Fixed Bandwidth in KiB/s (integer)
+#adaptive-bw=250
+
+# Use regular HTTP modules (boolean)
+#adaptive-use-access=0
+
+# Live Playback delay (ms) (integer)
+#adaptive-livedelay=15000
+
+# Max buffering (ms) (integer)
+#adaptive-maxbuffer=30000
+
+# Low latency (integer)
+#adaptive-lowlatency=-1
+
+[mod] # MOD demuxer (libmodplug)
+
+# Noise reduction (boolean)
+#mod-noisereduction=1
+
+# Reverb (boolean)
+#mod-reverb=0
+
+# Reverberation level (integer)
+#mod-reverb-level=0
+
+# Reverberation delay (integer)
+#mod-reverb-delay=40
+
+# Mega bass (boolean)
+#mod-megabass=0
+
+# Mega bass level (integer)
+#mod-megabass-level=0
+
+# Mega bass cutoff (integer)
+#mod-megabass-range=10
+
+# Surround (boolean)
+#mod-surround=0
+
+# Surround level (integer)
+#mod-surround-level=0
+
+# Surround delay (ms) (integer)
+#mod-surround-delay=5
+
+[ps] # MPEG-PS demuxer
+
+# Trust MPEG timestamps (boolean)
+#ps-trust-timestamps=1
+
+[rawvid] # Raw video demuxer
+
+# Frames per Second (string)
+#rawvid-fps=
+
+# Width (integer)
+#rawvid-width=0
+
+# Height (integer)
+#rawvid-height=0
+
+# Force chroma (Use carefully) (string)
+#rawvid-chroma=
+
+# Aspect ratio (string)
+#rawvid-aspect-ratio=
+
+[mkv] # Matroska stream demuxer
+
+# Respect ordered chapters (boolean)
+#mkv-use-ordered-chapters=1
+
+# Chapter codecs (boolean)
+#mkv-use-chapter-codec=1
+
+# Preload MKV files in the same directory (boolean)
+#mkv-preload-local-dir=1
+
+# Seek based on percent not time (boolean)
+#mkv-seek-percent=0
+
+# Dummy Elements (boolean)
+#mkv-use-dummy=0
+
+# Preload clusters (boolean)
+#mkv-preload-clusters=0
+
+[playlist] # Playlist
+
+# Skip ads (boolean)
+#playlist-skip-ads=1
+
+# Show shoutcast adult content (boolean)
+#shoutcast-show-adult=0
+
+[vc1] # VC1 video demuxer
+
+# Frames per Second (float)
+#vc1-fps=25.000000
+
+[image] # Image demuxer
+
+# ES ID (integer)
+#image-id=-1
+
+# Group (integer)
+#image-group=0
+
+# Decode (boolean)
+#image-decode=1
+
+# Forced chroma (string)
+#image-chroma=
+
+# Duration in seconds (float)
+#image-duration=10.000000
+
+# Frame rate (string)
+#image-fps=10/1
+
+# Real-time (boolean)
+#image-realtime=0
+
+[diracsys] # Dirac video demuxer
+
+# Value to adjust dts by (integer)
+#dirac-dts-offset=0
+
+[rawaud] # Raw audio demuxer
+
+# Audio channels (integer)
+#rawaud-channels=2
+
+# Audio samplerate (Hz) (integer)
+#rawaud-samplerate=48000
+
+# FOURCC code of raw input format (string)
+#rawaud-fourcc=s16l
+
+# Forces the audio language (string)
+#rawaud-lang=eng
+
+[demuxdump] # File dumper
+
+# Dump module (string)
+#demuxdump-access=file
+
+# Dump filename (string)
+#demuxdump-file=stream-demux.dump
+
+# Append to existing file (boolean)
+#demuxdump-append=0
+
+[mp4] # MP4 stream demuxer
+
+# M4A audio only (boolean)
+#mp4-m4a-audioonly=0
+
+[rawdv] # DV (Digital Video) demuxer
+
+# Hurry up (boolean)
+#rawdv-hurry-up=0
+
+[mjpeg] # M-JPEG camera demuxer
+
+# Frames per Second (float)
+#mjpeg-fps=0.000000
+
+[es] # MPEG-I/II/4 / A52 / DTS / MLP audio
+
+# Frames per Second (float)
+#es-fps=25.000000
+
+[rotate] # Rotate video filter
+
+# Angle in degrees (float)
+#rotate-angle=30.000000
+
+# Use motion sensors (boolean)
+#rotate-use-motion=0
+
+[ball] # Ball video filter
+
+# Ball color (string)
+#ball-color=red
+
+# Ball speed (integer)
+#ball-speed=4
+
+# Ball size (integer)
+#ball-size=10
+
+# Gradient threshold (integer)
+#ball-gradient-threshold=40
+
+# Edge visible (boolean)
+#ball-edge-visible=1
+
+[scene] # Scene video filter
+
+# Image format (string)
+#scene-format=png
+
+# Image width (integer)
+#scene-width=-1
+
+# Image height (integer)
+#scene-height=-1
+
+# Filename prefix (string)
+#scene-prefix=scene
+
+# Directory path prefix (string)
+#scene-path=
+
+# Always write to the same file (boolean)
+#scene-replace=0
+
+# Recording ratio (integer)
+#scene-ratio=50
+
+[deinterlace] # Deinterlacing video filter
+
+# Streaming deinterlace mode (string)
+#sout-deinterlace-mode=blend
+
+# Phosphor chroma mode for 4:2:0 input (integer)
+#sout-deinterlace-phosphor-chroma=2
+
+# Phosphor old field dimmer strength (integer)
+#sout-deinterlace-phosphor-dimmer=2
+
+[gradfun] # Gradfun video filter
+
+# Radius (integer)
+#gradfun-radius=16
+
+# Strength (float)
+#gradfun-strength=1.200000
+
+[colorthres] # Color threshold filter
+
+# Color (integer)
+#colorthres-color=16711680
+
+# Saturation threshold (integer)
+#colorthres-saturationthres=20
+
+# Similarity threshold (integer)
+#colorthres-similaritythres=15
+
+[mirror] # Mirror video filter
+
+# Mirror orientation (integer)
+#mirror-split=0
+
+# Direction (integer)
+#mirror-direction=0
+
+[anaglyph] # Convert 3D picture to anaglyph image video filter
+
+# Color scheme (string)
+#anaglyph-scheme=red-cyan
+
+[transform] # Video transformation filter
+
+# Transform type (string)
+#transform-type=90
+
+[hqdn3d] # High Quality 3D Denoiser filter
+
+# Spatial luma strength (0-254) (float)
+#hqdn3d-luma-spat=4.000000
+
+# Spatial chroma strength (0-254) (float)
+#hqdn3d-chroma-spat=3.000000
+
+# Temporal luma strength (0-254) (float)
+#hqdn3d-luma-temp=6.000000
+
+# Temporal chroma strength (0-254) (float)
+#hqdn3d-chroma-temp=4.500000
+
+[canvas] # Canvas video filter
+
+# Output width (integer)
+#canvas-width=0
+
+# Output height (integer)
+#canvas-height=0
+
+# Output picture aspect ratio (string)
+#canvas-aspect=
+
+# Pad video (boolean)
+#canvas-padd=1
+
+[postproc] # Video post processing filter
+
+# Post processing quality (integer)
+#postproc-q=6
+
+# FFmpeg post processing filter chains (string)
+#postproc-name=default
+
+[croppadd] # Video cropping filter
+
+# Pixels to crop from top (integer)
+#croppadd-croptop=0
+
+# Pixels to crop from bottom (integer)
+#croppadd-cropbottom=0
+
+# Pixels to crop from left (integer)
+#croppadd-cropleft=0
+
+# Pixels to crop from right (integer)
+#croppadd-cropright=0
+
+# Pixels to padd to top (integer)
+#croppadd-paddtop=0
+
+# Pixels to padd to bottom (integer)
+#croppadd-paddbottom=0
+
+# Pixels to padd to left (integer)
+#croppadd-paddleft=0
+
+# Pixels to padd to right (integer)
+#croppadd-paddright=0
+
+[sharpen] # Sharpen video filter
+
+# Sharpen strength (0-2) (float)
+#sharpen-sigma=0.050000
+
+[fps] # FPS conversion video filter
+
+# Frame rate (string)
+#fps-fps=
+
+[gradient] # Gradient video filter
+
+# Distort mode (string)
+#gradient-mode=gradient
+
+# Gradient image type (integer)
+#gradient-type=0
+
+# Apply cartoon effect (boolean)
+#gradient-cartoon=1
+
+[antiflicker] # antiflicker video filter
+
+# Window size (integer)
+#antiflicker-window-size=10
+
+# Softening value (integer)
+#antiflicker-softening-size=10
+
+[erase] # Erase video filter
+
+# Image mask (string)
+#erase-mask=
+
+# X coordinate (integer)
+#erase-x=0
+
+# Y coordinate (integer)
+#erase-y=0
+
+[blendbench] # Blending benchmark filter
+
+# Number of time to blend (integer)
+#blendbench-loops=1000
+
+# Alpha of the blended image (integer)
+#blendbench-alpha=128
+
+# Image to be blended onto (string)
+#blendbench-base-image=
+
+# Chroma for the base image (string)
+#blendbench-base-chroma=I420
+
+# Image which will be blended (string)
+#blendbench-blend-image=
+
+# Chroma for the blend image (string)
+#blendbench-blend-chroma=YUVA
+
+[alphamask] # Alpha mask video filter
+
+# Transparency mask (string)
+#alphamask-mask=
+
+[gaussianblur] # Gaussian blur video filter
+
+# Gaussian's std deviation (float)
+#gaussianblur-sigma=2.000000
+
+[bluescreen] # Bluescreen video filter
+
+# Bluescreen U value (integer)
+#bluescreen-u=120
+
+# Bluescreen V value (integer)
+#bluescreen-v=90
+
+# Bluescreen U tolerance (integer)
+#bluescreen-ut=17
+
+# Bluescreen V tolerance (integer)
+#bluescreen-vt=17
+
+[adjust] # Image properties filter
+
+# Image contrast (0-2) (float)
+#contrast=1.000000
+
+# Image brightness (0-2) (float)
+#brightness=1.000000
+
+# Image hue (-180..180) (float)
+#hue=0.000000
+
+# Image saturation (0-3) (float)
+#saturation=1.000000
+
+# Image gamma (0-10) (float)
+#gamma=1.000000
+
+# Brightness threshold (boolean)
+#brightness-threshold=0
+
+[puzzle] # Puzzle interactive game video filter
+
+# Number of puzzle rows (integer)
+#puzzle-rows=4
+
+# Number of puzzle columns (integer)
+#puzzle-cols=4
+
+# Border (integer)
+#puzzle-border=3
+
+# Small preview (boolean)
+#puzzle-preview=0
+
+# Small preview size (integer)
+#puzzle-preview-size=15
+
+# Piece edge shape size (integer)
+#puzzle-shape-size=90
+
+# Auto shuffle (integer)
+#puzzle-auto-shuffle=0
+
+# Auto solve (integer)
+#puzzle-auto-solve=0
+
+# Rotation (integer)
+#puzzle-rotation=0
+
+# Game mode (integer)
+#puzzle-mode=0
+
+[extract] # Extract RGB component video filter
+
+# RGB component to extract (integer)
+#extract-component=16711680
+
+[posterize] # Posterize video filter
+
+# Posterize level (integer)
+#posterize-level=6
+
+[motionblur] # Motion blur filter
+
+# Blur factor (1-127) (integer)
+#blur-factor=80
+
+[sepia] # Sepia video filter
+
+# Sepia intensity (integer)
+#sepia-intensity=120
+
+[grain] # Grain video filter
+
+# Variance (float)
+#grain-variance=2.000000
+
+# Minimal period (integer)
+#grain-period-min=1
+
+# Maximal period (integer)
+#grain-period-max=48
+
+[rtsp] # Legacy RTSP VoD server
+
+# MUX for RAW RTSP transport (string)
+#rtsp-raw-mux=ts
+
+# Maximum number of connections (integer)
+#rtsp-throttle-users=0
+
+# Sets the timeout option in the RTSP session string (integer)
+#rtsp-session-timeout=5
+
+[logger] # File logging
+
+[gnutls] # GNU TLS transport layer security
+
+# Use system trust database (boolean)
+#gnutls-system-trust=1
+
+# Trust directory (string)
+#gnutls-dir-trust=
+
+# TLS cipher priorities (string)
+#gnutls-priorities=NORMAL
+
+[audioscrobbler] # Submission of played songs to last.fm
+
+# Username (string)
+#lastfm-username=
+
+# Password (string)
+#lastfm-password=
+
+# Scrobbler URL (string)
+#scrobbler-url=post.audioscrobbler.com
+
+[vorbis] # Vorbis audio decoder
+
+# Encoding quality (integer)
+#sout-vorbis-quality=0
+
+# Maximum encoding bitrate (integer)
+#sout-vorbis-max-bitrate=0
+
+# Minimum encoding bitrate (integer)
+#sout-vorbis-min-bitrate=0
+
+# CBR encoding (boolean)
+#sout-vorbis-cbr=0
+
+[subsusf] # USF subtitles decoder
+
+# Formatted Subtitles (boolean)
+#subsdec-formatted=1
+
+[twolame] # Libtwolame audio encoder
+
+# Encoding quality (float)
+#sout-twolame-quality=0.000000
+
+# Stereo mode (integer)
+#sout-twolame-mode=0
+
+# VBR mode (boolean)
+#sout-twolame-vbr=0
+
+# Psycho-acoustic model (integer)
+#sout-twolame-psy=3
+
+[dca] # DTS Coherent Acoustics audio decoder
+
+# DTS dynamic range compression (boolean)
+#dts-dynrng=1
+
+[gstdecode] # GStreamer Based Decoder
+
+# Use DecodeBin (boolean)
+#use-decodebin=1
+
+[cc] # Closed Captions decoder
+
+# Opacity (boolean)
+#cc-opaque=1
+
+[theora] # Theora video decoder
+
+# Post processing quality (integer)
+#theora-postproc=-1
+
+# Encoding quality (integer)
+#sout-theora-quality=2
+
+[qsv] # Intel QuickSync Video encoder for MPEG4-Part10/MPEG2 (aka H.264/H.262)
+
+# Enable software mode (boolean)
+#sout-qsv-software=0
+
+# Codec Profile (string)
+#sout-qsv-h264-profile=unspecified
+
+# Codec Level (string)
+#sout-qsv-h264-level=unspecified
+
+# Codec Profile (string)
+#sout-qsv-mpeg2-profile=unspecified
+
+# Codec Level (string)
+#sout-qsv-mpeg2-level=unspecified
+
+# Group of Picture size (integer)
+#sout-qsv-gop-size=32
+
+# Group of Picture Reference Distance (integer)
+#sout-qsv-gop-refdist=4
+
+# IDR interval (integer)
+#sout-qsv-idr-interval=0
+
+# Target Usage (string)
+#sout-qsv-target-usage=quality
+
+# Rate Control Method (string)
+#sout-qsv-rc-method=vbr
+
+# Quantization parameter (integer)
+#sout-qsv-qp=0
+
+# Quantization parameter for I-frames (integer)
+#sout-qsv-qpi=0
+
+# Quantization parameter for P-frames (integer)
+#sout-qsv-qpp=0
+
+# Quantization parameter for B-frames (integer)
+#sout-qsv-qpb=0
+
+# Maximum Bitrate (integer)
+#sout-qsv-bitrate-max=0
+
+# Accuracy of RateControl (integer)
+#sout-qsv-accuracy=0
+
+# Convergence time of 'avbr' RateControl (integer)
+#sout-qsv-convergence=0
+
+# Number of slices per frame (integer)
+#sout-qsv-num-slice=0
+
+# Number of reference frames (integer)
+#sout-qsv-num-ref-frame=0
+
+# Number of parallel operations (integer)
+#sout-qsv-async-depth=4
+
+[dvbsub] # DVB subtitles decoder
+
+# Subpicture position (integer)
+#dvbsub-position=8
+
+# Decoding X coordinate (integer)
+#dvbsub-x=-1
+
+# Decoding Y coordinate (integer)
+#dvbsub-y=-1
+
+# Encoding X coordinate (integer)
+#sout-dvbsub-x=-1
+
+# Encoding Y coordinate (integer)
+#sout-dvbsub-y=-1
+
+[a52] # ATSC A/52 (AC-3) audio decoder
+
+# A/52 dynamic range compression (boolean)
+#a52-dynrng=1
+
+[ttml] # TTML subtitles decoder
+
+# Subtitle justification (integer)
+#ttml-align=0
+
+[svcdsub] # Philips OGT (SVCD subtitle) decoder
+
+[speex] # Speex audio decoder
+
+# Mode (integer)
+#sout-speex-mode=0
+
+# Encoding complexity (integer)
+#sout-speex-complexity=3
+
+# CBR encoding (boolean)
+#sout-speex-cbr=0
+
+# Encoding quality (float)
+#sout-speex-quality=8.000000
+
+# Maximal bitrate (integer)
+#sout-speex-max-bitrate=0
+
+# Voice activity detection (boolean)
+#sout-speex-vad=1
+
+# Discontinuous Transmission (boolean)
+#sout-speex-dtx=0
+
+[zvbi] # VBI and Teletext decoder
+
+# Teletext page (integer)
+#vbi-page=100
+
+# Opacity (boolean)
+#vbi-opaque=0
+
+# Teletext alignment (integer)
+#vbi-position=8
+
+# Teletext text subtitles (boolean)
+#vbi-text=0
+
+# Presentation Level (integer)
+#vbi-level=3
+
+[x264] # H.264/MPEG-4 Part 10/AVC encoder (x264)
+
+# Maximum GOP size (integer)
+#sout-x264-keyint=250
+
+# Minimum GOP size (integer)
+#sout-x264-min-keyint=25
+
+# Use recovery points to close GOPs (boolean)
+#sout-x264-opengop=0
+
+# Enable compatibility hacks for Blu-ray support (boolean)
+#sout-x264-bluray-compat=0
+
+# Extra I-frames aggressivity (integer)
+#sout-x264-scenecut=40
+
+# B-frames between I and P (integer)
+#sout-x264-bframes=3
+
+# Adaptive B-frame decision (integer)
+#sout-x264-b-adapt=1
+
+# Influence (bias) B-frames usage (integer)
+#sout-x264-b-bias=0
+
+# Keep some B-frames as references (string)
+#sout-x264-bpyramid=normal
+
+# CABAC (boolean)
+#sout-x264-cabac=1
+
+# Use fullrange instead of TV colorrange (boolean)
+#sout-x264-fullrange=0
+
+# Number of reference frames (integer)
+#sout-x264-ref=3
+
+# Skip loop filter (boolean)
+#sout-x264-nf=0
+
+# Loop filter AlphaC0 and Beta parameters alpha:beta (string)
+#sout-x264-deblock=0:0
+
+# Strength of psychovisual optimization, default is "1.0:0.0" (string)
+#sout-x264-psy-rd=1.0:0.0
+
+# Use Psy-optimizations (boolean)
+#sout-x264-psy=1
+
+# H.264 level (string)
+#sout-x264-level=0
+
+# H.264 profile (string)
+#sout-x264-profile=high
+
+# Interlaced mode (boolean)
+#sout-x264-interlaced=0
+
+# Frame packing (integer)
+#sout-x264-frame-packing=-1
+
+# Force number of slices per frame (integer)
+#sout-x264-slices=0
+
+# Limit the size of each slice in bytes (integer)
+#sout-x264-slice-max-size=0
+
+# Limit the size of each slice in macroblocks (integer)
+#sout-x264-slice-max-mbs=0
+
+# HRD-timing information (string)
+#sout-x264-hrd=none
+
+# Set QP (integer)
+#sout-x264-qp=-1
+
+# Quality-based VBR (integer)
+#sout-x264-crf=23
+
+# Min QP (integer)
+#sout-x264-qpmin=10
+
+# Max QP (integer)
+#sout-x264-qpmax=51
+
+# Max QP step (integer)
+#sout-x264-qpstep=4
+
+# Average bitrate tolerance (float)
+#sout-x264-ratetol=1.000000
+
+# Max local bitrate (integer)
+#sout-x264-vbv-maxrate=0
+
+# VBV buffer (integer)
+#sout-x264-vbv-bufsize=0
+
+# Initial VBV buffer occupancy (float)
+#sout-x264-vbv-init=0.900000
+
+# QP factor between I and P (float)
+#sout-x264-ipratio=1.400000
+
+# QP factor between P and B (float)
+#sout-x264-pbratio=1.300000
+
+# QP difference between chroma and luma (integer)
+#sout-x264-chroma-qp-offset=0
+
+# Multipass ratecontrol (integer)
+#sout-x264-pass=0
+
+# QP curve compression (float)
+#sout-x264-qcomp=0.600000
+
+# Reduce fluctuations in QP (float)
+#sout-x264-cplxblur=20.000000
+
+# Reduce fluctuations in QP (float)
+#sout-x264-qblur=0.500000
+
+# How AQ distributes bits (integer)
+#sout-x264-aq-mode=1
+
+# Strength of AQ (float)
+#sout-x264-aq-strength=1.000000
+
+# Partitions to consider (string)
+#sout-x264-partitions=normal
+
+# Direct MV prediction mode (string)
+#sout-x264-direct=spatial
+
+# Direct prediction size (integer)
+#sout-x264-direct-8x8=1
+
+# Weighted prediction for B-frames (boolean)
+#sout-x264-weightb=1
+
+# Weighted prediction for P-frames (integer)
+#sout-x264-weightp=2
+
+# Integer pixel motion estimation method (string)
+#sout-x264-me=hex
+
+# Maximum motion vector search range (integer)
+#sout-x264-merange=16
+
+# Maximum motion vector length (integer)
+#sout-x264-mvrange=-1
+
+# Minimum buffer space between threads (integer)
+#sout-x264-mvrange-thread=-1
+
+# Subpixel motion estimation and partition decision quality (integer)
+#sout-x264-subme=7
+
+# Decide references on a per partition basis (boolean)
+#sout-x264-mixed-refs=1
+
+# Chroma in motion estimation (boolean)
+#sout-x264-chroma-me=1
+
+# Adaptive spatial transform size (boolean)
+#sout-x264-8x8dct=1
+
+# Trellis RD quantization (integer)
+#sout-x264-trellis=1
+
+# Framecount to use on frametype lookahead (integer)
+#sout-x264-lookahead=40
+
+# Use Periodic Intra Refresh (boolean)
+#sout-x264-intra-refresh=0
+
+# Use mb-tree ratecontrol (boolean)
+#sout-x264-mbtree=1
+
+# Early SKIP detection on P-frames (boolean)
+#sout-x264-fast-pskip=1
+
+# Coefficient thresholding on P-frames (boolean)
+#sout-x264-dct-decimate=1
+
+# Noise reduction (integer)
+#sout-x264-nr=0
+
+# Inter luma quantization deadzone (integer)
+#sout-x264-deadzone-inter=21
+
+# Intra luma quantization deadzone (integer)
+#sout-x264-deadzone-intra=11
+
+# Non-deterministic optimizations when threaded (boolean)
+#sout-x264-non-deterministic=0
+
+# CPU optimizations (boolean)
+#sout-x264-asm=1
+
+# PSNR computation (boolean)
+#sout-x264-psnr=0
+
+# SSIM computation (boolean)
+#sout-x264-ssim=0
+
+# Quiet mode (boolean)
+#sout-x264-quiet=0
+
+# SPS and PPS id numbers (integer)
+#sout-x264-sps-id=0
+
+# Access unit delimiters (boolean)
+#sout-x264-aud=0
+
+# Statistics (boolean)
+#sout-x264-verbose=0
+
+# Filename for 2 pass stats file (string)
+#sout-x264-stats=x264_2pass.log
+
+# Default preset setting used (string)
+#sout-x264-preset=
+
+# Default tune setting used (string)
+#sout-x264-tune=
+
+# x264 advanced options (string)
+#sout-x264-options=
+
+[subsdec] # Text subtitle decoder
+
+# Subtitle justification (integer)
+#subsdec-align=-1
+
+# Subtitle text encoding (string)
+#subsdec-encoding=
+
+# UTF-8 subtitle autodetection (boolean)
+#subsdec-autodetect-utf8=1
+
+[vpx] # WebM video decoder
+
+# Quality mode (integer)
+#sout-vpx-quality-mode=1000000
+
+[jpeg] # JPEG image decoder
+
+# Quality level (integer)
+#sout-jpeg-quality=95
+
+[libass] # Subtitle renderers using libass
+
+# Additional fonts directory (string)
+#ssa-fontsdir=
+
+[spudec] # DVD subtitles decoder
+
+# Disable DVD subtitle transparency (boolean)
+#dvdsub-transparency=0
+
+[ddummy] # Dummy decoder
+
+# Save raw codec data (boolean)
+#dummy-save-es=0
+
+[avcodec] # FFmpeg audio/video decoder
+
+# Direct rendering (boolean)
+#avcodec-dr=1
+
+# Show corrupted frames (boolean)
+#avcodec-corrupted=1
+
+# Error resilience (integer)
+#avcodec-error-resilience=1
+
+# Workaround bugs (integer)
+#avcodec-workaround-bugs=1
+
+# Hurry up (boolean)
+#avcodec-hurry-up=1
+
+# Skip frame (default=0) (integer)
+#avcodec-skip-frame=0
+
+# Skip idct (default=0) (integer)
+#avcodec-skip-idct=0
+
+# Allow speed tricks (boolean)
+#avcodec-fast=0
+
+# Skip the loop filter for H.264 decoding (integer)
+#avcodec-skiploopfilter=0
+
+# Debug mask (integer)
+#avcodec-debug=0
+
+# Codec name (string)
+#avcodec-codec=
+
+# Hardware decoding (string)
+#avcodec-hw=any
+
+# Threads (integer)
+#avcodec-threads=0
+
+# Advanced options (string)
+#avcodec-options=
+
+# Codec name (string)
+#sout-avcodec-codec=
+
+# Quality level (string)
+#sout-avcodec-hq=rd
+
+# Ratio of key frames (integer)
+#sout-avcodec-keyint=0
+
+# Ratio of B frames (integer)
+#sout-avcodec-bframes=0
+
+# Hurry up (boolean)
+#sout-avcodec-hurry-up=0
+
+# Interlaced encoding (boolean)
+#sout-avcodec-interlace=0
+
+# Interlaced motion estimation (boolean)
+#sout-avcodec-interlace-me=1
+
+# Video bitrate tolerance (integer)
+#sout-avcodec-vt=0
+
+# Pre-motion estimation (boolean)
+#sout-avcodec-pre-me=0
+
+# Rate control buffer size (integer)
+#sout-avcodec-rc-buffer-size=0
+
+# Rate control buffer aggressiveness (float)
+#sout-avcodec-rc-buffer-aggressivity=1.000000
+
+# I quantization factor (float)
+#sout-avcodec-i-quant-factor=0.000000
+
+# Noise reduction (integer)
+#sout-avcodec-noise-reduction=0
+
+# MPEG4 quantization matrix (boolean)
+#sout-avcodec-mpeg4-matrix=0
+
+# Minimum video quantizer scale (integer)
+#sout-avcodec-qmin=0
+
+# Maximum video quantizer scale (integer)
+#sout-avcodec-qmax=0
+
+# Trellis quantization (boolean)
+#sout-avcodec-trellis=0
+
+# Fixed quantizer scale (float)
+#sout-avcodec-qscale=3.000000
+
+# Strict standard compliance (integer)
+#sout-avcodec-strict=0
+
+# Luminance masking (float)
+#sout-avcodec-lumi-masking=0.000000
+
+# Darkness masking (float)
+#sout-avcodec-dark-masking=0.000000
+
+# Motion masking (float)
+#sout-avcodec-p-masking=0.000000
+
+# Border masking (float)
+#sout-avcodec-border-masking=0.000000
+
+# Luminance elimination (integer)
+#sout-avcodec-luma-elim-threshold=0
+
+# Chrominance elimination (integer)
+#sout-avcodec-chroma-elim-threshold=0
+
+# Specify AAC audio profile to use (string)
+#sout-avcodec-aac-profile=low
+
+# Advanced options (string)
+#sout-avcodec-options=
+
+[svgdec] # SVG video decoder
+
+# Image width (integer)
+#svg-width=-1
+
+# Image height (integer)
+#svg-height=-1
+
+# Scale factor (float)
+#svg-scale=-1.000000
+
+[dav1d] # Dav1d video decoder
+
+# Frames Threads (integer)
+#dav1d-thread-frames=0
+
+[telx] # Teletext subtitles decoder
+
+# Override page (integer)
+#telx-override-page=-1
+
+# Ignore subtitle flag (boolean)
+#telx-ignore-subtitle-flag=0
+
+# Workaround for France (boolean)
+#telx-french-workaround=0
+
+[x26410b] # H.264/MPEG-4 Part 10/AVC encoder (x264 10-bit)
+
+# Maximum GOP size (integer)
+#sout-x26410b-keyint=250
+
+# Minimum GOP size (integer)
+#sout-x26410b-min-keyint=25
+
+# Use recovery points to close GOPs (boolean)
+#sout-x26410b-opengop=0
+
+# Enable compatibility hacks for Blu-ray support (boolean)
+#sout-x26410b-bluray-compat=0
+
+# Extra I-frames aggressivity (integer)
+#sout-x26410b-scenecut=40
+
+# B-frames between I and P (integer)
+#sout-x26410b-bframes=3
+
+# Adaptive B-frame decision (integer)
+#sout-x26410b-b-adapt=1
+
+# Influence (bias) B-frames usage (integer)
+#sout-x26410b-b-bias=0
+
+# Keep some B-frames as references (string)
+#sout-x26410b-bpyramid=normal
+
+# CABAC (boolean)
+#sout-x26410b-cabac=1
+
+# Use fullrange instead of TV colorrange (boolean)
+#sout-x26410b-fullrange=0
+
+# Number of reference frames (integer)
+#sout-x26410b-ref=3
+
+# Skip loop filter (boolean)
+#sout-x26410b-nf=0
+
+# Loop filter AlphaC0 and Beta parameters alpha:beta (string)
+#sout-x26410b-deblock=0:0
+
+# Strength of psychovisual optimization, default is "1.0:0.0" (string)
+#sout-x26410b-psy-rd=1.0:0.0
+
+# Use Psy-optimizations (boolean)
+#sout-x26410b-psy=1
+
+# H.264 level (string)
+#sout-x26410b-level=0
+
+# H.264 profile (string)
+#sout-x26410b-profile=high
+
+# Interlaced mode (boolean)
+#sout-x26410b-interlaced=0
+
+# Frame packing (integer)
+#sout-x26410b-frame-packing=-1
+
+# Force number of slices per frame (integer)
+#sout-x26410b-slices=0
+
+# Limit the size of each slice in bytes (integer)
+#sout-x26410b-slice-max-size=0
+
+# Limit the size of each slice in macroblocks (integer)
+#sout-x26410b-slice-max-mbs=0
+
+# HRD-timing information (string)
+#sout-x26410b-hrd=none
+
+# Set QP (integer)
+#sout-x26410b-qp=-1
+
+# Quality-based VBR (integer)
+#sout-x26410b-crf=23
+
+# Min QP (integer)
+#sout-x26410b-qpmin=10
+
+# Max QP (integer)
+#sout-x26410b-qpmax=51
+
+# Max QP step (integer)
+#sout-x26410b-qpstep=4
+
+# Average bitrate tolerance (float)
+#sout-x26410b-ratetol=1.000000
+
+# Max local bitrate (integer)
+#sout-x26410b-vbv-maxrate=0
+
+# VBV buffer (integer)
+#sout-x26410b-vbv-bufsize=0
+
+# Initial VBV buffer occupancy (float)
+#sout-x26410b-vbv-init=0.900000
+
+# QP factor between I and P (float)
+#sout-x26410b-ipratio=1.400000
+
+# QP factor between P and B (float)
+#sout-x26410b-pbratio=1.300000
+
+# QP difference between chroma and luma (integer)
+#sout-x26410b-chroma-qp-offset=0
+
+# Multipass ratecontrol (integer)
+#sout-x26410b-pass=0
+
+# QP curve compression (float)
+#sout-x26410b-qcomp=0.600000
+
+# Reduce fluctuations in QP (float)
+#sout-x26410b-cplxblur=20.000000
+
+# Reduce fluctuations in QP (float)
+#sout-x26410b-qblur=0.500000
+
+# How AQ distributes bits (integer)
+#sout-x26410b-aq-mode=1
+
+# Strength of AQ (float)
+#sout-x26410b-aq-strength=1.000000
+
+# Partitions to consider (string)
+#sout-x26410b-partitions=normal
+
+# Direct MV prediction mode (string)
+#sout-x26410b-direct=spatial
+
+# Direct prediction size (integer)
+#sout-x26410b-direct-8x8=1
+
+# Weighted prediction for B-frames (boolean)
+#sout-x26410b-weightb=1
+
+# Weighted prediction for P-frames (integer)
+#sout-x26410b-weightp=2
+
+# Integer pixel motion estimation method (string)
+#sout-x26410b-me=hex
+
+# Maximum motion vector search range (integer)
+#sout-x26410b-merange=16
+
+# Maximum motion vector length (integer)
+#sout-x26410b-mvrange=-1
+
+# Minimum buffer space between threads (integer)
+#sout-x26410b-mvrange-thread=-1
+
+# Subpixel motion estimation and partition decision quality (integer)
+#sout-x26410b-subme=7
+
+# Decide references on a per partition basis (boolean)
+#sout-x26410b-mixed-refs=1
+
+# Chroma in motion estimation (boolean)
+#sout-x26410b-chroma-me=1
+
+# Adaptive spatial transform size (boolean)
+#sout-x26410b-8x8dct=1
+
+# Trellis RD quantization (integer)
+#sout-x26410b-trellis=1
+
+# Framecount to use on frametype lookahead (integer)
+#sout-x26410b-lookahead=40
+
+# Use Periodic Intra Refresh (boolean)
+#sout-x26410b-intra-refresh=0
+
+# Use mb-tree ratecontrol (boolean)
+#sout-x26410b-mbtree=1
+
+# Early SKIP detection on P-frames (boolean)
+#sout-x26410b-fast-pskip=1
+
+# Coefficient thresholding on P-frames (boolean)
+#sout-x26410b-dct-decimate=1
+
+# Noise reduction (integer)
+#sout-x26410b-nr=0
+
+# Inter luma quantization deadzone (integer)
+#sout-x26410b-deadzone-inter=21
+
+# Intra luma quantization deadzone (integer)
+#sout-x26410b-deadzone-intra=11
+
+# Non-deterministic optimizations when threaded (boolean)
+#sout-x26410b-non-deterministic=0
+
+# CPU optimizations (boolean)
+#sout-x26410b-asm=1
+
+# PSNR computation (boolean)
+#sout-x26410b-psnr=0
+
+# SSIM computation (boolean)
+#sout-x26410b-ssim=0
+
+# Quiet mode (boolean)
+#sout-x26410b-quiet=0
+
+# SPS and PPS id numbers (integer)
+#sout-x26410b-sps-id=0
+
+# Access unit delimiters (boolean)
+#sout-x26410b-aud=0
+
+# Statistics (boolean)
+#sout-x26410b-verbose=0
+
+# Filename for 2 pass stats file (string)
+#sout-x26410b-stats=x264_2pass.log
+
+# Default preset setting used (string)
+#sout-x26410b-preset=
+
+# Default tune setting used (string)
+#sout-x26410b-tune=
+
+# x264 advanced options (string)
+#sout-x26410b-options=
+
+[netsync] # Network synchronization
+
+# Network master clock (boolean)
+#netsync-master=0
+
+# Master server IP address (string)
+#netsync-master-ip=
+
+# UDP timeout (in ms) (integer)
+#netsync-timeout=500
+
+[motion] # motion control interface
+
+[gestures] # Mouse gestures control interface
+
+# Motion threshold (10-100) (integer)
+#gestures-threshold=30
+
+# Trigger button (string)
+#gestures-button=left
+
+[oldrc] # Remote control interface
+
+# Show stream position (boolean)
+#rc-show-pos=0
+
+# Fake TTY (boolean)
+#rc-fake-tty=0
+
+# UNIX socket command input (string)
+#rc-unix=
+
+# TCP command input (string)
+#rc-host=
+
+[vdpau_chroma] # VDPAU surface conversions
+
+# Deinterlace (integer)
+#vdpau-deinterlace=1
+
+# Inverse telecine (boolean)
+#vdpau-ivtc=0
+
+# Deinterlace chroma skip (boolean)
+#vdpau-chroma-skip=0
+
+# Noise reduction level (float)
+#vdpau-noise-reduction=0.000000
+
+# Scaling quality (integer)
+#vdpau-scaling=0
+
+[remap] # Audio channel remapper
+
+# Left (integer)
+#aout-remap-channel-left=0
+
+# Center (integer)
+#aout-remap-channel-center=1
+
+# Right (integer)
+#aout-remap-channel-right=2
+
+# Rear left (integer)
+#aout-remap-channel-rearleft=3
+
+# Rear center (integer)
+#aout-remap-channel-rearcenter=4
+
+# Rear right (integer)
+#aout-remap-channel-rearright=5
+
+# Side left (integer)
+#aout-remap-channel-middleleft=6
+
+# Side right (integer)
+#aout-remap-channel-middleright=7
+
+# Low-frequency effects (integer)
+#aout-remap-channel-lfe=8
+
+# Normalize channels (boolean)
+#aout-remap-normalize=1
+
+[spatializer] # Audio Spatializer
+
+# Room size (float)
+#spatializer-roomsize=0.850000
+
+# Room width (float)
+#spatializer-width=1.000000
+
+# Wet (float)
+#spatializer-wet=0.400000
+
+# Dry (float)
+#spatializer-dry=0.500000
+
+# Damp (float)
+#spatializer-damp=0.500000
+
+[gain] # Gain control filter
+
+# Gain multiplier (float)
+#gain-value=1.000000
+
+[mono] # Stereo to mono downmixer
+
+# Use downmix algorithm (boolean)
+#sout-mono-downmix=1
+
+# Select channel to keep (integer)
+#sout-mono-channel=-1
+
+[headphone] # Headphone virtual spatialization effect
+
+# Characteristic dimension (integer)
+#headphone-dim=10
+
+# Compensate delay (boolean)
+#headphone-compensate=0
+
+# No decoding of Dolby Surround (boolean)
+#headphone-dolby=0
+
+[speex_resampler] # Speex resampler
+
+# Resampling quality (integer)
+#speex-resampler-quality=4
+
+[param_eq] # Parametric Equalizer
+
+# Low freq (Hz) (float)
+#param-eq-lowf=100.000000
+
+# Low freq gain (dB) (float)
+#param-eq-lowgain=0.000000
+
+# High freq (Hz) (float)
+#param-eq-highf=10000.000000
+
+# High freq gain (dB) (float)
+#param-eq-highgain=0.000000
+
+# Freq 1 (Hz) (float)
+#param-eq-f1=300.000000
+
+# Freq 1 gain (dB) (float)
+#param-eq-gain1=0.000000
+
+# Freq 1 Q (float)
+#param-eq-q1=3.000000
+
+# Freq 2 (Hz) (float)
+#param-eq-f2=1000.000000
+
+# Freq 2 gain (dB) (float)
+#param-eq-gain2=0.000000
+
+# Freq 2 Q (float)
+#param-eq-q2=3.000000
+
+# Freq 3 (Hz) (float)
+#param-eq-f3=3000.000000
+
+# Freq 3 gain (dB) (float)
+#param-eq-gain3=0.000000
+
+# Freq 3 Q (float)
+#param-eq-q3=3.000000
+
+[scaletempo_pitch] # Pitch Shifter
+
+# Stride Length (integer)
+#scaletempo-stride=30
+
+# Overlap Length (float)
+#scaletempo-overlap=0.200000
+
+# Search Length (integer)
+#scaletempo-search=14
+
+# Pitch Shift (float)
+#pitch-shift=0.000000
+
+[soxr] # soxr
+
+# Resampling quality (integer)
+#soxr-resampler-quality=2
+
+[equalizer] # Equalizer with 10 bands
+
+# Equalizer preset (string)
+#equalizer-preset=flat
+
+# Bands gain (string)
+#equalizer-bands=
+
+# Two pass (boolean)
+#equalizer-2pass=0
+
+# Use VLC frequency bands (boolean)
+#equalizer-vlcfreqs=1
+
+# Global gain (float)
+#equalizer-preamp=12.000000
+
+[compressor] # Dynamic range compressor
+
+# RMS/peak (float)
+#compressor-rms-peak=0.200000
+
+# Attack time (float)
+#compressor-attack=25.000000
+
+# Release time (float)
+#compressor-release=100.000000
+
+# Threshold level (float)
+#compressor-threshold=-11.000000
+
+# Ratio (float)
+#compressor-ratio=4.000000
+
+# Knee radius (float)
+#compressor-knee=5.000000
+
+# Makeup gain (float)
+#compressor-makeup-gain=7.000000
+
+[chorus_flanger] # Sound Delay
+
+# Delay time (float)
+#delay-time=20.000000
+
+# Sweep Depth (float)
+#sweep-depth=6.000000
+
+# Sweep Rate (float)
+#sweep-rate=6.000000
+
+# Feedback gain (float)
+#feedback-gain=0.500000
+
+# Wet mix (float)
+#wet-mix=0.400000
+
+# Dry Mix (float)
+#dry-mix=0.400000
+
+[samplerate] # Secret Rabbit Code (libsamplerate) resampler
+
+# Sample rate converter type (integer)
+#src-converter-type=2
+
+[stereo_widen] # Simple stereo widening effect
+
+# Delay time (float)
+#stereowiden-delay=20.000000
+
+# Feedback gain (float)
+#stereowiden-feedback=0.300000
+
+# Crossfeed (float)
+#stereowiden-crossfeed=0.300000
+
+# Dry mix (float)
+#stereowiden-dry-mix=0.800000
+
+[audiobargraph_a] # Audio part of the BarGraph function
+
+# Defines if BarGraph information should be sent (integer)
+#audiobargraph_a-bargraph=1
+
+# Sends the barGraph information every n audio packets (integer)
+#audiobargraph_a-bargraph_repetition=4
+
+# Defines if silence alarm information should be sent (integer)
+#audiobargraph_a-silence=1
+
+# Time window to use in ms (integer)
+#audiobargraph_a-time_window=5000
+
+# Minimum Audio level to raise the alarm (float)
+#audiobargraph_a-alarm_threshold=0.020000
+
+# Time between two alarm messages in ms (integer)
+#audiobargraph_a-repetition_time=2000
+
+[scaletempo] # Audio tempo scaler synched with rate
+
+# Stride Length (integer)
+#scaletempo-stride=30
+
+# Overlap Length (float)
+#scaletempo-overlap=0.200000
+
+# Search Length (integer)
+#scaletempo-search=14
+
+[normvol] # Volume normalizer
+
+# Number of audio buffers (integer)
+#norm-buff-size=20
+
+# Maximal volume level (float)
+#norm-max-level=2.000000
+
+[visual] # Visualizer filter
+
+# Effects list (string)
+#effect-list=spectrum
+
+# Video width (integer)
+#effect-width=800
+
+# Video height (integer)
+#effect-height=500
+
+# FFT window (string)
+#effect-fft-window=flat
+
+# Kaiser window parameter (float)
+#effect-kaiser-param=3.000000
+
+# Show 80 bands instead of 20 (boolean)
+#visual-80-bands=1
+
+# Draw peaks in the analyzer (boolean)
+#visual-peaks=1
+
+# Enable original graphic spectrum (boolean)
+#spect-show-original=0
+
+# Draw the base of the bands (boolean)
+#spect-show-base=1
+
+# Base pixel radius (integer)
+#spect-radius=42
+
+# Spectral sections (integer)
+#spect-sections=3
+
+# V-plane color (integer)
+#spect-color=80
+
+# Draw bands in the spectrometer (boolean)
+#spect-show-bands=1
+
+# Show 80 bands instead of 20 (boolean)
+#spect-80-bands=1
+
+# Number of blank pixels between bands. (integer)
+#spect-separ=1
+
+# Amplification (integer)
+#spect-amp=8
+
+# Draw peaks in the analyzer (boolean)
+#spect-show-peaks=1
+
+# Peak extra width (integer)
+#spect-peak-width=61
+
+# Peak height (integer)
+#spect-peak-height=1
+
+[glspectrum] # 3D OpenGL spectrum visualization
+
+# Video width (integer)
+#glspectrum-width=400
+
+# Video height (integer)
+#glspectrum-height=300
+
+[mpegvideo] # MPEG-I/II video packetizer
+
+# Sync on Intra Frame (boolean)
+#packetizer-mpegvideo-sync-iframe=0
+
+[mux_ts] # TS muxer (libdvbpsi)
+
+# Digital TV Standard (string)
+#sout-ts-standard=dvb
+
+# Video PID (integer)
+#sout-ts-pid-video=100
+
+# Audio PID (integer)
+#sout-ts-pid-audio=200
+
+# SPU PID (integer)
+#sout-ts-pid-spu=300
+
+# PMT PID (integer)
+#sout-ts-pid-pmt=32
+
+# TS ID (integer)
+#sout-ts-tsid=0
+
+# NET ID (integer)
+#sout-ts-netid=0
+
+# PMT Program numbers (string)
+#sout-ts-program-pmt=
+
+# Set PID to ID of ES (boolean)
+#sout-ts-es-id-pid=0
+
+# Mux PMT (requires --sout-ts-es-id-pid) (string)
+#sout-ts-muxpmt=
+
+# SDT Descriptors (requires --sout-ts-es-id-pid) (string)
+#sout-ts-sdtdesc=
+
+# Data alignment (boolean)
+#sout-ts-alignment=1
+
+# Shaping delay (ms) (integer)
+#sout-ts-shaping=200
+
+# Use keyframes (boolean)
+#sout-ts-use-key-frames=0
+
+# PCR interval (ms) (integer)
+#sout-ts-pcr=70
+
+# Minimum B (deprecated) (integer)
+#sout-ts-bmin=0
+
+# Maximum B (deprecated) (integer)
+#sout-ts-bmax=0
+
+# DTS delay (ms) (integer)
+#sout-ts-dts-delay=400
+
+# Crypt audio (boolean)
+#sout-ts-crypt-audio=1
+
+# Crypt video (boolean)
+#sout-ts-crypt-video=1
+
+# CSA Key (string)
+#sout-ts-csa-ck=
+
+# Second CSA Key (string)
+#sout-ts-csa2-ck=
+
+# CSA Key in use (string)
+#sout-ts-csa-use=1
+
+# Packet size in bytes to encrypt (integer)
+#sout-ts-csa-pkt=188
+
+[ps] # PS muxer
+
+# DTS delay (ms) (integer)
+#sout-ps-dts-delay=200
+
+# PES maximum size (integer)
+#sout-ps-pes-max-size=65500
+
+[mp4] # MP4/MOV muxer
+
+# Create "Fast Start" files (boolean)
+#sout-mp4-faststart=1
+
+[asf] # ASF muxer
+
+# Title (string)
+#sout-asf-title=
+
+# Author (string)
+#sout-asf-author=
+
+# Copyright (string)
+#sout-asf-copyright=
+
+# Comment (string)
+#sout-asf-comment=
+
+# Rating (string)
+#sout-asf-rating=
+
+# Packet Size (integer)
+#sout-asf-packet-size=4096
+
+# Bitrate override (integer)
+#sout-asf-bitrate-override=0
+
+[avi] # AVI muxer
+
+# Artist (string)
+#sout-avi-artist=
+
+# Date (string)
+#sout-avi-date=
+
+# Genre (string)
+#sout-avi-genre=
+
+# Copyright (string)
+#sout-avi-copyright=
+
+# Comment (string)
+#sout-avi-comment=
+
+# Name (string)
+#sout-avi-name=
+
+# Subject (string)
+#sout-avi-subject=
+
+# Encoder (string)
+#sout-avi-encoder=VLC Media Player - 3.0.18 Vetinari
+
+# Keywords (string)
+#sout-avi-keywords=
+
+[mux_ogg] # Ogg/OGM muxer
+
+# Index interval (integer)
+#sout-ogg-indexintvl=1000
+
+# Index size ratio (float)
+#sout-ogg-indexratio=1.000000
+
+[prefetch] # Stream prefetch filter
+
+# Buffer size (integer)
+#prefetch-buffer-size=16384
+
+# Read size (integer)
+#prefetch-read-size=16777216
+
+# Seek threshold (integer)
+#prefetch-seek-threshold=16384
+
+[alsa] # ALSA audio output
+
+# Audio output device (string)
+#alsa-audio-device=default
+
+# Audio output channels (integer)
+#alsa-audio-channels=6
+
+# Software gain (float)
+#alsa-gain=1.000000
+
+[amem] # Audio memory output
+
+# Sample format (string)
+#amem-format=S16N
+
+# Sample rate (integer)
+#amem-rate=44100
+
+# Channels count (integer)
+#amem-channels=2
+
+[jack] # JACK audio output
+
+# Automatically connect to writable clients (boolean)
+#jack-auto-connect=1
+
+# Connect to clients matching (string)
+#jack-connect-regex=system
+
+# JACK client name (string)
+#jack-name=
+
+# Software gain (float)
+#jack-gain=1.000000
+
+[afile] # File audio output
+
+# Output file (string)
+#audiofile-file=audiofile.wav
+
+# Output format (string)
+#audiofile-format=s16
+
+# Number of output channels (integer)
+#audiofile-channels=0
+
+# Add WAVE header (boolean)
+#audiofile-wav=1
+
+[logo] # Logo sub source
+
+# Logo filenames (string)
+#logo-file=
+
+# X coordinate (integer)
+#logo-x=-1
+
+# Y coordinate (integer)
+#logo-y=-1
+
+# Logo individual image time in ms (integer)
+#logo-delay=1000
+
+# Logo animation # of loops (integer)
+#logo-repeat=-1
+
+# Opacity of the logo (integer)
+#logo-opacity=255
+
+# Logo position (integer)
+#logo-position=-1
+
+[audiobargraph_v] # Audio Bar Graph Video sub source
+
+# X coordinate (integer)
+#audiobargraph_v-x=0
+
+# Y coordinate (integer)
+#audiobargraph_v-y=0
+
+# Transparency of the bargraph (integer)
+#audiobargraph_v-transparency=255
+
+# Bargraph position (integer)
+#audiobargraph_v-position=-1
+
+# Bar width in pixel (integer)
+#audiobargraph_v-barWidth=10
+
+# Bar Height in pixel (integer)
+#audiobargraph_v-barHeight=400
+
+[mosaic] # Mosaic video sub source
+
+# Transparency (integer)
+#mosaic-alpha=255
+
+# Height (integer)
+#mosaic-height=100
+
+# Width (integer)
+#mosaic-width=100
+
+# Mosaic alignment (integer)
+#mosaic-align=5
+
+# Top left corner X coordinate (integer)
+#mosaic-xoffset=0
+
+# Top left corner Y coordinate (integer)
+#mosaic-yoffset=0
+
+# Border width (integer)
+#mosaic-borderw=0
+
+# Border height (integer)
+#mosaic-borderh=0
+
+# Positioning method (integer)
+#mosaic-position=0
+
+# Number of rows (integer)
+#mosaic-rows=2
+
+# Number of columns (integer)
+#mosaic-cols=2
+
+# Keep aspect ratio (boolean)
+#mosaic-keep-aspect-ratio=0
+
+# Keep original size (boolean)
+#mosaic-keep-picture=0
+
+# Elements order (string)
+#mosaic-order=
+
+# Offsets in order (string)
+#mosaic-offsets=
+
+# Delay (integer)
+#mosaic-delay=0
+
+[rss] # RSS and Atom feed display
+
+# Feed URLs (string)
+#rss-urls=
+
+# X offset (integer)
+#rss-x=0
+
+# Y offset (integer)
+#rss-y=0
+
+# Text position (integer)
+#rss-position=-1
+
+# Opacity (integer)
+#rss-opacity=255
+
+# Color (integer)
+#rss-color=16777215
+
+# Font size, pixels (integer)
+#rss-size=0
+
+# Speed of feeds (integer)
+#rss-speed=100000
+
+# Max length (integer)
+#rss-length=60
+
+# Refresh time (integer)
+#rss-ttl=1800
+
+# Feed images (boolean)
+#rss-images=1
+
+# Title display mode (integer)
+#rss-title=-1
+
+[marq] # Marquee display
+
+# Text (string)
+#marq-marquee=VLC
+
+# Text file (string)
+#marq-file=
+
+# X offset (integer)
+#marq-x=0
+
+# Y offset (integer)
+#marq-y=0
+
+# Marquee position (integer)
+#marq-position=-1
+
+# Opacity (integer)
+#marq-opacity=255
+
+# Color (integer)
+#marq-color=16777215
+
+# Font size, pixels (integer)
+#marq-size=0
+
+# Timeout (integer)
+#marq-timeout=0
+
+# Refresh period in ms (integer)
+#marq-refresh=1000
+
+[subsdelay] # Subtitle delay
+
+# Delay calculation mode (integer)
+#subsdelay-mode=1
+
+# Calculation factor (float)
+#subsdelay-factor=2.000000
+
+# Maximum overlapping subtitles (integer)
+#subsdelay-overlap=3
+
+# Minimum alpha value (integer)
+#subsdelay-min-alpha=70
+
+# Interval between two disappearances (integer)
+#subsdelay-min-stops=1000
+
+# Interval between appearance and disappearance (integer)
+#subsdelay-min-start-stop=1000
+
+# Interval between disappearance and appearance (integer)
+#subsdelay-min-stop-start=1000
+
+[dynamicoverlay] # Dynamic video overlay
+
+# Input FIFO (string)
+#overlay-input=
+
+# Output FIFO (string)
+#overlay-output=
+
+[console] # Console logger
+
+[syslog] # System logger (syslog)
+
+# System log (syslog) (boolean)
+#syslog=0
+
+# Debug messages (boolean)
+#syslog-debug=0
+
+# Identity (string)
+#syslog-ident=vlc
+
+# Facility (string)
+#syslog-facility=user
+
+[file] # File logger
+
+# Log to file (boolean)
+#file-logging=0
+
+# Log filename (string)
+#logfile=
+
+# Log format (string)
+#logmode=text
+
+# Verbosity (integer)
+#log-verbose=-1
+
+[udp] # UDP stream output
+
+# Caching value (ms) (integer)
+#sout-udp-caching=300
+
+# Group packets (integer)
+#sout-udp-group=1
+
+[file] # File stream output
+
+# Overwrite existing file (boolean)
+#sout-file-overwrite=1
+
+# Append to file (boolean)
+#sout-file-append=0
+
+# Format time and date (boolean)
+#sout-file-format=0
+
+# Synchronous writing (boolean)
+#sout-file-sync=0
+
+[access_output_shout] # IceCAST output
+
+# Stream name (string)
+#sout-shout-name=VLC media player - Live stream
+
+# Stream description (string)
+#sout-shout-description=Live stream from VLC media player
+
+# Stream MP3 (boolean)
+#sout-shout-mp3=0
+
+# Genre description (string)
+#sout-shout-genre=Alternative
+
+# URL description (string)
+#sout-shout-url=http://www.videolan.org/vlc
+
+# Bitrate (string)
+#sout-shout-bitrate=
+
+# Samplerate (string)
+#sout-shout-samplerate=
+
+# Number of channels (string)
+#sout-shout-channels=
+
+# Ogg Vorbis Quality (string)
+#sout-shout-quality=
+
+# Stream public (boolean)
+#sout-shout-public=0
+
+[http] # HTTP stream output
+
+# Username (string)
+#sout-http-user=
+
+# Password (string)
+#sout-http-pwd=
+
+# Mime (string)
+#sout-http-mime=
+
+# Metacube (boolean)
+#sout-http-metacube=0
+
+[access_output_rist] # RIST stream output
+
+# RIST target packet size (bytes) (integer)
+#sout-rist-packet-size=1328
+
+# RIST data output caching size (ms) (integer)
+#sout-rist-caching=50
+
+# RIST retry-buffer queue size (ms) (integer)
+#sout-rist-buffer-size=0
+
+# SSRC used in RTP output (default is random, i.e. 0) (integer)
+#sout-rist-ssrc=0
+
+# Stream name (string)
+#sout-rist-stream-name=
+
+[access_output_srt] # SRT stream output
+
+# Return poll wait after timeout milliseconds (-1 = infinite) (integer)
+#poll-timeout=-1
+
+# SRT latency (ms) (integer)
+#latency=120
+
+# Password for stream encryption (string)
+#passphrase=
+
+# SRT maximum payload size (bytes) (integer)
+#payload-size=1316
+
+# SRT maximum bandwidth ceiling (bytes) (integer)
+#bandwidth-overhead-limit=25
+
+# Crypto key length in bytes (integer)
+#key-length=16
+
+# SRT Stream ID (string)
+#streamid=
+
+[folder] # Folder meta data
+
+# Album art filename (string)
+#album-art-filename=
+
+[swscale] # Video scaling filter
+
+# Scaling mode (integer)
+#swscale-mode=2
+
+[lua] # Lua interpreter
+
+# Lua interface (string)
+#lua-intf=dummy
+
+# Lua interface configuration (string)
+#lua-config=
+
+# Password (string)
+#http-password=
+
+# Source directory (string)
+#http-src=
+
+# Directory index (boolean)
+#http-index=0
+
+# TCP command input (string)
+#rc-host=
+
+# CLI input (string)
+#cli-host=
+
+# Host (string)
+#telnet-host=localhost
+
+# Port (integer)
+#telnet-port=4212
+
+# Password (string)
+#telnet-password=
+
+[dtv] # Digital Television and Radio
+
+# DVB adapter (integer)
+#dvb-adapter=0
+
+# DVB device (integer)
+#dvb-device=0
+
+# Do not demultiplex (boolean)
+#dvb-budget-mode=0
+
+# Frequency (Hz) (integer)
+#dvb-frequency=0
+
+# Spectrum inversion (integer)
+#dvb-inversion=-1
+
+# Bandwidth (MHz) (integer)
+#dvb-bandwidth=0
+
+# Transmission mode (integer)
+#dvb-transmission=0
+
+# Guard interval (string)
+#dvb-guard=
+
+# High-priority code rate (string)
+#dvb-code-rate-hp=
+
+# Low-priority code rate (string)
+#dvb-code-rate-lp=
+
+# Hierarchy mode (integer)
+#dvb-hierarchy=-1
+
+# DVB-T2 Physical Layer Pipe (integer)
+#dvb-plp-id=0
+
+# Layer A modulation (string)
+#dvb-a-modulation=
+
+# Layer A code rate (string)
+#dvb-a-fec=
+
+# Layer A segments count (integer)
+#dvb-a-count=0
+
+# Layer A time interleaving (integer)
+#dvb-a-interleaving=0
+
+# Layer B modulation (string)
+#dvb-b-modulation=
+
+# Layer B code rate (string)
+#dvb-b-fec=
+
+# Layer B segments count (integer)
+#dvb-b-count=0
+
+# Layer B time interleaving (integer)
+#dvb-b-interleaving=0
+
+# Layer C modulation (string)
+#dvb-c-modulation=
+
+# Layer C code rate (string)
+#dvb-c-fec=
+
+# Layer C segments count (integer)
+#dvb-c-count=0
+
+# Layer C time interleaving (integer)
+#dvb-c-interleaving=0
+
+# Modulation / Constellation (string)
+#dvb-modulation=
+
+# Symbol rate (bauds) (integer)
+#dvb-srate=0
+
+# FEC code rate (string)
+#dvb-fec=
+
+# Stream identifier (integer)
+#dvb-stream=0
+
+# Pilot (integer)
+#dvb-pilot=-1
+
+# Roll-off factor (integer)
+#dvb-rolloff=-1
+
+# Transport stream ID (integer)
+#dvb-ts-id=0
+
+# Polarization (Voltage) (string)
+#dvb-polarization=
+
+# (integer)
+#dvb-voltage=13
+
+# High LNB voltage (boolean)
+#dvb-high-voltage=0
+
+# Local oscillator low frequency (kHz) (integer)
+#dvb-lnb-low=0
+
+# Local oscillator high frequency (kHz) (integer)
+#dvb-lnb-high=0
+
+# Universal LNB switch frequency (kHz) (integer)
+#dvb-lnb-switch=11700000
+
+# DiSEqC LNB number (integer)
+#dvb-satno=0
+
+# Uncommitted DiSEqC LNB number (integer)
+#dvb-uncommitted=0
+
+# Continuous 22kHz tone (integer)
+#dvb-tone=-1
+
+[sftp] # SFTP input
+
+# SFTP port (integer)
+#sftp-port=22
+
+# Username (string)
+#sftp-user=
+
+# Password (string)
+#sftp-pwd=
+
+[timecode] # Time code subpicture elementary stream generator
+
+# Frame rate (string)
+#timecode-fps=25/1
+
+[dvdnav] # DVDnav Input
+
+# DVD angle (integer)
+#dvdnav-angle=1
+
+# Start directly in menu (boolean)
+#dvdnav-menu=1
+
+[avio] # libavformat AVIO access
+
+# Advanced options (string)
+#avio-options=
+
+# Advanced options (string)
+#sout-avio-options=
+
+[rist] # RIST input
+
+# RIST maximum packet size (bytes) (integer)
+#packet-size=1472
+
+# RIST demux/decode maximum jitter (default is 5ms) (integer)
+#maximum-jitter=5
+
+# RIST latency (ms) (integer)
+#latency=1000
+
+# RIST nack retry interval (ms) (integer)
+#retry-interval=132
+
+# RIST reorder buffer (ms) (integer)
+#reorder-buffer=70
+
+# RIST maximum retry count (integer)
+#max-retries=10
+
+# RIST nack type, 0 = range, 1 = bitmask. Default is range (integer)
+#nack-type=0
+
+# Disable NACK output packets (boolean)
+#disable-nacks=0
+
+# Do not check for a valid rtcp message from the encoder (boolean)
+#mcast-blind-nacks=0
+
+[access] # HTTPS input
+
+# Cookies forwarding (boolean)
+#http-forward-cookies=1
+
+# User agent (string)
+#http-user-agent=
+
+[dvb] # DVB input with v4l2 support
+
+# Probe DVB card for capabilities (boolean)
+#dvb-probe=1
+
+# Satellite scanning config (string)
+#dvb-satellite=
+
+# Scan tuning list (string)
+#dvb-scanlist=
+
+# Use NIT for scanning services (boolean)
+#dvb-scan-nit=1
+
+[dvdread] # DVDRead Input (no menu support)
+
+# DVD angle (integer)
+#dvdread-angle=1
+
+[linsys_sdi] # SDI Input
+
+# Link # (integer)
+#linsys-sdi-link=0
+
+# Video ID (integer)
+#linsys-sdi-id-video=0
+
+# Aspect ratio (string)
+#linsys-sdi-aspect-ratio=
+
+# Audio configuration (string)
+#linsys-sdi-audio=0=1,1
+
+# Teletext configuration (string)
+#linsys-sdi-telx=
+
+# Teletext language (string)
+#linsys-sdi-telx-lang=
+
+[linsys_hdsdi] # HD-SDI Input
+
+# Link # (integer)
+#linsys-hdsdi-link=0
+
+# Video ID (integer)
+#linsys-hdsdi-id-video=0
+
+# Aspect ratio (string)
+#linsys-hdsdi-aspect-ratio=
+
+# Audio configuration (string)
+#linsys-hdsdi-audio=0=1,1
+
+[cdda] # Audio CD input
+
+# Audio CD device (string)
+#cd-audio=/dev/sr0
+
+# Musicbrainz Server (string)
+#musicbrainz-server=musicbrainz.org
+
+[access_jack] # JACK audio input
+
+# Pace (boolean)
+#jack-input-use-vlc-pace=0
+
+# Auto connection (boolean)
+#jack-input-auto-connect=0
+
+[concat] # Concatenated inputs
+
+# Inputs list (string)
+#concat-list=
+
+[rtp] # Real-Time Protocol (RTP) input
+
+# RTCP (local) port (integer)
+#rtcp-port=0
+
+# Maximum RTP sources (integer)
+#rtp-max-src=1
+
+# RTP source timeout (sec) (integer)
+#rtp-timeout=5
+
+# Maximum RTP sequence number dropout (integer)
+#rtp-max-dropout=3000
+
+# Maximum RTP sequence number misordering (integer)
+#rtp-max-misorder=100
+
+# RTP payload format assumed for dynamic payloads (string)
+#rtp-dynamic-pt=
+
+[ftp] # FTP input
+
+# Username (string)
+#ftp-user=
+
+# Password (string)
+#ftp-pwd=
+
+# FTP account (string)
+#ftp-account=anonymous
+
+[satip] # SAT>IP Receiver Plugin
+
+# Receive buffer (integer)
+#satip-buffer=4194304
+
+# Request multicast stream (boolean)
+#satip-multicast=0
+
+# Host (string)
+#satip-host=
+
+[xcb_screen] # Screen capture (with X11/XCB)
+
+# Frame rate (float)
+#screen-fps=2.000000
+
+# Region left column (integer)
+#screen-left=0
+
+# Region top row (integer)
+#screen-top=0
+
+# Capture region width (integer)
+#screen-width=0
+
+# Capture region height (integer)
+#screen-height=0
+
+# Follow the mouse (boolean)
+#screen-follow-mouse=0
+
+[filesystem] # File input
+
+# List special files (boolean)
+#list-special-files=0
+
+[udp] # UDP input
+
+# UDP Source timeout (sec) (integer)
+#udp-timeout=-1
+
+[access_alsa] # ALSA audio capture
+
+# Stereo (boolean)
+#alsa-stereo=1
+
+# Sample rate (integer)
+#alsa-samplerate=48000
+
+[vdr] # VDR recordings
+
+# Chapter offset in ms (integer)
+#vdr-chapter-offset=0
+
+# Frame rate (float)
+#vdr-fps=25.000000
+
+[v4l2] # Video4Linux input
+
+# Video capture device (string)
+#v4l2-dev=/dev/video0
+
+# VBI capture device (string)
+#v4l2-vbidev=
+
+# Standard (string)
+#v4l2-standard=
+
+# Video input chroma format (string)
+#v4l2-chroma=
+
+# Input (integer)
+#v4l2-input=0
+
+# Audio input (integer)
+#v4l2-audio-input=-1
+
+# Width (integer)
+#v4l2-width=0
+
+# Height (integer)
+#v4l2-height=0
+
+# Picture aspect-ratio n:m (string)
+#v4l2-aspect-ratio=4:3
+
+# Frame rate (string)
+#v4l2-fps=60
+
+# Radio device (string)
+#v4l2-radio-dev=/dev/radio0
+
+# Frequency (integer)
+#v4l2-tuner-frequency=-1
+
+# Audio mode (integer)
+#v4l2-tuner-audio-mode=3
+
+# Reset controls (boolean)
+#v4l2-controls-reset=0
+
+# Brightness (integer)
+#v4l2-brightness=-1
+
+# Automatic brightness (integer)
+#v4l2-brightness-auto=-1
+
+# Contrast (integer)
+#v4l2-contrast=-1
+
+# Saturation (integer)
+#v4l2-saturation=-1
+
+# Hue (integer)
+#v4l2-hue=-1
+
+# Automatic hue (integer)
+#v4l2-hue-auto=-1
+
+# White balance temperature (K) (integer)
+#v4l2-white-balance-temperature=-1
+
+# Automatic white balance (integer)
+#v4l2-auto-white-balance=-1
+
+# Red balance (integer)
+#v4l2-red-balance=-1
+
+# Blue balance (integer)
+#v4l2-blue-balance=-1
+
+# Gamma (integer)
+#v4l2-gamma=-1
+
+# Automatic gain (integer)
+#v4l2-autogain=-1
+
+# Gain (integer)
+#v4l2-gain=-1
+
+# Sharpness (integer)
+#v4l2-sharpness=-1
+
+# Chroma gain (integer)
+#v4l2-chroma-gain=-1
+
+# Automatic chroma gain (integer)
+#v4l2-chroma-gain-auto=-1
+
+# Power line frequency (integer)
+#v4l2-power-line-frequency=-1
+
+# Backlight compensation (integer)
+#v4l2-backlight-compensation=-1
+
+# Band-stop filter (integer)
+#v4l2-band-stop-filter=-1
+
+# Horizontal flip (boolean)
+#v4l2-hflip=0
+
+# Vertical flip (boolean)
+#v4l2-vflip=0
+
+# Rotate (degrees) (integer)
+#v4l2-rotate=-1
+
+# Color killer (integer)
+#v4l2-color-killer=-1
+
+# Color effect (integer)
+#v4l2-color-effect=-1
+
+# Audio volume (integer)
+#v4l2-audio-volume=-1
+
+# Audio balance (integer)
+#v4l2-audio-balance=-1
+
+# Mute (boolean)
+#v4l2-audio-mute=0
+
+# Bass level (integer)
+#v4l2-audio-bass=-1
+
+# Treble level (integer)
+#v4l2-audio-treble=-1
+
+# Loudness mode (boolean)
+#v4l2-audio-loudness=0
+
+# v4l2 driver controls (string)
+#v4l2-set-ctrls=
+
+[access_srt] # SRT input
+
+# Return poll wait after timeout milliseconds (-1 = infinite) (integer)
+#poll-timeout=-1
+
+# SRT latency (ms) (integer)
+#latency=120
+
+# Password for stream encryption (string)
+#passphrase=
+
+# Crypto key length in bytes (integer)
+#key-length=16
+
+# SRT Stream ID (string)
+#streamid=
+
+[shm] # Shared memory framebuffer
+
+# Frame rate (float)
+#shm-fps=10.000000
+
+# Frame buffer depth (integer)
+#shm-depth=0
+
+# Frame buffer width (integer)
+#shm-width=800
+
+# Frame buffer height (integer)
+#shm-height=480
+
+[http] # HTTP input
+
+# Auto re-connect (boolean)
+#http-reconnect=0
+
+[access_mms] # Microsoft Media Server (MMS) input
+
+# TCP/UDP timeout (ms) (integer)
+#mms-timeout=5000
+
+# Force selection of all streams (boolean)
+#mms-all=0
+
+# Maximum bitrate (integer)
+#mms-maxbitrate=0
+
+[imem] # Memory input
+
+# ID (integer)
+#imem-id=-1
+
+# Group (integer)
+#imem-group=0
+
+# Category (integer)
+#imem-cat=0
+
+# Codec (string)
+#imem-codec=
+
+# Language (string)
+#imem-language=
+
+# Sample rate (integer)
+#imem-samplerate=0
+
+# Channels count (integer)
+#imem-channels=0
+
+# Width (integer)
+#imem-width=0
+
+# Height (integer)
+#imem-height=0
+
+# Display aspect ratio (string)
+#imem-dar=
+
+# Frame rate (string)
+#imem-fps=
+
+# Size (integer)
+#imem-size=0
+
+[libbluray] # Blu-ray Disc support (libbluray)
+
+# Blu-ray menus (boolean)
+#bluray-menu=1
+
+# Region code (string)
+#bluray-region=B
+
+[upnp] # Universal Plug'n'Play
+
+# SAT>IP channel list (string)
+#satip-channelist=auto
+
+# Custom SAT>IP channel list URL (string)
+#satip-channellist-url=
+
+[sap] # Network streams (SAP)
+
+# SAP multicast address (string)
+#sap-addr=
+
+# SAP timeout (seconds) (integer)
+#sap-timeout=1800
+
+# Try to parse the announce (boolean)
+#sap-parse=1
+
+# SAP Strict mode (boolean)
+#sap-strict=0
+
+[podcast] # Podcasts
+
+# Podcast URLs list (string)
+#podcast-urls=
+
+[qt] # Qt interface
+
+# Start in minimal view (without menus) (boolean)
+#qt-minimal-view=0
+
+# Systray icon (boolean)
+#qt-system-tray=1
+
+# Show notification popup on track change (integer)
+#qt-notification=1
+
+# Start VLC with only a systray icon (boolean)
+#qt-start-minimized=0
+
+# Pause the video playback when minimized (boolean)
+#qt-pause-minimized=0
+
+# Windows opacity between 0.1 and 1 (float)
+#qt-opacity=1.000000
+
+# Fullscreen controller opacity between 0.1 and 1 (float)
+#qt-fs-opacity=0.800000
+
+# Resize interface to the native video size (boolean)
+#qt-video-autoresize=1
+
+# Show playing item name in window title (boolean)
+#qt-name-in-title=1
+
+# Show a controller in fullscreen mode (boolean)
+#qt-fs-controller=1
+
+# Save the recently played items in the menu (boolean)
+#qt-recentplay=1
+
+# List of words separated by | to filter (string)
+#qt-recentplay-filter=
+
+# Continue playback? (integer)
+#qt-continue=1
+
+# Embed the file browser in open dialog (boolean)
+#qt-embedded-open=0
+
+# Show advanced preferences over simple ones (boolean)
+#qt-advanced-pref=0
+
+# Show unimportant error and warnings dialogs (boolean)
+#qt-error-dialogs=1
+
+# Define the colors of the volume slider (string)
+#qt-slider-colours=153;210;153;20;210;20;255;199;15;245;39;29
+
+# Ask for network policy at start (boolean)
+qt-privacy-ask=0
+
+# Define which screen fullscreen goes (integer)
+#qt-fullscreen-screennumber=-1
+
+# Load extensions on startup (boolean)
+#qt-autoload-extensions=1
+
+# Display background cone or art (boolean)
+#qt-bgcone=1
+
+# Expanding background cone or art (boolean)
+#qt-bgcone-expands=0
+
+# Allow automatic icon changes (boolean)
+#qt-icon-change=1
+
+# Maximum Volume displayed (integer)
+#qt-max-volume=125
+
+# Fullscreen controller mouse sensitivity (integer)
+#qt-fs-sensitivity=3
+
+# When to raise the interface (integer)
+#qt-auto-raise=1
+
+[skins2] # Skinnable Interface
+
+# Skin to use (string)
+#skins2-last=
+
+# Config of last used skin (string)
+#skins2-config=
+
+# Enable transparency effects (boolean)
+#skins2-transparency=0
+
+# Use a skinned playlist (boolean)
+#skinned-playlist=1
+
+# Display video in a skinned window if any (boolean)
+#skinned-video=1
+
+[ncurses] # Ncurses interface
+
+# Filebrowser starting point (string)
+#browse-dir=
+
+[svg] # svg
+
+# SVG template file (string)
+#svg-template-file=
+
+[freetype] # Freetype2 font renderer
+
+# Font (string)
+#freetype-font=Serif Bold
+
+# Monospace Font (string)
+#freetype-monofont=Monospace
+
+# Font size in pixels (integer)
+#freetype-fontsize=0
+
+# Relative font size (integer)
+#freetype-rel-fontsize=0
+
+# Text opacity (integer)
+#freetype-opacity=255
+
+# Text default color (integer)
+#freetype-color=16777215
+
+# Force bold (boolean)
+#freetype-bold=0
+
+# Background opacity (integer)
+#freetype-background-opacity=0
+
+# Background color (integer)
+#freetype-background-color=0
+
+# Outline opacity (integer)
+#freetype-outline-opacity=255
+
+# Outline color (integer)
+#freetype-outline-color=0
+
+# Outline thickness (integer)
+#freetype-outline-thickness=4
+
+# Shadow opacity (integer)
+#freetype-shadow-opacity=128
+
+# Shadow color (integer)
+#freetype-shadow-color=0
+
+# Shadow angle (float)
+#freetype-shadow-angle=-45.000000
+
+# Shadow distance (float)
+#freetype-shadow-distance=0.060000
+
+# Use YUVP renderer (boolean)
+#freetype-yuvp=0
+
+# Text direction (integer)
+#freetype-text-direction=0
+
+[record] # Record stream output
+
+# Destination prefix (string)
+#sout-record-dst-prefix=
+
+[stream_out_rtp] # RTP stream output
+
+# Destination (string)
+#sout-rtp-dst=
+
+# SDP (string)
+#sout-rtp-sdp=
+
+# Muxer (string)
+#sout-rtp-mux=
+
+# SAP announcing (boolean)
+#sout-rtp-sap=0
+
+# Session name (string)
+#sout-rtp-name=
+
+# Session category (string)
+#sout-rtp-cat=
+
+# Session description (string)
+#sout-rtp-description=
+
+# Session URL (string)
+#sout-rtp-url=
+
+# Session email (string)
+#sout-rtp-email=
+
+# Transport protocol (string)
+#sout-rtp-proto=udp
+
+# Port (integer)
+#sout-rtp-port=5004
+
+# Audio port (integer)
+#sout-rtp-port-audio=0
+
+# Video port (integer)
+#sout-rtp-port-video=0
+
+# Hop limit (TTL) (integer)
+#sout-rtp-ttl=-1
+
+# RTP/RTCP multiplexing (boolean)
+#sout-rtp-rtcp-mux=0
+
+# Caching value (ms) (integer)
+#sout-rtp-caching=300
+
+# MP4A LATM (boolean)
+#sout-rtp-mp4a-latm=0
+
+# RTSP session timeout (s) (integer)
+#rtsp-timeout=60
+
+# Username (string)
+#sout-rtsp-user=
+
+# Password (string)
+#sout-rtsp-pwd=
+
+[display] # Display stream output
+
+# Enable audio (boolean)
+#sout-display-audio=1
+
+# Enable video (boolean)
+#sout-display-video=1
+
+# Delay (ms) (integer)
+#sout-display-delay=100
+
+[smem] # Stream output to memory buffer
+
+# Time Synchronized output (boolean)
+#sout-smem-time-sync=1
+
+[delay] # Delay a stream
+
+# Elementary Stream ID (integer)
+#sout-delay-id=0
+
+# Delay of the ES (ms) (integer)
+#sout-delay-delay=0
+
+[stream_out_transcode] # Transcode stream output
+
+# Video encoder (string)
+#sout-transcode-venc=
+
+# Destination video codec (string)
+#sout-transcode-vcodec=
+
+# Video bitrate (integer)
+#sout-transcode-vb=0
+
+# Video scaling (float)
+#sout-transcode-scale=0.000000
+
+# Video frame-rate (string)
+#sout-transcode-fps=
+
+# Deinterlace video (boolean)
+#sout-transcode-deinterlace=0
+
+# Deinterlace module (string)
+#sout-transcode-deinterlace-module=deinterlace
+
+# Video width (integer)
+#sout-transcode-width=0
+
+# Video height (integer)
+#sout-transcode-height=0
+
+# Maximum video width (integer)
+#sout-transcode-maxwidth=0
+
+# Maximum video height (integer)
+#sout-transcode-maxheight=0
+
+# Video filter (string)
+#sout-transcode-vfilter=
+
+# Audio encoder (string)
+#sout-transcode-aenc=
+
+# Destination audio codec (string)
+#sout-transcode-acodec=
+
+# Audio bitrate (integer)
+#sout-transcode-ab=96
+
+# Audio language (string)
+#sout-transcode-alang=
+
+# Audio channels (integer)
+#sout-transcode-channels=0
+
+# Audio sample rate (integer)
+#sout-transcode-samplerate=0
+
+# Audio filter (string)
+#sout-transcode-afilter=
+
+# Subtitle encoder (string)
+#sout-transcode-senc=
+
+# Destination subtitle codec (string)
+#sout-transcode-scodec=
+
+# Destination subtitle codec (boolean)
+#sout-transcode-soverlay=0
+
+# Overlays (string)
+#sout-transcode-sfilter=
+
+# Number of threads (integer)
+#sout-transcode-threads=0
+
+# Picture pool size (integer)
+#sout-transcode-pool-size=10
+
+# High priority (boolean)
+#sout-transcode-high-priority=0
+
+[stats] # Writes statistic info about stream
+
+# Output file (string)
+#sout-stats-output=
+
+# Prefix to show on output line (string)
+#sout-stats-prefix=stats
+
+[mosaic_bridge] # Mosaic bridge stream output
+
+# ID (string)
+#sout-mosaic-bridge-id=Id
+
+# Video width (integer)
+#sout-mosaic-bridge-width=0
+
+# Video height (integer)
+#sout-mosaic-bridge-height=0
+
+# Sample aspect ratio (string)
+#sout-mosaic-bridge-sar=1:1
+
+# Image chroma (string)
+#sout-mosaic-bridge-chroma=
+
+# Video filter (string)
+#sout-mosaic-bridge-vfilter=
+
+# Transparency (integer)
+#sout-mosaic-bridge-alpha=255
+
+# X offset (integer)
+#sout-mosaic-bridge-x=-1
+
+# Y offset (integer)
+#sout-mosaic-bridge-y=-1
+
+[stream_out_standard] # Standard stream output
+
+# Output access method (string)
+#sout-standard-access=
+
+# Output muxer (string)
+#sout-standard-mux=
+
+# Output destination (string)
+#sout-standard-dst=
+
+# Address to bind to (helper setting for dst) (string)
+#sout-standard-bind=
+
+# Filename for stream (helper setting for dst) (string)
+#sout-standard-path=
+
+# SAP announcing (boolean)
+#sout-standard-sap=0
+
+# Session name (string)
+#sout-standard-name=
+
+# Session description (string)
+#sout-standard-description=
+
+# Session URL (string)
+#sout-standard-url=
+
+# Session email (string)
+#sout-standard-email=
+
+[setid] # Change the id of an elementary stream
+
+# Elementary Stream ID (integer)
+#sout-setid-id=0
+
+# New ES ID (integer)
+#sout-setid-new-id=0
+
+# Elementary Stream ID (integer)
+#sout-setlang-id=0
+
+# Language (string)
+#sout-setlang-lang=eng
+
+[bridge] # Bridge stream output
+
+# ID (integer)
+#sout-bridge-out-id=0
+
+# Destination bridge-in name (string)
+#sout-bridge-out-in-name=default
+
+# Delay (integer)
+#sout-bridge-in-delay=0
+
+# ID Offset (integer)
+#sout-bridge-in-id-offset=8192
+
+# Name of current instance (string)
+#sout-bridge-in-name=default
+
+# Fallback to placeholder stream when out of data (boolean)
+#sout-bridge-in-placeholder=0
+
+# Placeholder delay (integer)
+#sout-bridge-in-placeholder-delay=200
+
+# Wait for I frame before toggling placeholder (boolean)
+#sout-bridge-in-placeholder-switch-on-iframe=1
+
+[es] # Elementary stream output
+
+# Output access method (string)
+#sout-es-access=
+
+# Output muxer (string)
+#sout-es-mux=
+
+# Output URL (string)
+#sout-es-dst=
+
+# Audio output access method (string)
+#sout-es-access-audio=
+
+# Audio output muxer (string)
+#sout-es-mux-audio=
+
+# Audio output URL (string)
+#sout-es-dst-audio=
+
+# Video output access method (string)
+#sout-es-access-video=
+
+# Video output muxer (string)
+#sout-es-mux-video=
+
+# Video output URL (string)
+#sout-es-dst-video=
+
+[panoramix] # Panoramix: wall with overlap video filter
+
+# Number of columns (integer)
+#panoramix-cols=-1
+
+# Number of rows (integer)
+#panoramix-rows=-1
+
+# length of the overlapping area (in %) (integer)
+#panoramix-bz-length=100
+
+# height of the overlapping area (in %) (integer)
+#panoramix-bz-height=100
+
+# Attenuation (boolean)
+#panoramix-attenuate=1
+
+# Attenuation, begin (in %) (integer)
+#panoramix-bz-begin=0
+
+# Attenuation, middle (in %) (integer)
+#panoramix-bz-middle=50
+
+# Attenuation, end (in %) (integer)
+#panoramix-bz-end=100
+
+# middle position (in %) (integer)
+#panoramix-bz-middle-pos=50
+
+# Gamma (Red) correction (float)
+#panoramix-bz-gamma-red=1.000000
+
+# Gamma (Green) correction (float)
+#panoramix-bz-gamma-green=1.000000
+
+# Gamma (Blue) correction (float)
+#panoramix-bz-gamma-blue=1.000000
+
+# Black Crush for Red (integer)
+#panoramix-bz-blackcrush-red=140
+
+# Black Crush for Green (integer)
+#panoramix-bz-blackcrush-green=140
+
+# Black Crush for Blue (integer)
+#panoramix-bz-blackcrush-blue=140
+
+# White Crush for Red (integer)
+#panoramix-bz-whitecrush-red=200
+
+# White Crush for Green (integer)
+#panoramix-bz-whitecrush-green=200
+
+# White Crush for Blue (integer)
+#panoramix-bz-whitecrush-blue=200
+
+# Black Level for Red (integer)
+#panoramix-bz-blacklevel-red=150
+
+# Black Level for Green (integer)
+#panoramix-bz-blacklevel-green=150
+
+# Black Level for Blue (integer)
+#panoramix-bz-blacklevel-blue=150
+
+# White Level for Red (integer)
+#panoramix-bz-whitelevel-red=0
+
+# White Level for Green (integer)
+#panoramix-bz-whitelevel-green=0
+
+# White Level for Blue (integer)
+#panoramix-bz-whitelevel-blue=0
+
+# Active windows (string)
+#panoramix-active=
+
+[wall] # Wall video filter
+
+# Number of columns (integer)
+#wall-cols=3
+
+# Number of rows (integer)
+#wall-rows=3
+
+# Active windows (string)
+#wall-active=
+
+# Element aspect ratio (string)
+#wall-element-aspect=16:9
+
+[clone] # Clone video filter
+
+# Number of clones (integer)
+#clone-count=2
+
+# Video output modules (string)
+#clone-vout-list=
+
+[file] # Secrets are stored on a file without any encryption
+
+# ? (string)
+#keystore-file=
+
+[vaapi_filters] # Video Accelerated API filters
+
+# Denoise strength (0-2) (float)
+#denoise-sigma=1.000000
+
+[core] # core program
+
+# Enable audio (boolean)
+#audio=1
+
+# Audio gain (float)
+#gain=1.000000
+
+# Audio output volume step (float)
+#volume-step=12.800000
+
+# Remember the audio volume (boolean)
+#volume-save=1
+
+# Force S/PDIF support (boolean)
+#spdif=0
+
+# Force detection of Dolby Surround (integer)
+#force-dolby-surround=0
+
+# Stereo audio output mode (integer)
+#stereo-mode=0
+
+# Audio desynchronization compensation (integer)
+#audio-desync=0
+
+# Replay gain mode (string)
+#audio-replay-gain-mode=none
+
+# Replay preamp (float)
+#audio-replay-gain-preamp=0.000000
+
+# Default replay gain (float)
+#audio-replay-gain-default=-7.000000
+
+# Peak protection (boolean)
+#audio-replay-gain-peak-protection=1
+
+# Enable time stretching audio (boolean)
+#audio-time-stretch=1
+
+# Audio output module (string)
+#aout=
+
+# Media role (string)
+#role=video
+
+# Audio filters (string)
+#audio-filter=
+
+# Audio visualizations (string)
+#audio-visual=none
+
+# Audio resampler (string)
+#audio-resampler=
+
+# Enable video (boolean)
+#video=1
+
+# Grayscale video output (boolean)
+#grayscale=0
+
+# Fullscreen video output (boolean)
+#fullscreen=0
+
+# Embedded video (boolean)
+#embedded-video=1
+
+# (boolean)
+#xlib=1
+
+# Drop late frames (boolean)
+#drop-late-frames=1
+
+# Skip frames (boolean)
+#skip-frames=1
+
+# Quiet synchro (boolean)
+#quiet-synchro=0
+
+# Key press events (boolean)
+#keyboard-events=1
+
+# Mouse events (boolean)
+#mouse-events=1
+
+# Always on top (boolean)
+#video-on-top=0
+
+# Enable wallpaper mode (boolean)
+#video-wallpaper=0
+
+# Disable screensaver (boolean)
+#disable-screensaver=1
+
+# Show media title on video (boolean)
+#video-title-show=1
+
+# Show video title for x milliseconds (integer)
+#video-title-timeout=5000
+
+# Position of video title (integer)
+#video-title-position=8
+
+# Hide cursor and fullscreen controller after x milliseconds (integer)
+#mouse-hide-timeout=1000
+
+# Video snapshot directory (or filename) (string)
+#snapshot-path=
+
+# Video snapshot file prefix (string)
+#snapshot-prefix=vlcsnap-
+
+# Video snapshot format (string)
+#snapshot-format=png
+
+# Display video snapshot preview (boolean)
+#snapshot-preview=1
+
+# Use sequential numbers instead of timestamps (boolean)
+#snapshot-sequential=0
+
+# Video snapshot width (integer)
+#snapshot-width=-1
+
+# Video snapshot height (integer)
+#snapshot-height=-1
+
+# Video width (integer)
+#width=-1
+
+# Video height (integer)
+#height=-1
+
+# Video X coordinate (integer)
+#video-x=0
+
+# Video Y coordinate (integer)
+#video-y=0
+
+# Video cropping (string)
+#crop=
+
+# Custom crop ratios list (string)
+#custom-crop-ratios=
+
+# Source aspect ratio (string)
+#aspect-ratio=
+
+# Video Auto Scaling (boolean)
+#autoscale=1
+
+# Monitor pixel aspect ratio (string)
+#monitor-par=
+
+# Custom aspect ratios list (string)
+#custom-aspect-ratios=
+
+# Fix HDTV height (boolean)
+#hdtv-fix=1
+
+# Window decorations (boolean)
+#video-deco=1
+
+# Video title (string)
+#video-title=
+
+# Video alignment (integer)
+#align=0
+
+# Zoom video (float)
+#zoom=1.000000
+
+# Deinterlace (integer)
+#deinterlace=-1
+
+# Deinterlace mode (string)
+#deinterlace-mode=auto
+
+# Video output module (string)
+#vout=
+
+# Video filter module (string)
+#video-filter=
+
+# Video splitter module (string)
+#video-splitter=
+
+# Enable sub-pictures (boolean)
+#spu=1
+
+# On Screen Display (boolean)
+#osd=1
+
+# Text rendering module (string)
+#text-renderer=
+
+# Use subtitle file (string)
+#sub-file=
+
+# Autodetect subtitle files (boolean)
+#sub-autodetect-file=1
+
+# Subtitle autodetection fuzziness (integer)
+#sub-autodetect-fuzzy=3
+
+# Subtitle autodetection paths (string)
+#sub-autodetect-path=./Subtitles, ./subtitles, ./Subs, ./subs
+
+# Force subtitle position (integer)
+#sub-margin=0
+
+# Subpictures source module (string)
+#sub-source=
+
+# Subpictures filter module (string)
+#sub-filter=
+
+# Program (integer)
+#program=0
+
+# Programs (string)
+#programs=
+
+# Audio track (integer)
+#audio-track=-1
+
+# Subtitle track (integer)
+#sub-track=-1
+
+# Audio language (string)
+#audio-language=
+
+# Subtitle language (string)
+#sub-language=
+
+# Menu language (string)
+#menu-language=
+
+# Audio track ID (integer)
+#audio-track-id=-1
+
+# Subtitle track ID (integer)
+#sub-track-id=-1
+
+# Preferred Closed Captions decoder (integer)
+#captions=608
+
+# Preferred video resolution (integer)
+#preferred-resolution=-1
+
+# Input repetitions (integer)
+#input-repeat=0
+
+# Start time (float)
+#start-time=0.000000
+
+# Stop time (float)
+#stop-time=0.000000
+
+# Run time (float)
+#run-time=0.000000
+
+# Fast seek (boolean)
+#input-fast-seek=0
+
+# Playback speed (float)
+#rate=1.000000
+
+# Input list (string)
+#input-list=
+
+# Input slave (experimental) (string)
+#input-slave=
+
+# Bookmarks list for a stream (string)
+#bookmarks=
+
+# DVD device (string)
+#dvd=/dev/sr0
+
+# VCD device (string)
+#vcd=/dev/sr0
+
+# MTU of the network interface (integer)
+#mtu=1400
+
+# TCP connection timeout (integer)
+#ipv4-timeout=5000
+
+# HTTP server address (string)
+#http-host=
+
+# HTTP server port (integer)
+#http-port=8080
+
+# HTTPS server port (integer)
+#https-port=8443
+
+# RTSP server address (string)
+#rtsp-host=
+
+# RTSP server port (integer)
+#rtsp-port=554
+
+# HTTP/TLS server certificate (string)
+#http-cert=
+
+# HTTP/TLS server private key (string)
+#http-key=
+
+# SOCKS server (string)
+#socks=
+
+# SOCKS user name (string)
+#socks-user=
+
+# SOCKS password (string)
+#socks-pwd=
+
+# Title metadata (string)
+#meta-title=
+
+# Author metadata (string)
+#meta-author=
+
+# Artist metadata (string)
+#meta-artist=
+
+# Genre metadata (string)
+#meta-genre=
+
+# Copyright metadata (string)
+#meta-copyright=
+
+# Description metadata (string)
+#meta-description=
+
+# Date metadata (string)
+#meta-date=
+
+# URL metadata (string)
+#meta-url=
+
+# File caching (ms) (integer)
+#file-caching=1000
+
+# Live capture caching (ms) (integer)
+#live-caching=300
+
+# Disc caching (ms) (integer)
+#disc-caching=300
+
+# Network caching (ms) (integer)
+#network-caching=1000
+
+# Clock reference average counter (integer)
+#cr-average=40
+
+# Clock synchronisation (integer)
+#clock-synchro=-1
+
+# Clock jitter (integer)
+#clock-jitter=5000
+
+# Network synchronisation (boolean)
+#network-synchronisation=0
+
+# Record directory (string)
+#input-record-path=
+
+# Prefer native stream recording (boolean)
+#input-record-native=1
+
+# Timeshift directory (string)
+#input-timeshift-path=
+
+# Timeshift granularity (integer)
+#input-timeshift-granularity=-1
+
+# Change title according to current media (string)
+#input-title-format=$Z
+
+# Disable all lua plugins (boolean)
+#lua=1
+
+# Preferred decoders list (string)
+#codec=
+
+# Preferred encoders list (string)
+#encoder=
+
+# Access module (string)
+#access=
+
+# Demux module (string)
+#demux=any
+
+# Stream filter module (string)
+#stream-filter=
+
+# Demux filter module (string)
+#demux-filter=
+
+# Default stream output chain (string)
+#sout=
+
+# Display while streaming (boolean)
+#sout-display=0
+
+# Keep stream output open (boolean)
+#sout-keep=0
+
+# Enable streaming of all ES (boolean)
+#sout-all=1
+
+# Enable audio stream output (boolean)
+#sout-audio=1
+
+# Enable video stream output (boolean)
+#sout-video=1
+
+# Enable SPU stream output (boolean)
+#sout-spu=1
+
+# Stream output muxer caching (ms) (integer)
+#sout-mux-caching=1500
+
+# VLM configuration file (string)
+#vlm-conf=
+
+# SAP announcement interval (integer)
+#sap-interval=5
+
+# Mux module (string)
+#mux=
+
+# Access output module (string)
+#access_output=
+
+# Hop limit (TTL) (integer)
+#ttl=-1
+
+# Multicast output interface (string)
+#miface=
+
+# DiffServ Code Point (integer)
+#dscp=0
+
+# Preferred packetizer list (string)
+#packetizer=
+
+# VoD server module (string)
+#vod-server=
+
+# Use a plugins cache (boolean)
+#plugins-cache=1
+
+# Scan for new plugins (boolean)
+#plugins-scan=1
+
+# Preferred keystore list (string)
+#keystore=
+
+# Allow real-time priority (boolean)
+#rt-priority=0
+
+# Adjust VLC priority (integer)
+#rt-offset=0
+
+# Play files randomly forever (boolean)
+#random=0
+
+# Repeat all (boolean)
+#loop=0
+
+# Repeat current item (boolean)
+#repeat=0
+
+# Play and exit (boolean)
+#play-and-exit=0
+
+# Play and stop (boolean)
+#play-and-stop=0
+
+# Play and pause (boolean)
+#play-and-pause=0
+
+# Start paused (boolean)
+#start-paused=0
+
+# Auto start (boolean)
+#playlist-autostart=1
+
+# Pause on audio communication (boolean)
+#playlist-cork=1
+
+# Allow only one running instance (boolean)
+#one-instance=0
+
+# Use only one instance when started from file manager (boolean)
+#one-instance-when-started-from-file=1
+
+# Enqueue items into playlist in one instance mode (boolean)
+#playlist-enqueue=0
+
+# Expose media player via D-Bus (boolean)
+#dbus=0
+
+# Use media library (boolean)
+#media-library=0
+
+# Display playlist tree (boolean)
+#playlist-tree=0
+
+# Default stream (string)
+#open=
+
+# Automatically preparse items (boolean)
+#auto-preparse=1
+
+# Preparsing timeout (integer)
+#preparse-timeout=5000
+
+# Allow metadata network access (boolean)
+#metadata-network-access=0
+
+# Subdirectory behavior (string)
+#recursive=collapse
+
+# Ignored extensions (string)
+#ignore-filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa
+
+# Show hidden files (boolean)
+#show-hiddenfiles=0
+
+# Services discovery modules (string)
+#services-discovery=
+
+# Run as daemon process (boolean)
+#daemon=0
+
+# Write process id to file (string)
+#pidfile=
+
+# Show advanced options (boolean)
+#advanced=0
+
+# Interface interaction (boolean)
+#interact=1
+
+# Locally collect statistics (boolean)
+#stats=1
+
+# Interface module (string)
+#intf=
+
+# Extra interface modules (string)
+#extraintf=
+
+# Control interfaces (string)
+#control=
+
+# Mouse wheel vertical axis control (integer)
+#hotkeys-y-wheel-mode=0
+
+# Mouse wheel horizontal axis control (integer)
+#hotkeys-x-wheel-mode=2
+
+# Fullscreen (string)
+#global-key-toggle-fullscreen=
+
+# Fullscreen (string)
+#key-toggle-fullscreen=f
+
+# Exit fullscreen (string)
+#global-key-leave-fullscreen=
+
+# Exit fullscreen (string)
+#key-leave-fullscreen=Esc
+
+# Play/Pause (string)
+#global-key-play-pause=
+
+# Play/Pause (string)
+#key-play-pause=Space Media Play Pause
+
+# Pause only (string)
+#global-key-pause=
+
+# Pause only (string)
+#key-pause=Browser Stop
+
+# Play only (string)
+#global-key-play=
+
+# Play only (string)
+#key-play=Browser Refresh
+
+# Faster (string)
+#global-key-faster=
+
+# Faster (string)
+#key-faster=+
+
+# Slower (string)
+#global-key-slower=
+
+# Slower (string)
+#key-slower=-
+
+# Normal rate (string)
+#global-key-rate-normal=
+
+# Normal rate (string)
+#key-rate-normal==
+
+# Faster (fine) (string)
+#global-key-rate-faster-fine=
+
+# Faster (fine) (string)
+#key-rate-faster-fine=]
+
+# Slower (fine) (string)
+#global-key-rate-slower-fine=
+
+# Slower (fine) (string)
+#key-rate-slower-fine=[
+
+# Next (string)
+#global-key-next=
+
+# Next (string)
+#key-next=n Media Next Track
+
+# Previous (string)
+#global-key-prev=
+
+# Previous (string)
+#key-prev=p Media Prev Track
+
+# Stop (string)
+#global-key-stop=
+
+# Stop (string)
+#key-stop=s Media Stop
+
+# Position (string)
+#global-key-position=
+
+# Position (string)
+#key-position=t
+
+# Very short backwards jump (string)
+#global-key-jump-extrashort=
+
+# Very short backwards jump (string)
+#key-jump-extrashort=Shift+Left
+
+# Very short forward jump (string)
+#global-key-jump+extrashort=
+
+# Very short forward jump (string)
+#key-jump+extrashort=Shift+Right
+
+# Short backwards jump (string)
+#global-key-jump-short=
+
+# Short backwards jump (string)
+#key-jump-short=Alt+Left
+
+# Short forward jump (string)
+#global-key-jump+short=
+
+# Short forward jump (string)
+#key-jump+short=Alt+Right
+
+# Medium backwards jump (string)
+#global-key-jump-medium=
+
+# Medium backwards jump (string)
+#key-jump-medium=Ctrl+Left
+
+# Medium forward jump (string)
+#global-key-jump+medium=
+
+# Medium forward jump (string)
+#key-jump+medium=Ctrl+Right
+
+# Long backwards jump (string)
+#global-key-jump-long=
+
+# Long backwards jump (string)
+#key-jump-long=Ctrl+Alt+Left
+
+# Long forward jump (string)
+#global-key-jump+long=
+
+# Long forward jump (string)
+#key-jump+long=Ctrl+Alt+Right
+
+# Next frame (string)
+#global-key-frame-next=
+
+# Next frame (string)
+#key-frame-next=e Browser Next
+
+# Activate (string)
+#global-key-nav-activate=
+
+# Activate (string)
+#key-nav-activate=Enter
+
+# Navigate up (string)
+#global-key-nav-up=
+
+# Navigate up (string)
+#key-nav-up=Up
+
+# Navigate down (string)
+#global-key-nav-down=
+
+# Navigate down (string)
+#key-nav-down=Down
+
+# Navigate left (string)
+#global-key-nav-left=
+
+# Navigate left (string)
+#key-nav-left=Left
+
+# Navigate right (string)
+#global-key-nav-right=
+
+# Navigate right (string)
+#key-nav-right=Right
+
+# Go to the DVD menu (string)
+#global-key-disc-menu=
+
+# Go to the DVD menu (string)
+#key-disc-menu=Shift+m
+
+# Select previous DVD title (string)
+#global-key-title-prev=
+
+# Select previous DVD title (string)
+#key-title-prev=Shift+o
+
+# Select next DVD title (string)
+#global-key-title-next=
+
+# Select next DVD title (string)
+#key-title-next=Shift+b
+
+# Select prev DVD chapter (string)
+#global-key-chapter-prev=
+
+# Select prev DVD chapter (string)
+#key-chapter-prev=Shift+p
+
+# Select next DVD chapter (string)
+#global-key-chapter-next=
+
+# Select next DVD chapter (string)
+#key-chapter-next=Shift+n
+
+# Quit (string)
+#global-key-quit=
+
+# Quit (string)
+#key-quit=Ctrl+q
+
+# Volume up (string)
+#global-key-vol-up=
+
+# Volume up (string)
+#key-vol-up=Ctrl+Up Volume Up
+
+# Volume down (string)
+#global-key-vol-down=
+
+# Volume down (string)
+#key-vol-down=Ctrl+Down Volume Down
+
+# Mute (string)
+#global-key-vol-mute=
+
+# Mute (string)
+#key-vol-mute=m Volume Mute
+
+# Subtitle delay up (string)
+#global-key-subdelay-up=
+
+# Subtitle delay up (string)
+#key-subdelay-up=h
+
+# Subtitle delay down (string)
+#global-key-subdelay-down=
+
+# Subtitle delay down (string)
+#key-subdelay-down=g
+
+# Subtitle sync / bookmark audio timestamp (string)
+#global-key-subsync-markaudio=
+
+# Subtitle sync / bookmark audio timestamp (string)
+#key-subsync-markaudio=Shift+h
+
+# Subtitle sync / bookmark subtitle timestamp (string)
+#global-key-subsync-marksub=
+
+# Subtitle sync / bookmark subtitle timestamp (string)
+#key-subsync-marksub=Shift+j
+
+# Subtitle sync / synchronize audio & subtitle timestamps (string)
+#global-key-subsync-apply=
+
+# Subtitle sync / synchronize audio & subtitle timestamps (string)
+#key-subsync-apply=Shift+k
+
+# Subtitle sync / reset audio & subtitle synchronization (string)
+#global-key-subsync-reset=
+
+# Subtitle sync / reset audio & subtitle synchronization (string)
+#key-subsync-reset=Ctrl+Shift+k
+
+# Subtitle position up (string)
+#global-key-subpos-up=
+
+# Subtitle position up (string)
+#key-subpos-up=
+
+# Subtitle position down (string)
+#global-key-subpos-down=
+
+# Subtitle position down (string)
+#key-subpos-down=
+
+# Audio delay up (string)
+#global-key-audiodelay-up=
+
+# Audio delay up (string)
+#key-audiodelay-up=k
+
+# Audio delay down (string)
+#global-key-audiodelay-down=
+
+# Audio delay down (string)
+#key-audiodelay-down=j
+
+# Cycle audio track (string)
+#global-key-audio-track=
+
+# Cycle audio track (string)
+#key-audio-track=b
+
+# Cycle through audio devices (string)
+#global-key-audiodevice-cycle=
+
+# Cycle through audio devices (string)
+#key-audiodevice-cycle=Shift+a
+
+# Cycle subtitle track in reverse order (string)
+#global-key-subtitle-revtrack=
+
+# Cycle subtitle track in reverse order (string)
+#key-subtitle-revtrack=Alt+v
+
+# Cycle subtitle track (string)
+#global-key-subtitle-track=
+
+# Cycle subtitle track (string)
+#key-subtitle-track=v
+
+# Toggle subtitles (string)
+#global-key-subtitle-toggle=
+
+# Toggle subtitles (string)
+#key-subtitle-toggle=Shift+v
+
+# Cycle next program Service ID (string)
+#global-key-program-sid-next=
+
+# Cycle next program Service ID (string)
+#key-program-sid-next=x
+
+# Cycle previous program Service ID (string)
+#global-key-program-sid-prev=
+
+# Cycle previous program Service ID (string)
+#key-program-sid-prev=Shift+x
+
+# Cycle source aspect ratio (string)
+#global-key-aspect-ratio=
+
+# Cycle source aspect ratio (string)
+#key-aspect-ratio=a
+
+# Cycle video crop (string)
+#global-key-crop=
+
+# Cycle video crop (string)
+#key-crop=c
+
+# Toggle autoscaling (string)
+#global-key-toggle-autoscale=
+
+# Toggle autoscaling (string)
+#key-toggle-autoscale=o
+
+# Increase scale factor (string)
+#global-key-incr-scalefactor=
+
+# Increase scale factor (string)
+#key-incr-scalefactor=Alt+o
+
+# Decrease scale factor (string)
+#global-key-decr-scalefactor=
+
+# Decrease scale factor (string)
+#key-decr-scalefactor=Alt+Shift+o
+
+# Toggle deinterlacing (string)
+#global-key-deinterlace=
+
+# Toggle deinterlacing (string)
+#key-deinterlace=d
+
+# Cycle deinterlace modes (string)
+#global-key-deinterlace-mode=
+
+# Cycle deinterlace modes (string)
+#key-deinterlace-mode=Shift+d
+
+# Show controller in fullscreen (string)
+#global-key-intf-show=
+
+# Show controller in fullscreen (string)
+#key-intf-show=i
+
+# Boss key (string)
+#global-key-intf-boss=
+
+# Boss key (string)
+#key-intf-boss=
+
+# Context menu (string)
+#global-key-intf-popup-menu=
+
+# Context menu (string)
+#key-intf-popup-menu=Menu
+
+# Take video snapshot (string)
+#global-key-snapshot=
+
+# Take video snapshot (string)
+#key-snapshot=Shift+s
+
+# Record (string)
+#global-key-record=
+
+# Record (string)
+#key-record=Shift+r
+
+# Zoom (string)
+#global-key-zoom=
+
+# Zoom (string)
+#key-zoom=z
+
+# Un-Zoom (string)
+#global-key-unzoom=
+
+# Un-Zoom (string)
+#key-unzoom=Shift+z
+
+# Toggle wallpaper mode in video output (string)
+#global-key-wallpaper=
+
+# Toggle wallpaper mode in video output (string)
+#key-wallpaper=w
+
+# Crop one pixel from the top of the video (string)
+#global-key-crop-top=
+
+# Crop one pixel from the top of the video (string)
+#key-crop-top=Alt+r
+
+# Uncrop one pixel from the top of the video (string)
+#global-key-uncrop-top=
+
+# Uncrop one pixel from the top of the video (string)
+#key-uncrop-top=Alt+Shift+r
+
+# Crop one pixel from the left of the video (string)
+#global-key-crop-left=
+
+# Crop one pixel from the left of the video (string)
+#key-crop-left=Alt+d
+
+# Uncrop one pixel from the left of the video (string)
+#global-key-uncrop-left=
+
+# Uncrop one pixel from the left of the video (string)
+#key-uncrop-left=Alt+Shift+d
+
+# Crop one pixel from the bottom of the video (string)
+#global-key-crop-bottom=
+
+# Crop one pixel from the bottom of the video (string)
+#key-crop-bottom=Alt+c
+
+# Uncrop one pixel from the bottom of the video (string)
+#global-key-uncrop-bottom=
+
+# Uncrop one pixel from the bottom of the video (string)
+#key-uncrop-bottom=Alt+Shift+c
+
+# Crop one pixel from the right of the video (string)
+#global-key-crop-right=
+
+# Crop one pixel from the right of the video (string)
+#key-crop-right=Alt+f
+
+# Uncrop one pixel from the right of the video (string)
+#global-key-uncrop-right=
+
+# Uncrop one pixel from the right of the video (string)
+#key-uncrop-right=Alt+Shift+f
+
+# Random (string)
+#global-key-random=
+
+# Random (string)
+#key-random=r
+
+# Normal/Loop/Repeat (string)
+#global-key-loop=
+
+# Normal/Loop/Repeat (string)
+#key-loop=l
+
+# Shrink the viewpoint field of view (360°) (string)
+#global-key-viewpoint-fov-in=
+
+# Shrink the viewpoint field of view (360°) (string)
+#key-viewpoint-fov-in=Page Up
+
+# Expand the viewpoint field of view (360°) (string)
+#global-key-viewpoint-fov-out=
+
+# Expand the viewpoint field of view (360°) (string)
+#key-viewpoint-fov-out=Page Down
+
+# Roll the viewpoint clockwise (360°) (string)
+#global-key-viewpoint-roll-clock=
+
+# Roll the viewpoint clockwise (360°) (string)
+#key-viewpoint-roll-clock=
+
+# Roll the viewpoint anti-clockwise (360°) (string)
+#global-key-viewpoint-roll-anticlock=
+
+# Roll the viewpoint anti-clockwise (360°) (string)
+#key-viewpoint-roll-anticlock=
+
+# 1:4 Quarter (string)
+#global-key-zoom-quarter=
+
+# 1:4 Quarter (string)
+#key-zoom-quarter=Alt+1
+
+# 1:2 Half (string)
+#global-key-zoom-half=
+
+# 1:2 Half (string)
+#key-zoom-half=Alt+2
+
+# 1:1 Original (string)
+#global-key-zoom-original=
+
+# 1:1 Original (string)
+#key-zoom-original=Alt+3
+
+# 2:1 Double (string)
+#global-key-zoom-double=
+
+# 2:1 Double (string)
+#key-zoom-double=Alt+4
+
+# Very short jump length (integer)
+#extrashort-jump-size=3
+
+# Short jump length (integer)
+#short-jump-size=10
+
+# Medium jump length (integer)
+#medium-jump-size=60
+
+# Long jump length (integer)
+#long-jump-size=300
+
+# Set playlist bookmark 1 (string)
+#global-key-set-bookmark1=
+
+# Set playlist bookmark 1 (string)
+#key-set-bookmark1=Ctrl+F1
+
+# Set playlist bookmark 2 (string)
+#global-key-set-bookmark2=
+
+# Set playlist bookmark 2 (string)
+#key-set-bookmark2=Ctrl+F2
+
+# Set playlist bookmark 3 (string)
+#global-key-set-bookmark3=
+
+# Set playlist bookmark 3 (string)
+#key-set-bookmark3=Ctrl+F3
+
+# Set playlist bookmark 4 (string)
+#global-key-set-bookmark4=
+
+# Set playlist bookmark 4 (string)
+#key-set-bookmark4=Ctrl+F4
+
+# Set playlist bookmark 5 (string)
+#global-key-set-bookmark5=
+
+# Set playlist bookmark 5 (string)
+#key-set-bookmark5=Ctrl+F5
+
+# Set playlist bookmark 6 (string)
+#global-key-set-bookmark6=
+
+# Set playlist bookmark 6 (string)
+#key-set-bookmark6=Ctrl+F6
+
+# Set playlist bookmark 7 (string)
+#global-key-set-bookmark7=
+
+# Set playlist bookmark 7 (string)
+#key-set-bookmark7=Ctrl+F7
+
+# Set playlist bookmark 8 (string)
+#global-key-set-bookmark8=
+
+# Set playlist bookmark 8 (string)
+#key-set-bookmark8=Ctrl+F8
+
+# Set playlist bookmark 9 (string)
+#global-key-set-bookmark9=
+
+# Set playlist bookmark 9 (string)
+#key-set-bookmark9=Ctrl+F9
+
+# Set playlist bookmark 10 (string)
+#global-key-set-bookmark10=
+
+# Set playlist bookmark 10 (string)
+#key-set-bookmark10=Ctrl+F10
+
+# Play playlist bookmark 1 (string)
+#global-key-play-bookmark1=
+
+# Play playlist bookmark 1 (string)
+#key-play-bookmark1=F1
+
+# Play playlist bookmark 2 (string)
+#global-key-play-bookmark2=
+
+# Play playlist bookmark 2 (string)
+#key-play-bookmark2=F2
+
+# Play playlist bookmark 3 (string)
+#global-key-play-bookmark3=
+
+# Play playlist bookmark 3 (string)
+#key-play-bookmark3=F3
+
+# Play playlist bookmark 4 (string)
+#global-key-play-bookmark4=
+
+# Play playlist bookmark 4 (string)
+#key-play-bookmark4=F4
+
+# Play playlist bookmark 5 (string)
+#global-key-play-bookmark5=
+
+# Play playlist bookmark 5 (string)
+#key-play-bookmark5=F5
+
+# Play playlist bookmark 6 (string)
+#global-key-play-bookmark6=
+
+# Play playlist bookmark 6 (string)
+#key-play-bookmark6=F6
+
+# Play playlist bookmark 7 (string)
+#global-key-play-bookmark7=
+
+# Play playlist bookmark 7 (string)
+#key-play-bookmark7=F7
+
+# Play playlist bookmark 8 (string)
+#global-key-play-bookmark8=
+
+# Play playlist bookmark 8 (string)
+#key-play-bookmark8=F8
+
+# Play playlist bookmark 9 (string)
+#global-key-play-bookmark9=
+
+# Play playlist bookmark 9 (string)
+#key-play-bookmark9=F9
+
+# Play playlist bookmark 10 (string)
+#global-key-play-bookmark10=
+
+# Play playlist bookmark 10 (string)
+#key-play-bookmark10=F10
+
+# Clear the playlist (string)
+#global-key-clear-playlist=
+
+# Clear the playlist (string)
+#key-clear-playlist=Ctrl+w
+
+# Reset subtitles text scale (string)
+#global-key-subtitle-text-scale-normal=
+
+# Reset subtitles text scale (string)
+#key-subtitle-text-scale-normal=Ctrl+0
+
+# Scale down subtitles text (string)
+#global-key-subtitle-text-scale-up=
+
+# Scale down subtitles text (string)
+#key-subtitle-text-scale-up=Ctrl+Mouse Wheel Up
+
+# Scale up subtitles text (string)
+#global-key-subtitle-text-scale-down=
+
+# Scale up subtitles text (string)
+#key-subtitle-text-scale-down=Ctrl+Mouse Wheel Down
+
+# Playlist bookmark 1 (string)
+#bookmark1=
+
+# Playlist bookmark 2 (string)
+#bookmark2=
+
+# Playlist bookmark 3 (string)
+#bookmark3=
+
+# Playlist bookmark 4 (string)
+#bookmark4=
+
+# Playlist bookmark 5 (string)
+#bookmark5=
+
+# Playlist bookmark 6 (string)
+#bookmark6=
+
+# Playlist bookmark 7 (string)
+#bookmark7=
+
+# Playlist bookmark 8 (string)
+#bookmark8=
+
+# Playlist bookmark 9 (string)
+#bookmark9=
+
+# Playlist bookmark 10 (string)
+#bookmark10=
+
diff --git a/zsh/.zshenv b/zsh/.zshenv
index 1d51105..1075e19 100644
--- a/zsh/.zshenv
+++ b/zsh/.zshenv
@@ -1,2 +1,9 @@
export PATH="$HOME/.config/scripts:$PATH"
-TERMINAL="st"
+export TERMINAL="st"
+export EDITOR="emacs"
+export BROWSER="librewolf"
+
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/data"
+# Following line was automatically added by arttime installer
+export PATH="$HOME/.local/bin:$PATH"
diff --git a/zsh/.zshrc b/zsh/.zshrc
index eec2395..2edb3c6 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -5,6 +5,7 @@ flashfetch
quand
+[ -f "$ZDOTDIR/paliasrc" ] && source "$ZDOTDIR/paliasrc" # Private aliases
autoload -U colors && colors # Load colors
PS1="%B%(?.0.%F{red}%?) %F{blue}%n %F{green}%~ %f$%b "
@@ -19,6 +20,14 @@ alias poule="git pull"
alias bri5="xrandr --output eDP-1 --brightness 0.5"
alias bri6="xrandr --output eDP-1 --brightness 0.6"
alias ascii="ascii -d"
+alias cf="$HOME/.config/"
+alias cspt="$HOME/.config/scripts"
+alias cz="$HOME/.config/zsh"
+alias cn="$XDG_CONFIG_HOME/nvim"
+alias gs="git status"
+alias rps="echo help | nc ratakor.com 9998"
+alias nv="nvim"
+alias cdmnt="sudo mount -t iso9660 -o ro /dev/sr0 $HOME/cdrom"
autoload -U compinit
zstyle ':completion:*' menu select