Lots of incremental improvements
* remove irssi since it doesn't have the features I want/need * add autocutsel for clipboard pains (still needs work) * tmux is even better now with proper session-switching controls
This commit is contained in:
parent
1043ee6042
commit
27ce755fac
10 changed files with 84 additions and 804 deletions
|
@ -1,281 +0,0 @@
|
|||
servers = (
|
||||
{
|
||||
address = "lytedev.io";
|
||||
# password = "lytedev/nixers:${IRC_PASS}";
|
||||
chatnet = "lytedev";
|
||||
port = "6667";
|
||||
use_ssl = "yes";
|
||||
ssl_verify = "no";
|
||||
autoconnect = "yes";
|
||||
}
|
||||
);
|
||||
|
||||
chatnets = {
|
||||
lytedev = {
|
||||
type = "IRC";
|
||||
autosendcmd = "/quote pass lytedev:${IRC_PASS}";
|
||||
};
|
||||
};
|
||||
|
||||
channels = ( );
|
||||
|
||||
aliases = {
|
||||
ATAG = "WINDOW SERVER";
|
||||
ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
|
||||
B = "BAN";
|
||||
BACK = "AWAY";
|
||||
BANS = "BAN";
|
||||
BYE = "QUIT";
|
||||
C = "CLEAR";
|
||||
CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
|
||||
CHAT = "DCC CHAT";
|
||||
CUBES = "SCRIPT EXEC Irssi::active_win->print(\"%_bases\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x0\\${_}0\\$_\" } '0'..'9','A'..'F' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_cubes\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { my \\$y = \\$_*6 \\; join '', map { my \\$x = \\$_ \\; map { \"%x\\$x\\$_\\$x\\$_\" } @{['0'..'9','A'..'Z']}[\\$y .. \\$y+5] } 1..6 }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) for 0..5 \\; Irssi::active_win->print(\"%_grays\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x7\\${_}7\\$_\" } 'A'..'X' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_mIRC extended colours\", MSGLEVEL_CLIENTCRAP) \\; my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 0..15 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; for my \\$z (0..6) { my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 16+(\\$z*12)..16+(\\$z*12)+11 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) }";
|
||||
DATE = "TIME";
|
||||
DEHIGHLIGHT = "DEHILIGHT";
|
||||
DESCRIBE = "ACTION";
|
||||
DHL = "DEHILIGHT";
|
||||
EXEMPTLIST = "MODE $C +e";
|
||||
EXIT = "QUIT";
|
||||
GOTO = "SCROLLBACK GOTO";
|
||||
HIGHLIGHT = "HILIGHT";
|
||||
HL = "HILIGHT";
|
||||
HOST = "USERHOST";
|
||||
INVITELIST = "MODE $C +I";
|
||||
J = "JOIN";
|
||||
K = "KICK";
|
||||
KB = "KICKBAN";
|
||||
KN = "KNOCKOUT";
|
||||
LAST = "LASTLOG";
|
||||
LEAVE = "PART";
|
||||
M = "MSG";
|
||||
MUB = "UNBAN *";
|
||||
N = "NAMES";
|
||||
NMSG = "^MSG";
|
||||
P = "PART";
|
||||
Q = "QUERY";
|
||||
RESET = "SET -default";
|
||||
RUN = "SCRIPT LOAD";
|
||||
SAY = "MSG *";
|
||||
SB = "SCROLLBACK";
|
||||
SBAR = "STATUSBAR";
|
||||
SIGNOFF = "QUIT";
|
||||
SV = "MSG * Irssi $J ($V) - http://www.irssi.org";
|
||||
T = "TOPIC";
|
||||
UB = "UNBAN";
|
||||
UMODE = "MODE $N";
|
||||
UNSET = "SET -clear";
|
||||
W = "WHO";
|
||||
WC = "WINDOW CLOSE";
|
||||
WG = "WINDOW GOTO";
|
||||
WJOIN = "JOIN -window";
|
||||
WI = "WHOIS";
|
||||
WII = "WHOIS $0 $0";
|
||||
WL = "WINDOW LIST";
|
||||
WN = "WINDOW NEW HIDDEN";
|
||||
WQUERY = "QUERY -window";
|
||||
WW = "WHOWAS";
|
||||
1 = "WINDOW GOTO 1";
|
||||
2 = "WINDOW GOTO 2";
|
||||
3 = "WINDOW GOTO 3";
|
||||
4 = "WINDOW GOTO 4";
|
||||
5 = "WINDOW GOTO 5";
|
||||
6 = "WINDOW GOTO 6";
|
||||
7 = "WINDOW GOTO 7";
|
||||
8 = "WINDOW GOTO 8";
|
||||
9 = "WINDOW GOTO 9";
|
||||
10 = "WINDOW GOTO 10";
|
||||
11 = "WINDOW GOTO 11";
|
||||
12 = "WINDOW GOTO 12";
|
||||
13 = "WINDOW GOTO 13";
|
||||
14 = "WINDOW GOTO 14";
|
||||
15 = "WINDOW GOTO 15";
|
||||
16 = "WINDOW GOTO 16";
|
||||
17 = "WINDOW GOTO 17";
|
||||
18 = "WINDOW GOTO 18";
|
||||
19 = "WINDOW GOTO 19";
|
||||
20 = "WINDOW GOTO 20";
|
||||
21 = "WINDOW GOTO 21";
|
||||
22 = "WINDOW GOTO 22";
|
||||
23 = "WINDOW GOTO 23";
|
||||
24 = "WINDOW GOTO 24";
|
||||
25 = "WINDOW GOTO 25";
|
||||
26 = "WINDOW GOTO 26";
|
||||
27 = "WINDOW GOTO 27";
|
||||
28 = "WINDOW GOTO 28";
|
||||
29 = "WINDOW GOTO 29";
|
||||
30 = "WINDOW GOTO 30";
|
||||
31 = "WINDOW GOTO 31";
|
||||
32 = "WINDOW GOTO 32";
|
||||
33 = "WINDOW GOTO 33";
|
||||
34 = "WINDOW GOTO 34";
|
||||
35 = "WINDOW GOTO 35";
|
||||
36 = "WINDOW GOTO 36";
|
||||
37 = "WINDOW GOTO 37";
|
||||
38 = "WINDOW GOTO 38";
|
||||
39 = "WINDOW GOTO 39";
|
||||
40 = "WINDOW GOTO 40";
|
||||
41 = "WINDOW GOTO 41";
|
||||
42 = "WINDOW GOTO 42";
|
||||
43 = "WINDOW GOTO 43";
|
||||
44 = "WINDOW GOTO 44";
|
||||
45 = "WINDOW GOTO 45";
|
||||
46 = "WINDOW GOTO 46";
|
||||
47 = "WINDOW GOTO 47";
|
||||
48 = "WINDOW GOTO 48";
|
||||
49 = "WINDOW GOTO 49";
|
||||
50 = "WINDOW GOTO 50";
|
||||
51 = "WINDOW GOTO 51";
|
||||
52 = "WINDOW GOTO 52";
|
||||
53 = "WINDOW GOTO 53";
|
||||
54 = "WINDOW GOTO 54";
|
||||
55 = "WINDOW GOTO 55";
|
||||
56 = "WINDOW GOTO 56";
|
||||
57 = "WINDOW GOTO 57";
|
||||
58 = "WINDOW GOTO 58";
|
||||
59 = "WINDOW GOTO 59";
|
||||
60 = "WINDOW GOTO 60";
|
||||
61 = "WINDOW GOTO 61";
|
||||
62 = "WINDOW GOTO 62";
|
||||
63 = "WINDOW GOTO 63";
|
||||
64 = "WINDOW GOTO 64";
|
||||
65 = "WINDOW GOTO 65";
|
||||
66 = "WINDOW GOTO 66";
|
||||
67 = "WINDOW GOTO 67";
|
||||
68 = "WINDOW GOTO 68";
|
||||
69 = "WINDOW GOTO 69";
|
||||
70 = "WINDOW GOTO 70";
|
||||
71 = "WINDOW GOTO 71";
|
||||
72 = "WINDOW GOTO 72";
|
||||
73 = "WINDOW GOTO 73";
|
||||
74 = "WINDOW GOTO 74";
|
||||
75 = "WINDOW GOTO 75";
|
||||
76 = "WINDOW GOTO 76";
|
||||
77 = "WINDOW GOTO 77";
|
||||
78 = "WINDOW GOTO 78";
|
||||
79 = "WINDOW GOTO 79";
|
||||
80 = "WINDOW GOTO 80";
|
||||
81 = "WINDOW GOTO 81";
|
||||
82 = "WINDOW GOTO 82";
|
||||
83 = "WINDOW GOTO 83";
|
||||
84 = "WINDOW GOTO 84";
|
||||
85 = "WINDOW GOTO 85";
|
||||
86 = "WINDOW GOTO 86";
|
||||
87 = "WINDOW GOTO 87";
|
||||
88 = "WINDOW GOTO 88";
|
||||
89 = "WINDOW GOTO 89";
|
||||
90 = "WINDOW GOTO 90";
|
||||
91 = "WINDOW GOTO 91";
|
||||
92 = "WINDOW GOTO 92";
|
||||
93 = "WINDOW GOTO 93";
|
||||
94 = "WINDOW GOTO 94";
|
||||
95 = "WINDOW GOTO 95";
|
||||
96 = "WINDOW GOTO 96";
|
||||
97 = "WINDOW GOTO 97";
|
||||
98 = "WINDOW GOTO 98";
|
||||
99 = "WINDOW GOTO 99";
|
||||
znc = "msg *status";
|
||||
};
|
||||
|
||||
settings = {
|
||||
core = {
|
||||
real_name = "daniel";
|
||||
user_name = "lytedev";
|
||||
nick = "lytedev";
|
||||
use_proxy = "yes";
|
||||
proxy_address = "lytedev.io";
|
||||
proxy_port = "6667";
|
||||
# proxy_password = "${IRC_PASS}";
|
||||
proxy_string = "";
|
||||
proxy_string_after = "conn %s %d";
|
||||
};
|
||||
"fe-text" = { actlist_sort = "refnum"; };
|
||||
"fe-common/core" = { theme = "lytedev"; };
|
||||
};
|
||||
hilights = (
|
||||
{ text = "wraith"; nick = "yes"; word = "yes"; },
|
||||
{ text = "lytedev"; nick = "yes"; word = "yes"; }
|
||||
);
|
||||
statusbar = {
|
||||
# formats:
|
||||
# when using {templates}, the template is shown only if it's argument isn't
|
||||
# empty unless no argument is given. for example {sb} is printed always,
|
||||
# but {sb $T} is printed only if $T isn't empty.
|
||||
|
||||
items = {
|
||||
# start/end text in statusbars
|
||||
barstart = "{sbstart}";
|
||||
barend = "{sbend}";
|
||||
|
||||
topicbarstart = "{topicsbstart}";
|
||||
topicbarend = "{topicsbend}";
|
||||
|
||||
time = "";
|
||||
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
|
||||
|
||||
# window_empty is printed with empty windows
|
||||
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
|
||||
window_empty = "{sb $winref{sbservertag $tag}}";
|
||||
prompt = "{prompt $[.15]itemname}";
|
||||
prompt_empty = "{prompt $winname}";
|
||||
topic = " $topic";
|
||||
topic_empty = " Empty Topic";
|
||||
|
||||
# all of these treated specially, they're only displayed when needed
|
||||
lag = "{sb $0-}";
|
||||
act = "{sb $0-}";
|
||||
more = "... ";
|
||||
};
|
||||
|
||||
# there's two type of statusbars. root statusbars are either at the top
|
||||
# of the screen or at the bottom of the screen. window statusbars are at
|
||||
# the top/bottom of each split window in screen.
|
||||
default = {
|
||||
# the "default statusbar" to be displayed at the bottom of the window.
|
||||
# contains all the normal items.
|
||||
|
||||
# statusbar to use in inactive split windows
|
||||
window_inact = {
|
||||
type = "window";
|
||||
placement = "bottom";
|
||||
position = "-1";
|
||||
visible = "inactive";
|
||||
items = {
|
||||
barstart = { priority = "100"; };
|
||||
window = { };
|
||||
window_empty = { };
|
||||
more = { priority = "-1"; alignment = "right"; };
|
||||
barend = { priority = "100"; alignment = "right"; };
|
||||
};
|
||||
};
|
||||
|
||||
# we treat input line as yet another statusbar :) It's possible to
|
||||
# add other items before or after the input line item.
|
||||
prompt = {
|
||||
type = "root";
|
||||
placement = "bottom";
|
||||
# we want to be at the bottom always
|
||||
position = "100";
|
||||
visible = "always";
|
||||
items = {
|
||||
prompt = { priority = "-1"; };
|
||||
prompt_empty = { priority = "-1"; };
|
||||
# treated specially, this is the real input line.
|
||||
input = { priority = "10"; };
|
||||
};
|
||||
};
|
||||
|
||||
# topicbar
|
||||
topic = {
|
||||
type = "root";
|
||||
placement = "top";
|
||||
position = "1";
|
||||
visible = "active";
|
||||
items = {
|
||||
topicbarstart = { priority = "100"; };
|
||||
topic = { };
|
||||
topic_empty = { };
|
||||
topicbarend = { priority = "100"; alignment = "right"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
|
@ -1,294 +0,0 @@
|
|||
# When testing changes, the easiest way to reload the theme is with /RELOAD.
|
||||
# This reloads the configuration file too, so if you did any changes remember
|
||||
# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
|
||||
# old data so keep backups :)
|
||||
|
||||
# TEMPLATES:
|
||||
|
||||
# The real text formats that irssi uses are the ones you can find with
|
||||
# /FORMAT command. Back in the old days all the colors and texts were mixed
|
||||
# up in those formats, and it was really hard to change the colors since you
|
||||
# might have had to change them in tens of different places. So, then came
|
||||
# this templating system.
|
||||
|
||||
# Now the /FORMATs don't have any colors in them, and they also have very
|
||||
# little other styling. Most of the stuff you need to change is in this
|
||||
# theme file. If you can't change something here, you can always go back
|
||||
# to change the /FORMATs directly, they're also saved in these .theme files.
|
||||
|
||||
# So .. the templates. They're those {blahblah} parts you see all over the
|
||||
# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
|
||||
# When irssi sees this kind of text, it goes to find "name" from abstracts
|
||||
# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
|
||||
# can have more parameters of course). Templates can have subtemplates.
|
||||
# Here's a small example:
|
||||
# /FORMAT format hello {colorify {underline world}}
|
||||
# abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
|
||||
# When irssi expands the templates in "format", the final string would be:
|
||||
# hello %G%Uworld%U%n
|
||||
# ie. underlined bright green "world" text.
|
||||
# and why "$0-", why not "$0"? $0 would only mean the first parameter,
|
||||
# $0- means all the parameters. With {underline hello world} you'd really
|
||||
# want to underline both of the words, not just the hello (and world would
|
||||
# actually be removed entirely).
|
||||
|
||||
# COLORS:
|
||||
|
||||
# You can find definitions for the color format codes in docs/formats.txt.
|
||||
|
||||
# There's one difference here though. %n format. Normally it means the
|
||||
# default color of the terminal (white mostly), but here it means the
|
||||
# "reset color back to the one it was in higher template". For example
|
||||
# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
|
||||
# print yellow "foo" (as set with %Y) but "bar" would be green, which was
|
||||
# set at the beginning before the {foo} template. If there wasn't the %g
|
||||
# at start, the normal behaviour of %n would occur. If you _really_ want
|
||||
# to use the terminal's default color, use %N.
|
||||
|
||||
#############################################################################
|
||||
|
||||
# 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 = { "[]=" = "%K$*%n"; };
|
||||
|
||||
abstracts = {
|
||||
##
|
||||
## generic
|
||||
##
|
||||
|
||||
# text to insert at the beginning of each non-message line
|
||||
line_start = "%B-%n!%B-%n ";
|
||||
|
||||
# timestamp styling, nothing by default
|
||||
timestamp = "$*";
|
||||
|
||||
# any kind of text that needs hilighting, default is to bold
|
||||
hilight = "%_$*%_";
|
||||
|
||||
# any kind of error message, default is bright red
|
||||
error = "%R$*%n";
|
||||
|
||||
# channel name is printed
|
||||
channel = "%_$*%_";
|
||||
|
||||
# nick is printed
|
||||
nick = "%_$*%_";
|
||||
|
||||
# nick host is printed
|
||||
nickhost = "[$*]";
|
||||
|
||||
# server name is printed
|
||||
server = "%_$*%_";
|
||||
|
||||
# some kind of comment is printed
|
||||
comment = "[$*]";
|
||||
|
||||
# reason for something is printed (part, quit, kick, ..)
|
||||
reason = "{comment $*}";
|
||||
|
||||
# mode change is printed ([+o nick])
|
||||
mode = "{comment $*}";
|
||||
|
||||
##
|
||||
## channel specific messages
|
||||
##
|
||||
|
||||
# highlighted nick/host is printed (joins)
|
||||
channick_hilight = "%C$*%n";
|
||||
chanhost_hilight = "{nickhost %c$*%n}";
|
||||
|
||||
# nick/host is printed (parts, quits, etc.)
|
||||
channick = "%c$*%n";
|
||||
chanhost = "{nickhost $*}";
|
||||
|
||||
# highlighted channel name is printed
|
||||
channelhilight = "%c$*%n";
|
||||
|
||||
# ban/ban exception/invite list mask is printed
|
||||
ban = "%c$*%n";
|
||||
|
||||
##
|
||||
## messages
|
||||
##
|
||||
|
||||
# the basic styling of how to print message, $0 = nick mode, $1 = nick
|
||||
msgnick = "%K<%n$0$1-%K>%n %|";
|
||||
|
||||
# message from you is printed. "ownnick" specifies the styling of the
|
||||
# nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
|
||||
# whole line.
|
||||
|
||||
# Example1: You want the message text to be green:
|
||||
# ownmsgnick = "{msgnick $0 $1-}%g";
|
||||
# Example2.1: You want < and > chars to be yellow:
|
||||
# ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
|
||||
# (you'll also have to remove <> from replaces list above)
|
||||
# Example2.2: But you still want to keep <> grey for other messages:
|
||||
# pubmsgnick = "%K{msgnick $0 $1-%K}%n";
|
||||
# pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
|
||||
# pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
|
||||
# ownprivmsgnick = "%K{msgnick $*%K}%n";
|
||||
# privmsgnick = "%K{msgnick %R$*%K}%n";
|
||||
|
||||
# $0 = nick mode, $1 = nick
|
||||
ownmsgnick = "{msgnick $0 $1-}";
|
||||
ownnick = "%_$*%n";
|
||||
|
||||
# public message in channel, $0 = nick mode, $1 = nick
|
||||
pubmsgnick = "{msgnick $0 $1-}";
|
||||
pubnick = "%N$*%n";
|
||||
|
||||
# public message in channel meant for me, $0 = nick mode, $1 = nick
|
||||
pubmsgmenick = "{msgnick $0 $1-}";
|
||||
menick = "%Y$*%n";
|
||||
|
||||
# public highlighted message in channel
|
||||
# $0 = highlight color, $1 = nick mode, $2 = nick
|
||||
pubmsghinick = "{msgnick $1 $0$2-%n}";
|
||||
|
||||
# channel name is printed with message
|
||||
msgchannel = "%K:%c$*%n";
|
||||
|
||||
# private message, $0 = nick, $1 = host
|
||||
privmsg = "[%R$0%K(%r$1-%K)%n] ";
|
||||
|
||||
# private message from you, $0 = "msg", $1 = target nick
|
||||
ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
|
||||
|
||||
# own private message in query
|
||||
ownprivmsgnick = "{msgnick $*}";
|
||||
ownprivnick = "%_$*%n";
|
||||
|
||||
# private message in query
|
||||
privmsgnick = "{msgnick %R$*%n}";
|
||||
|
||||
##
|
||||
## Actions (/ME stuff)
|
||||
##
|
||||
|
||||
# used internally by this theme
|
||||
action_core = "%_ * $*%n";
|
||||
|
||||
# generic one that's used by most actions
|
||||
action = "{action_core $*} ";
|
||||
|
||||
# own action, both private/public
|
||||
ownaction = "{action $*}";
|
||||
|
||||
# own action with target, both private/public
|
||||
ownaction_target = "{action_core $0}%K:%c$1%n ";
|
||||
|
||||
# private action sent by others
|
||||
pvtaction = "%_ (*) $*%n ";
|
||||
pvtaction_query = "{action $*}";
|
||||
|
||||
# public action sent by others
|
||||
pubaction = "{action $*}";
|
||||
|
||||
|
||||
##
|
||||
## other IRC events
|
||||
##
|
||||
|
||||
# whois
|
||||
whois = "%# $[8]0 : $1-";
|
||||
|
||||
# notices
|
||||
ownnotice = "[%r$0%K(%R$1-%K)]%n ";
|
||||
notice = "%K-%M$*%K-%n ";
|
||||
pubnotice_channel = "%K:%m$*";
|
||||
pvtnotice_host = "%K(%m$*%K)";
|
||||
servernotice = "%g!$*%n ";
|
||||
|
||||
# CTCPs
|
||||
ownctcp = "[%r$0%K(%R$1-%K)] ";
|
||||
ctcp = "%g$*%n";
|
||||
|
||||
# wallops
|
||||
wallop = "%_$*%n: ";
|
||||
wallop_nick = "%n$*";
|
||||
wallop_action = "%_ * $*%n ";
|
||||
|
||||
# netsplits
|
||||
netsplit = "%R$*%n";
|
||||
netjoin = "%C$*%n";
|
||||
|
||||
# /names list
|
||||
names_prefix = "";
|
||||
names_nick = "[%_$0%_$1-] ";
|
||||
names_nick_op = "{names_nick $*}";
|
||||
names_nick_halfop = "{names_nick $*}";
|
||||
names_nick_voice = "{names_nick $*}";
|
||||
names_users = "[%g$*%n]";
|
||||
names_channel = "%G$*%n";
|
||||
|
||||
# DCC
|
||||
dcc = "%g$*%n";
|
||||
dccfile = "%_$*%_";
|
||||
|
||||
# DCC chat, own msg/action
|
||||
dccownmsg = "[%r$0%K($1-%K)%n] ";
|
||||
dccownnick = "%R$*%n";
|
||||
dccownquerynick = "%_$*%n";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action_core $0}%K:%c$1%n ";
|
||||
|
||||
# DCC chat, others
|
||||
dccmsg = "[%G$1-%K(%g$0%K)%n] ";
|
||||
dccquerynick = "%G$*%n";
|
||||
dccaction = "%_ (*dcc*) $*%n %|";
|
||||
|
||||
##
|
||||
## statusbar
|
||||
##
|
||||
|
||||
# default background for all statusbars. You can also give
|
||||
# the default foreground color for statusbar items.
|
||||
sb_background = "%4%w";
|
||||
|
||||
# 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 = "%4";
|
||||
|
||||
# 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 = "{sbstart $*}";
|
||||
topicsbend = "{sbend $*}";
|
||||
|
||||
prompt = "[$*] ";
|
||||
|
||||
sb = " %c[%n$*%c]%n";
|
||||
sbmode = "(%c+%n$*)";
|
||||
sbaway = " (%GzZzZ%n)";
|
||||
sbservertag = ":$0 (change with ^X)";
|
||||
sbnickmode = "$0";
|
||||
|
||||
# activity in statusbar
|
||||
|
||||
# ',' separator
|
||||
sb_act_sep = "%c$*";
|
||||
# normal text
|
||||
sb_act_text = "%c$*";
|
||||
# public message
|
||||
sb_act_msg = "%W$*";
|
||||
# hilight
|
||||
sb_act_hilight = "%M$*";
|
||||
# hilight with specified color, $0 = color, $1 = text
|
||||
sb_act_hilight_color = "$0$1-%n";
|
||||
};
|
|
@ -1,182 +0,0 @@
|
|||
# Based on neongold by xero @ xero.nu
|
||||
|
||||
default_color = "-1";
|
||||
|
||||
info_eol = "false";
|
||||
|
||||
replaces = { "[]" = "%w$*%n"; };
|
||||
|
||||
abstracts = {
|
||||
indent_default = " + %Y│%n ";
|
||||
line_start = "";
|
||||
timestamp = "";
|
||||
hilight = "%_$*%_";
|
||||
error = "%r$*%n";
|
||||
channel = "%w$*%n";
|
||||
nick = "%_$*%_";
|
||||
nickhost = "%g$*";
|
||||
server = "%_$*%_";
|
||||
comment = "%n(%w$*%n)";
|
||||
reason = "{comment $*}";
|
||||
mode = "{comment $*}";
|
||||
|
||||
channick_hilight = "%g$*%N";
|
||||
chanhost_hilight = "{nickhost $*}";
|
||||
|
||||
channick = "$*";
|
||||
chanhost = "{nickhost $*}";
|
||||
|
||||
channelhilight = "%g$*%n";
|
||||
|
||||
ban = "$*";
|
||||
|
||||
msgnick = "%Y$0%w$1 %Y│ %N";
|
||||
ownmsgnick = "%Y$0%w$1 %Y│ ";
|
||||
ownnick = "%W$*%n";
|
||||
pubnick = "%N$*%n";
|
||||
menick = "%y$*%y";
|
||||
|
||||
# generic one that's used by most actions
|
||||
action = "%b$* %Y│%b";
|
||||
|
||||
# own action, both private/public
|
||||
ownaction = "%b$* %Y│%b";
|
||||
|
||||
# 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 $*}";
|
||||
|
||||
whois = "%w │ %n$1-";
|
||||
|
||||
ownnotice = "%NNote n = %Mnew%n $0 ($1-) ";
|
||||
notice = "%M$*%n ";
|
||||
pubnotice_channel = " %N($*)";
|
||||
pvtnotice_host = " %N($*)";
|
||||
servernotice = " %N($*)";
|
||||
|
||||
ownctcp = "%N$0 (%w$1-%N) ";
|
||||
ctcp = "%N$*%n";
|
||||
|
||||
wallop = "%w$*%n: ";
|
||||
wallop_nick = "%n$*";
|
||||
wallop_action = "%w * $*%n ";
|
||||
|
||||
#netsplit = "%w$*%n";
|
||||
#netjoin = "%w$*%n";
|
||||
|
||||
names_users = "%Y┌─┄┄─┄┄──┘ %nusers in %b$1";
|
||||
names_nick = "$2$0%n$1 ";
|
||||
names_nick_op = "{names_nick $* %w}";
|
||||
names_nick_halfop = "{names_nick $* %w}";
|
||||
names_nick_voice = "{names_nick $* %w}";
|
||||
names_prefix = "%Y│ %n$1";
|
||||
names_channel = "%W$*%n";
|
||||
|
||||
dcc = "%g$*%n";
|
||||
dccfile = "%_$*%_";
|
||||
|
||||
dccownmsg = "%g /* $0 ($1-) */";
|
||||
dccownnick = "$*%n";
|
||||
dccownquerynick = "$*%n";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action $*}";
|
||||
|
||||
dccmsg = "%g/* $1- ($0) */";
|
||||
dccquerynick = "%g$*%n";
|
||||
dccaction = "{action $*}";
|
||||
|
||||
sb_background = "%N%N";
|
||||
|
||||
sb_prompt_bg = "%n";
|
||||
|
||||
sbstart = " %Y┌─┄┄─────┘ %w";
|
||||
sbend = "";
|
||||
|
||||
topicsbstart = "%w$C %Y┄─┄$*";
|
||||
topicsbend = "$*";
|
||||
|
||||
prompt = " %Y└──┄┄%n ";
|
||||
|
||||
sb = "%N$*%N ";
|
||||
#sb = "";
|
||||
sbmode = "%b(%w+%N$*%b)%n";
|
||||
sbaway = "%b(%Naway%b)%N";
|
||||
sbservertag = "%b:%N$0%b(%N^X%b)";
|
||||
#sbservertag = "";
|
||||
sbnickmode = "%w$0%N$1";
|
||||
|
||||
#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 = " ";
|
||||
|
||||
#sb_act_sep = "%b$*";
|
||||
#sb_act_text = "%N$*";
|
||||
#sb_act_msg = "%b$*";
|
||||
#sb_act_hilight = "%R%9$*%n";
|
||||
#sb_act_hilight_color = "%R%9$1-%n";
|
||||
};
|
||||
|
||||
formats = {
|
||||
"fe-common/core" = {
|
||||
#line_start = "{line_start}";
|
||||
line_start_irssi = "{line_start}";
|
||||
join = "%n join %Y┄┄─┤ %n{channick $0} %w(%n{nickhost %w$1}%w)%n joined %w$2";
|
||||
part = "%n part %Y┄┄─┤ %n{channick $0} %w(%n{nickhost %w$1}%w)%n left %w$2 {reason %b$3}";
|
||||
quit = "%n quit %Y┄┄─┤ %nsignoff%w: %n{channick $0}%w {reason %b$2}";
|
||||
kick = "%r kick %Y┄┄─┤ %n{channick $0} was kicked by $2 %w{reason %b$3}";
|
||||
nick_changed = " %Y┄┼┄%w %n{channick $0} %Y>> %W{channick $1}";
|
||||
your_nick_changed = " %Y┄┼┄%w %n{channick $0} %Y>> %W{channick $1}";
|
||||
new_topic = "%Y┌─┄┄─────┘%n\012%Y│ %wtopic %b'$2' %Nset by%b $0\012%Y└─┄┄─┄┄──┐ ";
|
||||
endofnames = "%Y└─┄┄─┄┄──┐ %btotal: {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normies%n";
|
||||
#nick padding
|
||||
pubmsg = "{pubmsgnick $2 {pubnick \00312$[-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 $[-7]0 {menick $2}}%y$1";
|
||||
pubmsg_me_channel = "{pubmsghinick $3 {menick $[-7]0}{msgchannel $1}}$2";
|
||||
pubmsg_hilight_channel = "{pubmsghinick $0 $[-7]1$4{msgchannel $2}}$3";
|
||||
pubmsg_hilight = "{pubmsghinick $3 {menick $[-7]1}}$2";
|
||||
pubmsg_channel = "{pubmsgnick {pubnick %G$[-7]0}$2}$1";
|
||||
msg_private_query = "{privmsgnick $[-7]0}$2";
|
||||
};
|
||||
"fe-common/irc" = {
|
||||
chanmode_change = "%n mode %Y┄┄─┤ %w(%B{channick $1}%w) %nby %B$2";
|
||||
server_chanmode_change = "%n mode %Y┄┄─┤ %w{channick $1} %n(%w$2%n)";
|
||||
whois = "%Y┌─┄┄ %n\012%Y│ %wuser %b$0 %w(%n$1%b@%n$2%w) %n\012%Y│ %wname %n$3%n";
|
||||
whois_idle = "%Y│ %widle%b %|$1d $2h $3m $4s";
|
||||
whois_idle_signon = "%Y│ %widle%b %|$1d $2h $3m $4s {comment signon: $5}";
|
||||
whois_server = "%Y│ %wserv%b %|$1 {comment $2}";
|
||||
whois_oper = "%Y│ %woper%b {hilight $1}";
|
||||
whois_registered = "%Y│ %wrgis%n yes";
|
||||
whois_help = "%Y│ %whelp%b available for help";
|
||||
whois_modes = "%Y│ %wmode%b $1";
|
||||
whois_realhost = "%Y│ %wreal%b $1-";
|
||||
whois_usermode = "%Y│ %wumod%b $1";
|
||||
whois_channels = "%Y│ %wchan%b %|$1";
|
||||
whois_away = "%Y│ %waway%b %|$1";
|
||||
whois_special = "%Y│ %winfo%b {comment %|$1}";
|
||||
whois_extra = "%Y│ %wextr%b %|$1";
|
||||
end_of_whois = "%Y└─┄┄ ";
|
||||
whois_not_found = "%Y──┄┄ %wthere is no such nick %b$0";
|
||||
topic = "%ntopic %Y┄┄─┤ %B$0 %b$1";
|
||||
topic_info = " %Y┄┄─┤ %wset by %b$0 %B(%w$1%B)";
|
||||
channel_synced = "%n sync %Y┄┄─┤ %nin {hilight $1} secs";
|
||||
channel_created = "%n %Y┄┄─┤ %ncreated $1";
|
||||
action_core = "%b$[-8]0 %Y│ %b$1";
|
||||
own_action = "{ownaction $[-8]0} $1";
|
||||
action_private = "{pvtaction $[-8]0}$1";
|
||||
action_private_query = "{pvtaction_query $[-8} $2";
|
||||
action_public = "{pubaction $[-8]0}$1";
|
||||
};
|
||||
};
|
|
@ -24,5 +24,8 @@ pulseaudio --start &
|
|||
|
||||
xset s off -dpms &
|
||||
|
||||
autocutsel -fork &
|
||||
autocutsel -selection PRIMARY -fork &
|
||||
|
||||
# fire up wm
|
||||
exec "$DOTFILES_PATH/de/wmstart"
|
||||
|
|
|
@ -43,7 +43,7 @@ become my primary or am very interested in using in more depth is in **bold**)
|
|||
for various tasks:
|
||||
|
||||
* **Terminal Emulators**: *rxvt-unicode*
|
||||
* **Text Editors**: **vim/Neovim**, Sublime Text, Kakoune
|
||||
* **Text Editors**: **vim/Neovim**, Sublime Text
|
||||
* **Terminal Multiplexers**: *tmux*
|
||||
* **Web Browser**: *Google Chrome*, **qutebrowser**, luakit
|
||||
* **Music**: *Google Play Music*
|
||||
|
|
|
@ -8,6 +8,7 @@ pacaur -S \
|
|||
htop `# Process Management and System Resources Monitoring` \
|
||||
openssh `# Remote Access` \
|
||||
openssl `# Crypto` \
|
||||
elixir `# Elixir Language` \
|
||||
ruby `# Language` \
|
||||
nodejs npm `# Language` \
|
||||
python python-pip `# Python 3 Language` \
|
||||
|
@ -35,6 +36,7 @@ pacaur -S \
|
|||
terminus-font ttf-monaco `# Primary Fonts` \
|
||||
ttf-freefont `# Font` \
|
||||
ttf-font-awesome `# Icon Font` \
|
||||
autocutsel `# Clipboard Helper` \
|
||||
curl `# HTTP Utility` \
|
||||
w3m `# Viewing Images in Terminals` \
|
||||
jq `# CLI for Interacting with JSON` \
|
||||
|
|
|
@ -1,20 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
CUR_SESSION_PREFIX="#[bg=colour1]"
|
||||
CUR_SESSION_SUFFIX="#[bg=default]"
|
||||
CUR_SESSION_PREFIX="#[bg=colour4]#[fg=colour0]"
|
||||
CUR_SESSION_SUFFIX="#[bg=default]#[fg=default]"
|
||||
|
||||
export CUR_TMUX_SESSION="$1"
|
||||
CUR_TMUX_SESSION="$1"
|
||||
if [ -z "$1" ]; then
|
||||
export CUR_TMUX_SESSION="$(tmux display-message -p '#S')"
|
||||
CUR_TMUX_SESSION="$(tmux display-message -p '#S')"
|
||||
fi
|
||||
export CUR_TMUX_SESSION
|
||||
|
||||
TMUX_SESSION_LIST="$(tmux list-sessions | sed -ne 's/^\([^:]*\).*$/ \1 /p' | tr -d '\n')"
|
||||
|
||||
HIGHLIGHT_CUR_SESSION="${TMUX_SESSION_LIST/ $CUR_TMUX_SESSION /${CUR_SESSION_PREFIX} ${CUR_TMUX_SESSION} ${CUR_SESSION_SUFFIX}}"
|
||||
|
||||
# ADD_END_SPACE_IF_NECESSARY=$(echo "$HIGHLIGHT_CUR_SESSION" | sed -e 's/\([^]]\)$/\ /p')
|
||||
REMOVE_START_SPACE_IF_NECESSARY=$(echo "$HIGHLIGHT_CUR_SESSION" | sed 's/^ #/#/')
|
||||
# REMOVE_START_SPACE_IF_NECESSARY=$(echo "$HIGHLIGHT_CUR_SESSION" | sed 's/^ #/#/')
|
||||
REMOVE_START_SPACE_IF_NECESSARY=${HIGHLIGHT_CUR_SESSION/^ \#/\#/}
|
||||
|
||||
echo "cursess: $CUR_TMUX_SESSION -- sesslist: $TMUX_SESSION_LIST -- withhili: $HIGHLIGHT_CUR_SESSION -- cutspace: $REMOVE_START_SPACE_IF_NECESSARY -- argv1: $1 -- TMUX: $TMUX" >> ~/.tmux.log
|
||||
# echo "cursess: $CUR_TMUX_SESSION -- sesslist: $TMUX_SESSION_LIST -- withhili: $HIGHLIGHT_CUR_SESSION -- cutspace: $REMOVE_START_SPACE_IF_NECESSARY -- argv1: $1 -- TMUX: $TMUX" >> ~/.tmux.log
|
||||
|
||||
echo "$REMOVE_START_SPACE_IF_NECESSARY -- $1"
|
||||
echo "$REMOVE_START_SPACE_IF_NECESSARY"
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
# set our needed variables if we don't already have them
|
||||
if [[ -z "$XDG_CONFIG_HOME" ]]; then
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
fi
|
||||
if [[ -z "$DOTFILES_PATH" ]]; then
|
||||
export DOTFILES_PATH="$XDG_CONFIG_HOME/dotfiles"
|
||||
export DOTFILES_PATH="$XDG_CONFIG_HOME/dotfiles"
|
||||
fi
|
||||
|
||||
# filesystem aliases
|
||||
|
@ -23,10 +23,10 @@ alias la='ll -A' # show all
|
|||
alias tree='tree -Csuh'
|
||||
|
||||
# navigation aliases
|
||||
alias c="cd $HOME/.."
|
||||
alias c="cd \$HOME/.."
|
||||
alias cd..="cd .."
|
||||
alias cdd="cd \"$DOTFILES_PATH\"" # go to dotfiles
|
||||
alias cdc="cd \"$XDG_CONFIG_HOME\"" # go to
|
||||
alias cdd="cd \"\$DOTFILES_PATH\"" # go to dotfiles
|
||||
alias cdc="cd \"\$XDG_CONFIG_HOME\"" # go to
|
||||
|
||||
# quick parent-directory aliases
|
||||
alias ..="cd .."
|
||||
|
@ -45,8 +45,8 @@ alias tmnew="tmux new -s"
|
|||
alias tmls="tmux list-sessions"
|
||||
alias tmatt="tmux attach -t"
|
||||
alias tu="tmux attach -t utils || tmux new -s utils"
|
||||
alias tdf="tmux attach -t df || tmux new -s df -c \"$DOTFILES_PATH\""
|
||||
alias tmon="tmux attach -t mon || tmux new -s mon"
|
||||
alias tdf="tmux attach -t dotfiles || tmux new -s dotfiles -c \"\$DOTFILES_PATH\""
|
||||
alias tmon="tmux attach -t monitor || tmux new -s monitor"
|
||||
|
||||
# git aliases
|
||||
# TODO: make these git aliases in the gitconfig?
|
||||
|
@ -60,7 +60,7 @@ alias gsur="git submodule update --remote"
|
|||
|
||||
grb() {
|
||||
MAIN_BRANCH="master"
|
||||
CUR_BRANCH="$(git branch | grep \* | cut -d ' ' -f2-)"
|
||||
CUR_BRANCH="$(git branch | grep '\*' | cut -d ' ' -f2-)"
|
||||
if [[ ! -z ${2+x} ]]; then
|
||||
MAIN_BRANCH="$2"
|
||||
CUR_BRANCH="$1"
|
||||
|
@ -68,7 +68,7 @@ grb() {
|
|||
MAIN_BRANCH="$1"
|
||||
fi
|
||||
|
||||
git rebase -i $(git merge-base "$CUR_BRANCH" "$MAIN_BRANCH")
|
||||
git rebase -i "$(git merge-base "$CUR_BRANCH" "$MAIN_BRANCH")"
|
||||
}
|
||||
|
||||
# browser aliases
|
||||
|
@ -88,6 +88,9 @@ alias setbg="feh --bg-fill"
|
|||
alias C="clear && clear"
|
||||
alias keyrepeat="xset r rate 250 80"
|
||||
alias r="ranger"
|
||||
alias sctl="sudo systemctl"
|
||||
alias pt="htop -t" # experimental htop tree-view-by-default
|
||||
alias resrc="source \$HOME/.bashrc"
|
||||
|
||||
# games aliases
|
||||
# this sometimes fixes steam dynamic library issues?
|
||||
|
@ -97,16 +100,16 @@ alias r="ranger"
|
|||
|
||||
# man pages with vim
|
||||
vman() {
|
||||
# our vim config is setup to not auto-load sessions if we set the
|
||||
# `asmanviewer` variable, so launch vim that way when using vim as our man
|
||||
# page viewer
|
||||
# our vim config is setup to not auto-load sessions if we set the
|
||||
# `asmanviewer` variable, so launch vim that way when using vim as our man
|
||||
# page viewer
|
||||
if command -v nvim >/dev/null 2>&1; then
|
||||
nvim --cmd "let asmanviewer=1" -c "SuperMan $*"
|
||||
else
|
||||
vim --cmd "let asmanviewer=1" -c "SuperMan $*"
|
||||
fi
|
||||
|
||||
# proper error handling
|
||||
# proper error handling
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "No manual entry for $*"
|
||||
fi
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
calc() {
|
||||
tp="$@"
|
||||
python -c "print($tp)"
|
||||
tp="$*"
|
||||
python -c "print(${tp})"
|
||||
}
|
||||
export -f calc
|
||||
|
||||
stopbar() {
|
||||
# TODO: get the proper monitor!
|
||||
BAR_MONITOR="$(polybar --list-monitors | tail -n 1 | sed -n 's/^\s*\(.*\):.*$/\1/p')"
|
||||
bspc config -m "$BAR_MONITOR" bottom_padding "0"
|
||||
bspc config -m "$BAR_MONITOR" top_padding "0"
|
||||
bspc config -m "${BAR_MONITOR}" bottom_padding "0"
|
||||
bspc config -m "${BAR_MONITOR}" top_padding "0"
|
||||
killall -q polybar
|
||||
while pgrep -x polybar >/dev/null; do sleep 1; done
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ export -f stopbar
|
|||
|
||||
# wm aliases
|
||||
startbar() {
|
||||
bash "$DOTFILES_PATH/de/bar/bar.bash" &
|
||||
bash "${DOTFILES_PATH}/de/bar/bar.bash" &
|
||||
bg
|
||||
disown
|
||||
}
|
||||
|
@ -28,20 +28,41 @@ export -f startbar
|
|||
scwd() {
|
||||
addon=""
|
||||
if [[ -n $1 ]]; then
|
||||
addon="-$1"
|
||||
addon="-${1}"
|
||||
fi
|
||||
echo "$PWD" > "$DOTFILES_PATH/.cwd$addon.tmp"
|
||||
echo "${PWD}" > "${DOTFILES_PATH}/.cwd${addon}.tmp"
|
||||
}
|
||||
export -f scwd
|
||||
bind '"\C-s"':"\"scwd\C-m\""
|
||||
# bind '"\C-s"':"\"scwd\C-m\""
|
||||
|
||||
# go to the saved current directory
|
||||
gcwd() {
|
||||
addon=""
|
||||
if [[ -n $1 ]]; then
|
||||
addon="-$1"
|
||||
addon="-${1}"
|
||||
fi
|
||||
cd "$(cat "$DOTFILES_PATH/.cwd$addon.tmp")"
|
||||
cd "$(cat "${DOTFILES_PATH}/.cwd${addon}.tmp")" || return
|
||||
}
|
||||
export -f gcwd
|
||||
bind '"\C-g"':"\"gcwd\C-m\""
|
||||
# bind '"\C-g"':"\"gcwd\C-m\""
|
||||
|
||||
fsw() {
|
||||
SHELL_COMMAND="${1}"
|
||||
shift
|
||||
inotifywait -q -m -e close_write "${@}" | while read -r _ _; do
|
||||
${SHELL_COMMAND}
|
||||
done
|
||||
}
|
||||
export -f fsw
|
||||
|
||||
# tmux session switcher with fzf from https://github.com/junegunn/fzf/issues/997
|
||||
tmuxswitcher() {
|
||||
local -r fmt='#{session_id}:|#S|(#{session_attached} attached)'
|
||||
{ tmux display-message -p -F "$fmt" && tmux list-sessions -F "$fmt"; } \
|
||||
| awk '!seen[$1]++' \
|
||||
| column -t -s'|' \
|
||||
| fzf -q '$' --reverse --prompt 'switch session: ' -1 \
|
||||
| cut -d':' -f1 \
|
||||
| xargs tmux switch-client -t
|
||||
}
|
||||
export -f tmuxswitcher
|
||||
|
|
|
@ -4,7 +4,7 @@ set -g prefix C-s
|
|||
bind-key s send-prefix
|
||||
|
||||
# statusbar on bottom
|
||||
set-option -g status-position bottom
|
||||
set-option -g status-position top
|
||||
set-option -g mouse on
|
||||
|
||||
# honestly not sure
|
||||
|
@ -23,14 +23,17 @@ set -g default-terminal "tmux-256color"
|
|||
unbind r
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# hide tmux status bar by default (prefix H toggles)
|
||||
set -g status off
|
||||
|
||||
# toggle status bar hotkey
|
||||
# show tmux status bar by default (prefix H toggles)
|
||||
set -g status on
|
||||
bind-key H set status
|
||||
|
||||
bind-key j switch-client -p
|
||||
bind-key h switch-client -p
|
||||
bind-key k switch-client -n
|
||||
bind-key l switch-client -n
|
||||
|
||||
# message colors
|
||||
set -g message-bg colour18
|
||||
set -g message-bg colour0
|
||||
set -g message-fg colour7
|
||||
|
||||
# status bar configuration
|
||||
|
@ -38,21 +41,21 @@ set -g message-fg colour7
|
|||
set -g status-justify left
|
||||
|
||||
# status bar colors
|
||||
set -g status-bg colour18
|
||||
set -g status-fg colour7
|
||||
set -g status-bg colour0
|
||||
set -g status-fg colour8
|
||||
|
||||
# don't show time or date or anything - we have a bar for that
|
||||
# don't show time or date or anything - we have a bar for that
|
||||
set -g status-left ''
|
||||
set -g status-right ''
|
||||
set -g status-right-length 20
|
||||
|
||||
set -g status-interval 1
|
||||
set status-interval 1
|
||||
# set -g status-left '#(#{DOTFILES_PATH}/scripts/bin/tmux-session-list #S)'
|
||||
# set status-interval 1
|
||||
set -g status-left '#(#{DOTFILES_PATH}/scripts/bin/tmux-session-list #S)'
|
||||
set -g status-left-length 80
|
||||
|
||||
setw -g window-status-current-fg colour7
|
||||
setw -g window-status-current-bg colour1
|
||||
setw -g window-status-current-bg colour2
|
||||
# setw -g window-status-current-attr bold
|
||||
setw -g window-status-current-format ''
|
||||
|
||||
|
@ -70,14 +73,16 @@ set -g pane-border-fg colour18
|
|||
set -g pane-active-border-fg blue
|
||||
set -g pane-active-border-bg default
|
||||
|
||||
bind-key s run "tmux new-window 'bash -ci tmuxswitcher'"
|
||||
|
||||
# present a menu of urls to open from the visible pane
|
||||
bind-key u capture-pane \;\
|
||||
save-buffer /tmp/tmux-buffer \;\
|
||||
split-window -l 10 "urlview /tmp/tmux-buffer"
|
||||
save-buffer /tmp/tmux-buffer \;\
|
||||
split-window -l 10 "urlview /tmp/tmux-buffer"
|
||||
|
||||
# mimic pane switching in and out of vim
|
||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
|
||||
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
|
||||
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
|
||||
|
@ -115,3 +120,4 @@ set -g @continuum-boot 'on'
|
|||
run '~/.tmux/plugins/tpm/tpm'
|
||||
|
||||
unbind-key C-p
|
||||
|
||||
|
|
Reference in a new issue