diff options
| author | dacctal <dacctal@symlinx.net> | 2026-04-27 02:27:14 +0000 |
|---|---|---|
| committer | dacctal <dacctal@symlinx.net> | 2026-04-27 02:27:14 +0000 |
| commit | 66254d01e923e9eac16798ebf9cecb19d1d4d6a2 (patch) | |
| tree | bbd53de52d9426ebdf8bffc84876887dbb31baca | |
| parent | fdca05503614c6eecbb1401088351710337ae9ce (diff) | |
added custom modal plugin to vis
| -rw-r--r-- | .config/st/config.h | 2 | ||||
| -rwxr-xr-x | .config/st/st | bin | 0 -> 108632 bytes | |||
| -rw-r--r-- | .config/st/x.o | bin | 76032 -> 76032 bytes | |||
| -rw-r--r-- | .config/vis/plugins/modal/init.lua | 77 | ||||
| -rw-r--r-- | .config/vis/themes/caelus.lua | 6 | ||||
| -rw-r--r-- | .config/vis/visrc.lua | 11 | ||||
| -rw-r--r-- | browser-stuff/userChrome.css | 1 |
7 files changed, 89 insertions, 8 deletions
diff --git a/.config/st/config.h b/.config/st/config.h index 12024d8..1715de0 100644 --- a/.config/st/config.h +++ b/.config/st/config.h @@ -12,7 +12,7 @@ //static char *font = "FiraCode NerdFont:pixelsize=18:antialias=true:autohint=true"; //static char *font = "Iosevka NerdFont:pixelsize=24:antialias=true:autohint=true"; //static char *font = "Pragmasevka NerdFont:pixelsize=24:antialias=true:autohint=true"; -static char *font = "Caelusevka:pixelsize=24:antialias=true:autohint=true"; +static char *font = "Caelusevka:pixelsize=20:antialias=true:autohint=true"; static int borderpx = 2; /* diff --git a/.config/st/st b/.config/st/st Binary files differnew file mode 100755 index 0000000..facfaed --- /dev/null +++ b/.config/st/st diff --git a/.config/st/x.o b/.config/st/x.o Binary files differindex 7a5e65e..f2ad542 100644 --- a/.config/st/x.o +++ b/.config/st/x.o diff --git a/.config/vis/plugins/modal/init.lua b/.config/vis/plugins/modal/init.lua new file mode 100644 index 0000000..2b745bf --- /dev/null +++ b/.config/vis/plugins/modal/init.lua @@ -0,0 +1,77 @@ +require('vis') + +MODAL_STYLE = 51 +MODAL_STYLE_INVERTED = 52 + +VMODES = { + vis.modes.NORMAL = ' NORMAL ', + vis.modes.INSERT = ' INSERT ', + vis.modes.VISUAL = ' VISUAL ', + vis.modes.REPLACE = ' REPLACE ', + vis.modes.VISUAL_LINE = ' VISUAL_LINE ', + vis.modes.OPERATOR_PENDING = ' OPERATOR_PENDING ', +} + +vis.events.subscribe(vis.events.WIN_STATUS, function(win) + local filename = ' [NO NAME] ' + if win.file.name then filename = ' '..win.file.name..' ' end + + local vmode = VMODES[vis.mode] + if vis.mode == vis.modes.INSERT then + win:style_define(MODAL_STYLE, vis.lexers.STYLE_STATUS_FOCUSED..'fore:black,back:green') + win:style_define(MODAL_STYLE_INVERTED, 'fore:green,back:black') + + for i=0,string.len(vmode) do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + for i=string.len(vmode),string.len(vmode)+string.len(filename) do + win:style_pos(MODAL_STYLE_INVERTED, i, win.height - 1) + end + for i=string.len(vmode)+string.len(filename),win.width do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + + elseif vis.mode == vis.modes.VISUAL or vis.mode == vis.modes.VISUAL_LINE then + win:style_define(MODAL_STYLE, vis.lexers.STYLE_STATUS_FOCUSED..'fore:black,back:magenta') + win:style_define(MODAL_STYLE_INVERTED, 'fore:magenta,back:black') + + for i=0,string.len(vmode) do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + for i=string.len(vmode),string.len(vmode)+string.len(filename) do + win:style_pos(MODAL_STYLE_INVERTED, i, win.height - 1) + end + for i=string.len(vmode)+string.len(filename),win.width do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + + elseif vis.mode == vis.modes.OPERATOR_PENDING or vis.mode == vis.modes.REPLACE then + win:style_define(MODAL_STYLE, vis.lexers.STYLE_STATUS_FOCUSED..'fore:black,back:blue') + win:style_define(MODAL_STYLE_INVERTED, 'fore:blue,back:black') + + for i=0,string.len(vmode) do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + for i=string.len(vmode),string.len(vmode)+string.len(filename) do + win:style_pos(MODAL_STYLE_INVERTED, i, win.height - 1) + end + for i=string.len(vmode)+string.len(filename),win.width do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + + elseif vis.mode == vis.modes.NORMAL then + win:style_define(MODAL_STYLE, vis.lexers.STYLE_STATUS_FOCUSED..',back:yellow') + win:style_define(MODAL_STYLE_INVERTED, vis.lexers.STYLE_STATUS_FOCUSED..',back:black,fore:yellow') + + for i=0,string.len(vmode) do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + for i=string.len(vmode),string.len(vmode)+string.len(filename) do + win:style_pos(MODAL_STYLE_INVERTED, i, win.height - 1) + end + for i=string.len(vmode)+string.len(filename),win.width do + win:style_pos(MODAL_STYLE, i, win.height - 1) + end + end + win:status(vmode..filename) +end) diff --git a/.config/vis/themes/caelus.lua b/.config/vis/themes/caelus.lua index 4078b14..b752270 100644 --- a/.config/vis/themes/caelus.lua +++ b/.config/vis/themes/caelus.lua @@ -27,13 +27,13 @@ lexers.STYLE_EMBEDDED = 'fore:white' lexers.STYLE_IDENTIFIER = 'fore:blue' lexers.STYLE_LINENUMBER = 'fore:white' lexers.STYLE_LINENUMBER_CURSOR = lexers.STYLE_LINENUMBER -lexers.STYLE_CURSOR = 'reverse' +lexers.STYLE_CURSOR = 'fore:black,back:white' lexers.STYLE_CURSOR_PRIMARY = lexers.STYLE_CURSOR..',fore:cyan' lexers.STYLE_CURSOR_LINE = 'underlined' lexers.STYLE_COLOR_COLUMN = 'back:black' lexers.STYLE_SELECTION = 'fore:black,back:yellow' -lexers.STYLE_STATUS = 'back:'..darkgray..'fore:'..lightgray -lexers.STYLE_STATUS_FOCUSED = 'fore:'..darkgray..',back:'..lightgray..',bold' +lexers.STYLE_STATUS = 'back:'..darkgray..',fore:'..lightgray +lexers.STYLE_STATUS_FOCUSED = 'back:'..lightgray..',fore:'..darkgray..',bold' lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT lexers.STYLE_INFO = 'fore:default,back:default,bold' lexers.STYLE_EOF = '' diff --git a/.config/vis/visrc.lua b/.config/vis/visrc.lua index 8e16776..74bfa51 100644 --- a/.config/vis/visrc.lua +++ b/.config/vis/visrc.lua @@ -1,11 +1,14 @@ --- load standard vis module, providing parts of the Lua API, sets _G.vis require('vis') --- global configuration options +local lightyellow = '#efbf71' +local lightgray = '#9a9c8b' +local darkgray = '#1e1f1e' + +-- global config vis.events.subscribe(vis.events.INIT, function() vis:command("set theme caelus") end) --- per-window configuration options +-- per-window config vis.events.subscribe(vis.events.WIN_OPEN, function(win) vis:command("set tabwidth 2") vis:command("set numbers true") @@ -18,6 +21,8 @@ end) -- plugins -- +-- modal +require('plugins/modal') -- vis-autoclose local autoclose = require('plugins/vis-autoclose') -- colorizer diff --git a/browser-stuff/userChrome.css b/browser-stuff/userChrome.css index 936de35..ff85326 100644 --- a/browser-stuff/userChrome.css +++ b/browser-stuff/userChrome.css @@ -1,5 +1,4 @@ #TabsToolbar { display: none !important; } #sidebar-box #sidebar-header { display: none !important; } -* { border-radius: 8px; } * { border-radius: 0px; } |
