commit ef4c719edb279a4633b7bec1cc73325848b5790f
parent b6279072471b605b21e78c9c6b80e7284d598fda
Author: pyratebeard <root@pyratebeard.net>
Date: Thu, 18 Sep 2025 23:45:07 +0100
feat(goblinmode): new {coloursch,th}emes
Diffstat:
11 files changed, 467 insertions(+), 12 deletions(-)
diff --git a/cmus/.config/cmus/goblinmode.theme b/cmus/.config/cmus/goblinmode.theme
@@ -0,0 +1,56 @@
+# Directory colors
+set color_win_dir=15
+
+# Normal text
+set color_win_fg=7
+
+# Window background color.
+set color_win_bg=default
+
+# Command line color.
+set color_cmdline_bg=0
+set color_cmdline_fg=15
+
+# Color of error messages displayed on the command line.
+set color_error=1
+
+# Color of informational messages displayed on the command line.
+set color_info=4
+
+# Color of the separator line between windows in view (1).
+set color_separator=237
+
+# Color of window titles (topmost line of the screen).
+set color_win_title_bg=0
+set color_win_title_fg=15
+
+# Color of the album row shown in the track window
+set color_trackwin_album_bg=236
+set color_trackwin_album_fg=15
+
+# Status line color.
+set color_statusline_bg=default
+set color_statusline_fg=7
+
+# Color of currently playing track.
+set color_win_cur=10
+
+# Color of the line displaying currently playing track.
+set color_titleline_bg=0
+set color_titleline_fg=3
+
+# Color of the selected row which is also the currently playing track in active window.
+set color_win_cur_sel_bg=5
+set color_win_cur_sel_fg=14
+
+# Color of the selected row which is also the currently playing track in inactive window.
+set color_win_inactive_cur_sel_bg=8
+set color_win_inactive_cur_sel_fg=10
+
+# Color of selected row in active window.
+set color_win_sel_bg=5
+set color_win_sel_fg=7
+
+# Color of selected row in inactive window.
+set color_win_inactive_sel_bg=8
+set color_win_inactive_sel_fg=7
diff --git a/herbstluftwm/.config/herbstluftwm/autostart b/herbstluftwm/.config/herbstluftwm/autostart
@@ -177,17 +177,17 @@ hc set frame_bg_transparent 1
hc set frame_transparent_width 0
hc set frame_gap 2
-hc attr theme.active.color '#9c353e' #6A8C8C
-hc attr theme.normal.color '#594646'
+hc attr theme.active.color '#62978c' #6A8C8C
+hc attr theme.normal.color '#222222'
hc attr theme.urgent.color '#58333e'
hc attr theme.inner_width 4
-hc attr theme.inner_color '#111'
+hc attr theme.inner_color '#222222'
hc attr theme.border_width 6
hc attr theme.floating.border_width 3
hc attr theme.floating.outer_width 1
hc attr theme.floating.outer_color black
hc attr theme.active.inner_color '#111'
-hc attr theme.active.outer_color '#131313'
+hc attr theme.active.outer_color '#111'
hc attr theme.background_color '#1e1b1c'
hc attr theme.padding_left 14
diff --git a/irssi/.irssi/goblinmode.theme b/irssi/.irssi/goblinmode.theme
@@ -0,0 +1,329 @@
+#https://github.com/shabble/irssi-docs/wiki/complete_themes
+# default foreground color (%N) - -1 is the "default terminal color"
+default_color = "-1";
+
+# print timestamp/servertag at the end of line, not at beginning
+info_eol = "false";
+
+# these characters are automatically replaced with specified color
+# (dark grey by default)
+replaces = { "[]" = "%W$*%n"; };
+
+abstracts = {
+
+ ############# generic ###############################
+
+ indent_default = " + %X7m│%n";
+
+ # text to insert at the beginning of each non-message line
+ # line_start = "%g//%n ";
+ line_start = "";
+
+ # timestamp styling, nothing by default
+ timestamp = "";
+
+ # any kind of text that needs hilighting, default is to bold
+ hilight = "%c$*%n";
+
+ # any kind of error message, default is bright red
+ error = "%R$*%n";
+
+ # channel name is printed
+ channel = "%b$*%n";
+
+ # nick is printed
+ nick = "%_$*%_";
+
+ # nick host is printed
+ nickhost = "%g$*";
+
+ # server name is printed
+ server = "%_$*%_";
+
+ # some kind of comment is printed
+ comment = "%W(\"%Y$*%W\"%W)%n";
+
+ # reason for something is printed (part, quit, kick, ..)
+ reason = "%w(\"%W$*%w\")%n";
+
+ # mode change is printed ([+o nick])
+ mode = "%W(\"%y$*%W\"%W)%n";
+
+ ## channel specific messages
+
+ # highlighted nick/host is printed (joins)
+ channick_hilight = "%g$*%N";
+ chanhost_hilight = "{nickhost $*}";
+
+ # nick/host is printed (parts, quits, etc.)
+ channick = "$*";
+ chanhost = "{nickhost $*}";
+
+ # highlighted channel name is printed
+ channelhilight = "%y$*%n";
+
+ # ban/ban exception/invite list mask is printed
+ ban = "$*";
+
+ # trackbar colour
+ trackbar_style = "%g";
+
+ ########### messages #################################
+
+ # the basic styling of how to print message, $0 = nick mode, $1 = nick
+ # msgnick = "$1-$0%K·%N %|";
+ msgnick = "%g$0%R$1%X7m │ %N";
+ # msgnick = "%K$0%N $1 %K· %|%N";
+
+ # $0 = nick mode, $1 = nick
+ #ownmsgnick = "{msgnick $0 $1}";
+ ownmsgnick = "%Y$0%W$1%X7m │ %Y";
+ ownnick = "%W$*%n";
+
+ # public message in channel, $0 = nick mode, $1 = nick
+ pubmsgnick = "{msgnick $0 $1}";
+ pubnick = "%M$*%N";
+
+ # public highlighted message in channel
+ #pubmsghinick = "{msgnick $0 $1}";
+ pubmsghinick = "%Y$0%W$1%X7m │ %y";
+ menick = "%M$*%n";
+
+ # channel name is printed with message
+ msgchannel = "%K:%m$*%n";
+
+ # private message, $0 = nick, $1 = host
+ privmsg = "$0=%b\"$1-\"%n ";
+
+ # private message from you, $0 = "msg", $1 = target nick
+ ownprivmsg = "$0=%b\"$1-\"%n ";
+
+ # private message in query
+ # privmsgnick = "{msgnick $*}";
+ privmsgnick = " %M$*%X7m │ %N";
+
+ # own private message in query
+ #ownprivmsgnick = "{privmsgnick $*}";
+ ownprivmsgnick = " %w$*%X7m │ %Y";
+ #ownprivnick = "$*";
+
+
+ ########## Actions (/ME stuff) #########################
+
+ # generic one that's used by most actions
+ action = "%M$* %X7m│ %M";
+
+ # own action, both private/public
+ # ownaction = "{action $*}";
+ ownaction = "%M$* %X7m│ %M";
+
+ # own action with target, both private/public
+ ownaction_target = "{action $*}";
+
+ # private action sent by others
+ pvtaction = "{action $*}";
+ pvtaction_query = "{action $*}";
+
+ # public action sent by others
+ pubaction = "{action $*}";
+
+
+ ########## other IRC events #############################
+
+ # whois
+ whois = "%# $[8]0 = $1-;";
+
+ # notices
+ ownnotice = "%NNote n = %Mnew%n $0 ($1-) ";
+ notice = "%M$*%n ";
+ pubnotice_channel = " %N($*)";
+ pvtnotice_host = " %N($*)";
+ servernotice = " %N($*)";
+
+ # CTCPs
+ ownctcp = "%NCTCP c = %Mnew%n $0 ($1-) ";
+ ctcp = "%N$*%n";
+
+ # wallops
+ wallop = "%K$*%n: ";
+ wallop_nick = "%n$*";
+ wallop_action = "%K * $*%n ";
+
+ # netsplits
+ netsplit = "%Wsplit %X7m┄┄─┤ %n\"$*\"%n";
+ netjoin = "%Wnjoin %X7m┄┄─┤ %n\"$*\"%n";
+
+ # /names list
+ names_prefix = "%X7m│%n $1";
+ names_nick = "%_$2$0%_%n$1 ";
+ names_nick_op = "{names_nick $* %9%y}";
+ names_nick_halfop = "{names_nick $* %G}";
+ names_nick_voice = "{names_nick $* %M}";
+ names_users = "%X7m┌─┄┄─┄┄──┘%W users in $1";
+ names_channel = "%G$*%n";
+
+ # DCC
+ dcc = "%g$*%n";
+ dccfile = "%_$*%_";
+
+ # DCC chat, own msg/action
+ dccownmsg = "%g /* $0 ($1-) */";
+ dccownnick = "$*%n";
+ dccownquerynick = "$*%n";
+ dccownaction = "{action $*}";
+ dccownaction_target = "{action $*}";
+
+ # DCC chat, others
+ dccmsg = "%g/* $1- ($0) */";
+ dccquerynick = "%g$*%n";
+ dccaction = "{action $*}";
+
+ ######## statusbar/topicbar ############################
+
+ # default background for all statusbars. You can also give
+ # the default foreground color for statusbar items.
+ sb_background = "%9";
+
+ # default backround for "default" statusbar group
+ #sb_default_bg = "%4";
+ # background for prompt / input line
+ sb_prompt_bg = "%n";
+ # background for info statusbar
+ #sb_info_bg = "%8";
+ # background for topicbar (same default)
+ sb_topic_bg = "%n";
+
+ # text at the beginning of statusbars. sb-item already puts
+ # space there,so we don't use anything by default.
+ sbstart = "";
+ # text at the end of statusbars. Use space so that it's never
+ # used for anything.
+ sbend = "";
+
+ topicsbstart = " %Wtopic %X7m┄┄─┤$*";
+ topicsbend = "$*";
+
+ prompt = " %X7m└──┄┄%n ";
+ # prompt = " %K└╼ ";
+
+ sb = " %X7m│%n %W$*%c %n";
+ sbmode = " %b[%y%y+%C$*%b]";
+ sbaway = " %g/* zZzZ */%n";
+ sbservertag = ":%g$0%n";
+ sbnickmode = "%y$0%W";
+
+ # Usercount
+ sb_usercount = "{sb %_$0%_ nicks ($1-)}";
+ sb_uc_ircops = "%_*%_$*";
+ sb_uc_ops = "%_@%r$*%n";
+ sb_uc_halfops = "%_%%%g$*%n";
+ sb_uc_voices = "%_+%y$*%n";
+ sb_uc_normal = "%w$*%n";
+ sb_uc_space = " ";
+ # activity in statusbar
+
+ # ',' separator
+ sb_act_sep = " ";
+ # normal text
+ sb_act_text = "%x7K%9%k$*%n";
+ # public message
+ sb_act_msg = "%x7r%9%k$*%n";
+ # hilight
+ sb_act_hilight = "%2%9%k$*%n";
+ # hilight with specified color, $0 = color, $1 = text
+ sb_act_hilight_color = "%R%9$1-%n";
+ # required for adv_windowlist
+ #sb_act_none = "%x7M%m$*%n";
+ sb_act_none = "%x7m%9%k$*%n";
+};
+
+########################################################
+
+formats = {
+ "fe-common/core" = {
+ #line_start = "{line_start}";
+ line_start_irssi = "{line_start}";
+
+ servertag = " %X7m│%n ";
+
+ join = "%w join %X7m┄┄─┤ %n{channick $0} %w(%w{nickhost %w$1}%w) joined %w$2";
+ part = "%W part %X7m┄┄─┤ %n{channick $0} %W(%w{nickhost %w$1}%W) left %w$2 {reason %b$3}";
+ quit = "%w quit %X7m┄┄─┤ %wsignoff: %n{channick $0} %b{reason $2}";
+ kick = "%r kick %X7m┄┄─┤ %n{channick $0} was kicked by $2 %W{reason %b$3}";
+ quit_once = "{channel $3} {channick $0} {chanhost $1} %kquit {reason %C$2}";
+
+ nick_changed = " %X7m┄┼┄%W %n{channick $0} %Y>> %w{channick $1}";
+ your_nick_changed = " %X7m┄┼┄%W %n{channick $0} %Y>> %w{channick $1}";
+ your_nick = "%W nick %X7m┄┄─┤ %n{channick $0}";
+
+ pubmsg = "{pubmsgnick $2 {pubnick $[-7]0}}$1";
+
+ own_msg = "{ownmsgnick $2 {ownnick $[-7]0}}$1";
+ own_msg_channel = "{ownmsgnick $3 {ownnick $[-7]0}{msgchannel $1}}$2";
+ own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-7]2}}$1";
+
+ pubmsg_me = "{pubmsghinick $2 {menick $[-7]0}}$1";
+ pubmsg_me_channel = "{pubmsghinick $3 {menick $[-7]0}{msgchannel $1}}$2";
+
+ pubmsg_hilight = "{pubmsghinick $3 {menick $[-7]1}}$2";
+ pubmsg_hilight_channel = "{pubmsghinick $0 $[-7]1$4{msgchannel $2}}$3";
+
+ pubmsg_channel = "{pubmsgnick {pubnick %g$[-7]0}$2}$1";
+ msg_private_query = "{privmsgnick $[-7]0}$2";
+ new_topic = "%X7m┌─┄┄─────┘%n\012%X7m│ %wtopic %M'$2' %Nset by%y $0\012%X7m└─┄┄─┄┄──┐ ";
+
+ endofnames = "%X7m└─┄┄─┄┄──┐ %WTotal: {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal%n";
+
+ daychange = " %W date %X7m┄┄─┤ %Wday changed to %w%%Y%%m%%d";
+ config_reloaded = "%W conf %X7m┄┄─┤ %Wreloaded";
+ config_modified = "%W conf %X7m┄┄─┤ %Wmodified";
+ server_changed = "%W serv %X7m┄┄─┤ %Wchanged to %w$1 %G$2%W";
+ looking_up = "%wlooking up %w{server $0}";
+ connecting = "%wconnecting to {server $0} [%B$1] port %Y$2";
+ connection_established = "%wconnection to {server $0} established";
+ disconnected = "%wdisconnected from {server $0} %b{reason $1}";
+ server_quit = "%wdisconnected from {server $0} %b{reason $1}";
+ connection_lost = "%wconnection lost to {server $0}";
+ server_reconnect_removed = "%wremoved reconnection to server {server $0} port {hilight $1}";
+ no_away_msgs = "%wno new messages in awaylog";
+ current_channel = " %X7m│ %Wcurrent channel {channel %Y$0}";
+ chanlist_header = " %X7m│ %Wyou are in the following channels";
+ chanlist_line = " %X7m│ %#{channel %G$[-10]0} %|%W+$1 %w$2";
+
+ not_enough_params = " %X7m│ %Wnot enough parameters given";
+ };
+ "fe-common/irc" = {
+ chanmode_change = "%w mode %X7m┄┄─┤ %m{channick $1}%w by %m$2";
+ server_chanmode_change = "%W mode %X7m┄┄─┤ %w{channick $1}%W (%w$2%W)";
+ usermode_change = "%wmode {mode $0}%w for {nick $1}";
+
+ action_core = "%c$[-8] %b│ %c$1";
+ own_action = "{ownaction $[-8]0}$1";
+ action_private = "{pvtaction $[-8]0}$1";
+ action_private_query = "{pvtaction_query $[-8]0} $2";
+ action_public = "{pubaction $[-8]0}$1";
+ action_public_channel = "{pubaction $[-8]0{msgchannel $1}}$2";
+ topic = "%wtopic %X7m┄┄─┤ %G$0 %M$1";
+ no_topic = "%Ytopic %c┄┄─┤ %Wno topic for %y$0";
+ topic_info = " %X7m│ %Wset by %y$0 %w(%b$1%w)";
+ channel_created = " %X7m│ %bcreated %W$1";
+ channel_synced = "%W sync %X7m┄┄─┤%b in {hilight $1} secs";
+ url = " %X7m│ %Wurl: %g$1";
+ notice_private = " %X7m│{notice $0{pvtnotice_host $1}}$2";
+ notice_public = "%X7m│pubnot{notice $0{pubnotice_host $1}}$2";
+ notice_server = "%X7m│servnot{servernotice $0}$1";
+ own_notice = "%X7m│ownnot{ownnotice notice $0}$1";
+ };
+ "fe-common/irc/dcc" = {
+ dcc_unknown_ctcp = "{dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}";
+ };
+ "Irssi::Script::ichat" = { ichat_timestamp = "%Y>%W> $1 %y>%n"; };
+ "Irssi::Script::adv_windowlist" = {
+ awl_mouse = "no";
+ awl_display_key = "$H $N $C %8▓░$S";
+ awl_display_key_active = "$H%x02%9%X7b $N $C %9%k%8▓░$S";
+ awl_display_header = "%9%x7g%9%X7o $C %0%k▓░";
+ awl_separator = " ";
+ awl_detach = "(status)";
+ };
+};
diff --git a/neovim/.config/nvim/init.lua b/neovim/.config/nvim/init.lua
@@ -264,6 +264,7 @@ lazy.setup({
-- colours
require("plugins.oldriceputin"),
require("plugins.sourcery"),
+ require("plugins.goblinmode"),
},
dev = {
path = "~/.local/src/warez",
diff --git a/neovim/.config/nvim/lua/plugins/goblinmode.lua b/neovim/.config/nvim/lua/plugins/goblinmode.lua
@@ -0,0 +1,10 @@
+return {
+ "pyratebeard/goblinmode.nvim",
+ name = "goblinmode.nvim",
+ lazy = false,
+ dev = { true },
+ priority = 1000,
+ config = function()
+ vim.cmd("colorscheme goblinmode")
+ end,
+}
diff --git a/newsboat/.config/newsboat/config b/newsboat/.config/newsboat/config
@@ -16,9 +16,9 @@ text-width 0
max-items 10
# interface colours
-color info color11 black
-color listfocus color7 color8
-color listfocus_unread color11 color8
+color info color12 color8
+color listfocus color7 color5
+color listfocus_unread color10 color5
color listnormal color7 default
color listnormal_unread color13 default
@@ -40,11 +40,11 @@ feedlist-format "%?l?▓ %=2i %t &▓▓▒▒░░ %t ░░▒▒?"
#articlelist-format "%?T? │ %2i %f %t?"
highlight articlelist "▓" color241 default
articlelist-format "▓ %2i %t"
-highlight article "^Feed:.*" color1 default
-highlight article "^Title:.*" color6 default
+highlight article "^Feed:.*" color3 default
+highlight article "^Title:.*" color14 default
highlight article "^Author:.*" color7 default
highlight article "^Date:.*" color15 default
-highlight article "^Link:.*" color15 color236
+highlight article "^Link:.*" black color249
# key bindings
bind-key j down
diff --git a/tmux/.local/bin/tmux-status b/tmux/.local/bin/tmux-status
@@ -25,7 +25,7 @@
FULL=▒
EMPTY=░
-THEME="oldriceputin"
+THEME="goblinmode"
if [ $THEME == "oldriceputin" ] ; then
#oldriceputin
C0="#181512"
@@ -115,6 +115,23 @@ elif [ $THEME == "sourcery" ] ; then
#C14="#7fdc95"
#C7="#d3d3d3"
#C15="#c1cdc1"
+elif [ $THEME == "goblinmode" ] ; then
+ C0="#111111"
+ C8="#181818"
+ C1="#aa4450"
+ C9="#ff6a6a"
+ C2="#719611"
+ C10="#b1d631"
+ C3="#ff3423"
+ C11="#949468"
+ C4="#699c9c"
+ C12="#8ba8c5"
+ C5="#746285"
+ C13="#a086b1"
+ C6="#647a45"
+ C14="#92db47"
+ C7="#d3d3d3"
+ C15="#c1cdc1"
fi
C237="#3a3a3a"
@@ -132,6 +149,7 @@ draw() {
oldriceputin) CFG=$C14 ; CBG=$C241 ;;
zuke) CFG=$C12 ; CBG=$C5 ;;
sourcery) CFG=$C10 ; CBG=$C5 ;;
+ goblinmode) CFG=$C10 ; CBG=$C5 ;;
blaqueplague) CFG=$C5 ; CBG=$C241 ;;
esac
for v in $(seq 0 $((size - 1))); do
@@ -193,6 +211,7 @@ vpn() {
oldriceputin) CSTATE=$C12 ;;
zuke) CSTATE=$C12 ;;
sourcery) CSTATE=$C12 ;;
+ goblinmode) CSTATE=$C12 ;;
esac
tailscale ip >/dev/null 2>&1 && state=$C10 || state=$C3
echo "#[bg=$state]#[fg=$C241]▓▒░#[bg=$state]#[fg=0] vpn #[bg=$state]#[fg=$C237]░▒#[bg=$state]#[fg=$C237]▓#[bg=$C237]"
@@ -202,6 +221,7 @@ net() {
oldriceputin) CFG=$C14 ; CBG=$C0 ;;
zuke) CFG=$C12 ; CBG=$C5 ;;
sourcery) CFG=$C12 ; CBG=$C5 ;;
+ goblinmode) CFG=$C12 ; CBG=$C5 ;;
esac
ping 9.9.9.9 -c 1 >/dev/null 2>&1 && state=$C10 || state=$C3
echo "#[bg=$state]#[fg=$C241]▓▒░#[bg=$state]#[fg=0] net #[bg=$state]#[fg=$C241]░▒#[bg=$state]#[fg=$C241]▓#[bg=$C241]"
diff --git a/urxvt/.config/urxvt/.Xdefaults b/urxvt/.config/urxvt/.Xdefaults
@@ -38,5 +38,5 @@ urxvt.saveLines: 9999
urxvt.iso14755: false
urxvt.iso14755_52: false
-#include "oldriceputin"
+#include "goblinmode"
diff --git a/urxvt/.config/urxvt/goblinmode b/urxvt/.config/urxvt/goblinmode
@@ -0,0 +1,38 @@
+! special
+*.foreground: #c2c2b0
+*.background: #222222
+*.cursorColor: #c2c2b0
+
+! black
+*.color0: #111111
+*.color8: #181818
+
+! red
+*.color1: #aa4450
+*.color9: #ff6a6a
+
+! green
+*.color2: #719611
+*.color10: #b1d631
+
+! yellow
+*.color3: #ff3423
+*.color11: #949468
+
+! blue
+*.color4: #699c9c
+*.color12: #8ba8c5
+
+! magenta
+!*.color5: #836e97
+*.color5: #746285
+*.color13: #a086b1
+
+! cyan
+*.color6: #647a45
+*.color14: #92db47
+
+! white
+*.color7: #d3d3d3
+*.color15: #c1cdc1
+
diff --git a/wallpaper/.local/share/wallpaper/coil-green.png b/wallpaper/.local/share/wallpaper/coil-green.png
Binary files differ.
diff --git a/xinit/.xinitrc b/xinit/.xinitrc
@@ -33,6 +33,7 @@ fi
# set nice background.
xsetroot -solid '#2b2f2e'
+feh --bg-tile ~/.local/share/wallpaper/coil-green.png
# set nice pointer cursor.
xsetroot -cursor_name left_ptr &