aboutsummaryrefslogtreecommitdiff
path: root/urxvt
diff options
context:
space:
mode:
authorbard <[email protected]>2024-04-15 06:24:14 -0400
committerbard <[email protected]>2024-04-15 06:24:14 -0400
commit168120d4068eff9816c11f0503738c12861821ae (patch)
tree635e839eeca920432fcaa8417b282e074e84a4c2 /urxvt
initial commit
Diffstat (limited to 'urxvt')
-rw-r--r--urxvt/Repositories/URxvt-themes/And yet another random36
-rw-r--r--urxvt/Repositories/URxvt-themes/DebianThemeURxvt58
-rw-r--r--urxvt/Repositories/URxvt-themes/Good rainbow55
-rw-r--r--urxvt/Repositories/URxvt-themes/HomeMade Cotton Candy56
-rw-r--r--urxvt/Repositories/URxvt-themes/Jelly Beans yo45
-rw-r--r--urxvt/Repositories/URxvt-themes/LightPurpleGreen53
-rw-r--r--urxvt/Repositories/URxvt-themes/README.md110
-rw-r--r--urxvt/Repositories/URxvt-themes/a new one40
-rw-r--r--urxvt/Repositories/URxvt-themes/a theme49
-rw-r--r--urxvt/Repositories/URxvt-themes/all colorful and stuff56
-rw-r--r--urxvt/Repositories/URxvt-themes/arch dude remix39
-rw-r--r--urxvt/Repositories/URxvt-themes/black blue space33
-rw-r--r--urxvt/Repositories/URxvt-themes/blue white purpe calm51
-rw-r--r--urxvt/Repositories/URxvt-themes/brown slug44
-rw-r--r--urxvt/Repositories/URxvt-themes/calm girl55
-rw-r--r--urxvt/Repositories/URxvt-themes/dark violet good30
-rw-r--r--urxvt/Repositories/URxvt-themes/fall19
-rw-r--r--urxvt/Repositories/URxvt-themes/fall green45
-rw-r--r--urxvt/Repositories/URxvt-themes/gray blue chill brah43
-rw-r--r--urxvt/Repositories/URxvt-themes/green white URxvt50
-rw-r--r--urxvt/Repositories/URxvt-themes/holiday pine50
-rw-r--r--urxvt/Repositories/URxvt-themes/i have no name56
-rw-r--r--urxvt/Repositories/URxvt-themes/i'm not gentoo26
-rw-r--r--urxvt/Repositories/URxvt-themes/julie27
-rw-r--r--urxvt/Repositories/URxvt-themes/light dark27
-rw-r--r--urxvt/Repositories/URxvt-themes/mix a lot19
-rw-r--r--urxvt/Repositories/URxvt-themes/never-seen/g35
-rw-r--r--urxvt/Repositories/URxvt-themes/pretty49
-rw-r--r--urxvt/Repositories/URxvt-themes/purplish52
-rw-r--r--urxvt/Repositories/URxvt-themes/rando light purp67
-rw-r--r--urxvt/Repositories/URxvt-themes/rando mac39
-rw-r--r--urxvt/Repositories/URxvt-themes/ronery flower56
-rw-r--r--urxvt/Repositories/URxvt-themes/smooth white blue34
-rw-r--r--urxvt/Repositories/URxvt-themes/something44
-rw-r--r--urxvt/Repositories/URxvt-themes/the arch dude37
-rw-r--r--urxvt/Repositories/URxvt-themes/tree bark56
-rw-r--r--urxvt/Repositories/URxvt-themes/tree green brown41
-rw-r--r--urxvt/Repositories/urxvt-perls/LICENSE339
-rw-r--r--urxvt/Repositories/urxvt-perls/README.md45
-rw-r--r--urxvt/Repositories/urxvt-perls/deprecated/README.md87
-rw-r--r--urxvt/Repositories/urxvt-perls/deprecated/clipboard115
-rw-r--r--urxvt/Repositories/urxvt-perls/deprecated/url-select408
-rw-r--r--urxvt/Repositories/urxvt-perls/keyboard-select606
43 files changed, 3282 insertions, 0 deletions
diff --git a/urxvt/Repositories/URxvt-themes/And yet another random b/urxvt/Repositories/URxvt-themes/And yet another random
new file mode 100644
index 0000000..581b327
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/And yet another random
@@ -0,0 +1,36 @@
+! special
+*.foreground: #d7d7d7
+*.background: #2f2e36
+*.cursorColor: #d7d7d7
+
+! black
+*.color0: #9da4c2
+*.color8: #9da4c2
+
+! red
+*.color1: #8a504f
+*.color9: #8a504f
+
+! green
+*.color2: #597e54
+*.color10: #597e54
+
+! yellow
+*.color3: #bfbf8c
+*.color11: #bfbf8c
+
+! blue
+*.color4: #555870
+*.color12: #555870
+
+! magenta
+*.color5: #655b66
+*.color13: #655b66
+
+! cyan
+*.color6: #6a7a7a
+*.color14: #6a7a7a
+
+! white
+*.color7: #e5e5e5
+*.color15: #ffffff
diff --git a/urxvt/Repositories/URxvt-themes/DebianThemeURxvt b/urxvt/Repositories/URxvt-themes/DebianThemeURxvt
new file mode 100644
index 0000000..b0c02ff
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/DebianThemeURxvt
@@ -0,0 +1,58 @@
+! Xresource file
+
+URxvt*depth: 24
+URxvt*geometry: 100x25
+URxvt.borderColor: #333333
+URxvt.internalBorder: 8
+
+! -- scrollbar
+
+URxvt.scrollstyle: plain
+URxvt.scrollBar: false
+URxvt.scrollTtyOutput: false
+URxvt.scrollWidthBuffer: true
+URxvt.scrollTtyKeypress: true
+
+! -- login shell
+
+URxvt.loginShell: false
+
+! -- font
+
+URxvt.font: xft:lime:pixelsize=10
+
+
+! -- perl
+
+URxvt.perl-ext-command: default,clipboard,vtwheel
+URxvt.keysym.Mod4-v: perl:clipboard:paste
+
+! -- colors
+
+! black
+URxvt.color0: #121212
+URxvt.color8: #3B3B3B
+! red
+URxvt.color1: #8C4655
+URxvt.color9: #B3596B
+! green
+URxvt.color2: #8C466A
+URxvt.color10: #B35988
+! yellow
+URxvt.color3: #8C4681
+URxvt.color11: #B359A4
+! blue
+URxvt.color4: #81468C
+URxvt.color12: #2d2d2d
+! magenta
+URxvt.color5: #6A468C
+URxvt.color13: #8859B3
+! cyan
+URxvt.color6: #55468C
+URxvt.color14: #6B59B3
+! white
+URxvt.color7: #737373
+URxvt.color15: #8C8C8C
+
+URxvt.background: #333333
+URxvt.foreground: 15
diff --git a/urxvt/Repositories/URxvt-themes/Good rainbow b/urxvt/Repositories/URxvt-themes/Good rainbow
new file mode 100644
index 0000000..8152baa
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/Good rainbow
@@ -0,0 +1,55 @@
+!--------------------xdefauls
+URxvt.font: xft:terminus:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt.foreground: #bea492
+URxvt.background: #181512
+URxvt.cursorColor: #bea492
+URxvt.colorBD: #bea492
+
+! black
+URxvt.color0: #33302e
+URxvt.color8: #81776f
+
+! red
+URxvt.color1: #8c4c4c
+URxvt.color9: #9f5555
+
+! green
+URxvt.color2: #746c48
+URxvt.color10: #857b52
+
+! yellow
+URxvt..color3: #907245
+URxvt..color11: #9c7e53
+
+! blue
+URxvt.color4: #4c626d
+URxvt.color12: #5b707a
+
+! magenta
+URxvt.color5: #604c5f
+URxvt.color13: #625665
+
+! cyan
+URxvt.color6: #4b5e57
+URxvt.color14: #557067
+
+! white
+URxvt.color7: #a69181
+URxvt.color15: #e8dfcd
diff --git a/urxvt/Repositories/URxvt-themes/HomeMade Cotton Candy b/urxvt/Repositories/URxvt-themes/HomeMade Cotton Candy
new file mode 100644
index 0000000..7d96607
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/HomeMade Cotton Candy
@@ -0,0 +1,56 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #c5c8c6
+*.background: #1f1f1f
+*.cursorColor: #c5c8c6
+
+! black
+*.color0: #282a2e
+*.color8: #373b41
+
+! red
+*.color1: #a85377
+*.color9: #a85377
+
+! green
+*.color2: #746f81
+*.color10: #746f81
+
+! yellow
+*.color3: #545670
+*.color11: #545670
+
+! blue
+*.color4: #6a9bb9
+*.color12: #6a9bb9
+
+! magenta
+*.color5: #764970
+*.color13: #764970
+
+! cyan
+*.color6: #abb9ba
+*.color14: #abb9ba
+
+! white
+*.color7: #899298
+*.color15: #899298
diff --git a/urxvt/Repositories/URxvt-themes/Jelly Beans yo b/urxvt/Repositories/URxvt-themes/Jelly Beans yo
new file mode 100644
index 0000000..82ddf14
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/Jelly Beans yo
@@ -0,0 +1,45 @@
+!! jellybeans colors
+! 8 8 8
+! *background: #080808
+! 128 128 128
+! *foreground: #808080
+! black
+! 26 26 26
+*color0: #1a1a1a
+! 64 64 64
+*color8: #404040
+! red
+! 215 95 95
+*color1: #d75f5f
+! 234 132 132
+*color9: #EA8484
+! green
+! 135 175 95
+*color2: #87af5f
+! 199 240 159
+*color10: #C7F09F
+! yellow
+! 255 175 95
+*color3: #ffaf5f
+! 255 204 154
+*color11: #FFCC9A
+! blue
+! 135 175 215
+*color4: #87afd7
+! 165 202 239
+*color12: #a5caef
+! magenta
+! 135 135 175
+*color5: #8787af
+! 166 166 222
+*color13: #A6A6DE
+! cyan
+! 95 135 135
+*color6: #5f8787
+! 105 178 178
+*color14: #69b2b2
+! white
+! 128 128 128
+*color7: #808080
+! 215 215 215
+*color15: #d7d7d7
diff --git a/urxvt/Repositories/URxvt-themes/LightPurpleGreen b/urxvt/Repositories/URxvt-themes/LightPurpleGreen
new file mode 100644
index 0000000..b9e9968
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/LightPurpleGreen
@@ -0,0 +1,53 @@
+!--------------------xdefauls
+URxvt.font: xft:ubuntu mono:pixelsize=12
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #4B414C
+URxvt*foreground: #efefef
+! --- standard colors ---
+! black
+URxvt*color0: #7f94a0
+! bright_black
+URxvt*color8: #7f94a0
+! red
+URxvt*color1: #818995
+! bright_red
+URxvt*color9: #818995
+! green
+URxvt*color2: #A5BE9E
+! bright_green
+URxvt*color10: #A5BE9E
+! yellow
+URxvt*color3: #afad84
+! bright_yellow
+URxvt*color11: #afad84
+! blue
+URxvt*color4: #afad84
+! bright_blue
+URxvt*color12: #afad84
+! magenta
+URxvt*color5: #efefef
+! bright_magenta
+URxvt*color13: #efefef
+! cyan
+URxvt*color6: #6c7570
+! bright_cyan
+URxvt*color14: #6c7570
+! white
+URxvt*color7: #ada38b
+! bright_white
+URxvt*color15: #efefef
diff --git a/urxvt/Repositories/URxvt-themes/README.md b/urxvt/Repositories/URxvt-themes/README.md
new file mode 100644
index 0000000..7bd2899
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/README.md
@@ -0,0 +1,110 @@
+light purplegreen
+============
+
+<a href="http://imgur.com/r4qnd0P"><img src="http://i.imgur.com/r4qnd0P.png" title="source: imgur.com" /></a>>
+
+dark violet
+============
+
+<a href="http://imgur.com/syB9MpU"><img src="http://i.imgur.com/syB9MpU.png" title="source: imgur.com" /></a>
+
+
+julia
+============
+
+<a href="http://imgur.com/HldAf6q"><img src="http://i.imgur.com/HldAf6q.png" title="source: imgur.com" /></a>
+
+mixa lot
+=============
+
+<a href="http://imgur.com/Sf0DCnT"><img src="http://i.imgur.com/Sf0DCnT.png" title="source: imgur.com" /></a>
+
+pretty
+=============
+<a href="http://imgur.com/hBDtz4K"><img src="http://i.imgur.com/hBDtz4K.png" title="source: imgur.com" /></a>
+
+blue space
+==============
+<a href="http://imgur.com/gQquxno"><img src="http://i.imgur.com/gQquxno.png" title="source: imgur.com" /></a>
+
+random tree
+======================
+<a href="http://imgur.com/noH7P4Y"><img src="http://i.imgur.com/noH7P4Y.png" title="source: imgur.com" /></a>
+
+deep sea
+=====================
+<a href="http://imgur.com/U5bxU64"><img src="http://i.imgur.com/U5bxU64.png" title="source: imgur.com" /></a>
+
+a theme
+=====================
+<a href="http://imgur.com/eM8YhzW"><img src="http://i.imgur.com/eM8YhzW.png" title="source: imgur.com" /></a>
+
+fall
+=======================
+<a href="http://imgur.com/0ors61Y"><img src="http://i.imgur.com/0ors61Y.png" title="source: imgur.com" /></a>
+
+Smooth white blue
+======================
+<a href="http://imgur.com/9TjIBMI"><img src="http://i.imgur.com/9TjIBMI.png" title="source: imgur.com" /></a>
+
+fall green ncmpcpp
+==================
+<a href="http://imgur.com/gRcjR4G"><img src="http://i.imgur.com/gRcjR4G.png" title="source: imgur.com" /></a>
+
+something
+=======================
+<a href="http://imgur.com/Kv9xN3Q"><img src="http://i.imgur.com/Kv9xN3Q.png" title="source: imgur.com" /></a>
+
+the arch dude
+=======================
+<a href="http://imgur.com/IOtOjeC"><img src="http://i.imgur.com/IOtOjeC.png" title="source: imgur.com" /></a>
+
+i'm not gentoo
+=========================
+<a href="http://imgur.com/2Mu9Q02"><img src="http://i.imgur.com/2Mu9Q02.png" title="source: imgur.com" /></a>
+
+good rainbow
+=========================
+<a href="http://imgur.com/ds1Zzit"><img src="http://i.imgur.com/ds1Zzit.png" title="source: imgur.com" /></a>
+
+HomeMade Cotton Candy
+====================
+<a href="http://i.imgur.com/oGka08U.png">
+ <img src="http://imgur.com/oGka08Ul.png" />
+</a>
+
+tree bark
+============================
+<a href="http://i.imgur.com/sJd9l1B.png">
+ <img src="http://imgur.com/sJd9l1Bl.png" />
+</a>
+
+All colorful and shit
+============================
+<a href="http://i.imgur.com/zkg0YI3.png">
+ <img src="http://imgur.com/zkg0YI3l.png" />
+</a>
+
+ronery flower
+=============================
+<a href="http://i.imgur.com/oFQXGei.png">
+ <img src="http://imgur.com/oFQXGeil.png" />
+</a>
+
+rando macfag gay
+=============================
+<a href="http://i.imgur.com/cCWoNGE.png">
+ <img src="http://imgur.com/cCWoNGEl.png" />
+</a>
+
+i have no name
+===========================
+<a href="http://i.imgur.com/8Wwea9o.png">
+ <img src="http://imgur.com/8Wwea9ol.png" />
+</a>
+
+calm girl
+============================
+<a href="http://i.imgur.com/K84OSho.png">
+ <img src="http://imgur.com/K84OShol.png" />
+</a>
diff --git a/urxvt/Repositories/URxvt-themes/a new one b/urxvt/Repositories/URxvt-themes/a new one
new file mode 100644
index 0000000..9470984
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/a new one
@@ -0,0 +1,40 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=11
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+*background: #20242c
+*foreground: #b3b8c4
+
+*color0: #3e4853
+*color1: #b06a58
+*color2: #95b47b
+*color3: #e5c078
+*color4: #58698c
+*color5: #7b5e8d
+*color6: #82a1b2
+*color7: #cccaca
+
+*color8: #525c67
+*color9: #ba7e6c
+*color10: #a9c88f
+*color11: #f9d48c
+*color12: #6c7da0
+*color13: #8f72a1
+*color14: #96b5c6
+*color15: #e0dede
diff --git a/urxvt/Repositories/URxvt-themes/a theme b/urxvt/Repositories/URxvt-themes/a theme
new file mode 100644
index 0000000..1c615c3
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/a theme
@@ -0,0 +1,49 @@
+URxvt.cursorColor: #c0b18b
+! black
+!URxvt.color0: #2f2f2f
+!URxvt.color8: #444444
+! red
+!URxvt.color1: #8800DD
+!URxvt.color9: #AA22FF
+! green
+!URxvt.color2: #9977DD
+!URxvt.color10: #BB99EE
+! yellow
+!URxvt.color3: #BB88EE
+!URxvt.color11: #DDAAEE
+! blue
+!URxvt.color4: #7755FF
+!URxvt.color12: #AA88FF
+! magenta
+!URxvt.color5: #6600DD
+!URxvt.color13: #9955FF
+! cyan
+!URxvt.color6: #9977AA
+!URxvt.color14: #BB99CC
+! white
+!URxvt.color7: #EEEEEE
+!URxvt.color15: #AAAAAA
+!black
+URxvt.color0:#4A3637
+URxvt.color8:#4A3637
+!red
+URxvt.color1:#d17b49
+URxvt.color9:#d17b49
+!green
+URxvt.color2:#7b8748
+URxvt.color10:#7b8748
+!yellow
+URxvt.color3:#af865a
+URxvt.color11:#af865a
+!blue
+URxvt.color4:#535C5C
+URxvt.color12:#535C5C
+!magenta
+URxvt.color5:#775759
+URxvt.color13:#775759
+!cyan
+URxvt.color6:#6d715e
+URxvt.color14:#6d715e
+!white
+URxvt.color7:#c0b18b
+URxvt.color15:#c0b18b
diff --git a/urxvt/Repositories/URxvt-themes/all colorful and stuff b/urxvt/Repositories/URxvt-themes/all colorful and stuff
new file mode 100644
index 0000000..924f704
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/all colorful and stuff
@@ -0,0 +1,56 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #aaaaaa
+*.background: #161b21
+*.cursorColor: #aaaaaa
+
+! black
+*.color0: #9ea2a5
+*.color8: #9ea2a5
+
+! red
+*.color1: #8b6066
+*.color9: #8b6066
+
+! green
+*.color2: #9a7e62
+*.color10: #9a7e62
+
+! yellow
+*.color3: #e7d869
+*.color11: #e7d869
+
+! blue
+*.color4: #354f73
+*.color12: #354f73
+
+! magenta
+*.color5: #55465b
+*.color13: #55465b
+
+! cyan
+*.color6: #716467
+*.color14: #716467
+
+! white
+*.color7: #aaaaaa
+*.color15: #a7a9a8
diff --git a/urxvt/Repositories/URxvt-themes/arch dude remix b/urxvt/Repositories/URxvt-themes/arch dude remix
new file mode 100644
index 0000000..4046bcd
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/arch dude remix
@@ -0,0 +1,39 @@
+!--------------------xdefauls
+URxvt.font: xft:terminus:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+
+URxvt.color0: #3B444F
+URxvt.color8: #4A585A
+URxvt.color1: #D8B795
+URxvt.color9: #D8B795
+URxvt.color2: #A5AF86
+URxvt.color10: #BDC79E
+URxvt.color3: #CD7860
+URxvt.color11: #E88773
+URxvt.color4: #7A9388
+URxvt.color12: #94B1A3
+URxvt.color5: #75434C
+URxvt.color13: #BB6C73
+URxvt.color6: #767D75
+URxvt.color14: #9DA69E
+URxvt.color7: #C2C2A8
+URxvt.color15: #DBDAC1
+URxvt.background: #252525
+URxvt.foreground: #a3a6ab
+URxvt..colorUL: #95b9cc
diff --git a/urxvt/Repositories/URxvt-themes/black blue space b/urxvt/Repositories/URxvt-themes/black blue space
new file mode 100644
index 0000000..b2d1aa7
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/black blue space
@@ -0,0 +1,33 @@
+URxvt.scrollBar: false
+urxvt*termName: rxvt
+urxvt*font: xft:uushi:pixelsize=8
+urxvt*boldFont:
+urxvt*background: #000000
+urxvt*foreground: #666699
+urxvt*cursorColor: #6699CC
+urxvt*colorBD: #CCCCFF
+
+!Visiblue
+urxvt*color0: #333366
+urxvt*color8: #333399
+
+urxvt*color1: #6666CC
+urxvt*color9: #9999FF
+
+urxvt*color2: #0099CC
+urxvt*color10: #00CCFF
+
+urxvt*color3: #3366CC
+urxvt*color11: #6699FF
+
+urxvt*color4: #006699
+urxvt*color12: #0099CC
+
+urxvt*color5: #0066FF
+urxvt*color13: #0099FF
+
+urxvt*color6: #669999
+urxvt*color14: #66CCCC
+
+urxvt*color7: #99CCCC
+urxvt*color15: #CCFFFF
diff --git a/urxvt/Repositories/URxvt-themes/blue white purpe calm b/urxvt/Repositories/URxvt-themes/blue white purpe calm
new file mode 100644
index 0000000..f73c7e3
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/blue white purpe calm
@@ -0,0 +1,51 @@
+!--------------------xdefauls
+URxvt.font: xft:Ubuntu Mono:bold:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #1b1b1b
+URxvt*foreground: #efefef
+! --- standard colors ---
+! black
+URxvt*color0: #7f94a0
+! bright_black
+URxvt*color8: #A56D61
+! red
+URxvt*color1: #8687b3
+! bright_red
+URxvt*color9: #9E9FBE
+! green
+URxvt*color2: #A5BE9E
+! bright_green
+URxvt*color10: #a6ad8d
+! yellow
+URxvt*color3: #C19FBA
+! bright_yellow
+URxvt*color11: #afad84
+! blue
+URxvt*color4: #7f6270
+! bright_blue
+URxvt*color12: #af9c96
+! magenta
+URxvt*color5: #efefef
+! bright_magenta
+URxvt*color13: #b89c8d
+! cyan
+URxvt*color6: #6c7570
+! bright_cyan
+URxvt*color14: #a6a496
+! white
+URxvt*color7: #ada38b
+! bright_white
+URxvt*color15: #efefef
diff --git a/urxvt/Repositories/URxvt-themes/brown slug b/urxvt/Repositories/URxvt-themes/brown slug
new file mode 100644
index 0000000..655df45
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/brown slug
@@ -0,0 +1,44 @@
+!--------------------xdefauls
+URxvt.font: xft:tamsyn:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+URxvt.foreground: #507a5e
+URxvt.background: #27292a
+URxvt.cursorColor: #507a5e
+! black
+URxvt.color0: #282a2e
+URxvt.color8: #373b41
+! red
+URxvt.color1: #927575
+URxvt.color9: #524545
+! green
+URxvt.color2: #dbe57e
+URxvt.color10: #dce95a
+! yellow
+URxvt.color3: #d39d77
+URxvt.color11: #d6c096
+! blue
+URxvt.color4: #33424f
+URxvt.color12: #42596d
+! magenta
+URxvt.color5: #755c7d
+URxvt.color13: #7a6380
+! cyan
+URxvt.color6: #5e8d87
+URxvt.color14: #4f6a66
+! white
+URxvt.color7: #40454a
+URxvt.color15: #575056
diff --git a/urxvt/Repositories/URxvt-themes/calm girl b/urxvt/Repositories/URxvt-themes/calm girl
new file mode 100644
index 0000000..602655f
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/calm girl
@@ -0,0 +1,55 @@
+
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #c5c8c6
+*.background: #333232
+*.cursorColor: #c5c8c6
+
+! black
+*.color0: #585c69
+*.color8: #585c69
+
+! red
+*.color1: #cab0a1
+*.color9: #cab0a1
+
+! green
+*.color2: #9f8578
+*.color10: #9f8578
+
+! yellow
+*.color3: #986c5b
+*.color11: #986c5b
+
+! blue
+*.color4: #808178
+*.color12: #808178
+
+! magenta
+*.color5: #979892
+*.color13: #979892
+
+! cyan
+*.color6: #cab0a1
+*.color14: #cab0a1
+
+! white
+*.color7: #707880
+*.color15: #707880
diff --git a/urxvt/Repositories/URxvt-themes/dark violet good b/urxvt/Repositories/URxvt-themes/dark violet good
new file mode 100644
index 0000000..87e9c40
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/dark violet good
@@ -0,0 +1,30 @@
+
+
+ URxvt*background: #1b1b1b
+ URxvt*foreground: #cccaca
+
+ !Black
+ URxvt*color0: #222222
+ URxvt*color8: #5b595a
+ !Red
+ URxvt*color1: #664742
+ URxvt*color9: #664742
+ !Green
+ URxvt*color2: #A5AF86
+ URxvt*color10: #A5AF86
+ !Yellow
+ URxvt*color3: #F7E7BD
+ URxvt*color11: #F7E7BD
+ !Blue
+ URxvt*color4: #6e686f
+ URxvt*color12: #6e686f
+ !Magenta
+ URxvt*color5: #966E6E
+ URxvt*color13: #B09A91
+ !Cyan
+ URxvt*color6: #849492
+ URxvt*color14: #849492
+ !White
+ URxvt*color7: #a49c9c
+ URxvt*color15: #e9e6e6
+
diff --git a/urxvt/Repositories/URxvt-themes/fall b/urxvt/Repositories/URxvt-themes/fall
new file mode 100644
index 0000000..0cc0e56
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/fall
@@ -0,0 +1,19 @@
+
+
+ *color0: #d4c490
+ *color1: #aab283
+ *color2: #8a9b71
+ *color3: #5c7162
+ *color4: #a1755c
+ *color5: #895255
+ *color6: #a95332
+ *color7: #6c886f
+ *color8: #c4623d
+ *color9: #94643e
+ *color10: #b78143
+ *color11: #c69459
+ *color12: #ae8b6b
+ *color13: #818890
+ *color14: #d4c490
+ *color15: #aab283
+
diff --git a/urxvt/Repositories/URxvt-themes/fall green b/urxvt/Repositories/URxvt-themes/fall green
new file mode 100644
index 0000000..7d98907
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/fall green
@@ -0,0 +1,45 @@
+!--------------------xdefauls
+URxvt.font: xft:ubuntu mono:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #212121
+URxvt*foreground: #D2C5BC
+!#D2C5BC
+!black
+URxvt*color0:#777777
+URxvt*color8:#777777
+!red
+URxvt*color1:#a19488
+URxvt*color9:#a19488
+!green
+URxvt*color2:#88a194
+URxvt*color10:#88a194
+!yellow
+URxvt*color3:#95a188
+URxvt*color11:#95a188
+!blue
+URxvt*color4:#9488a1
+URxvt*color12:#9488a1
+!magenta
+URxvt*color5:#a18895
+URxvt*color13:#a18895
+!cyan
+URxvt*color6:#8895a1
+URxvt*color14:#8895a1
+!white
+URxvt*color7:#d9d9d9
+URxvt*color15:#d9d9d9
diff --git a/urxvt/Repositories/URxvt-themes/gray blue chill brah b/urxvt/Repositories/URxvt-themes/gray blue chill brah
new file mode 100644
index 0000000..097dc0a
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/gray blue chill brah
@@ -0,0 +1,43 @@
+!--------------------xdefauls
+urxvt*font: xft:uushi:size=8
+urxvt*termName: rxvt
+urxvt*background: #333333
+urxvt*foreground: #efefef
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt*allow_bold: true
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! black + red
+!urxvt*color0: #3f3f3f
+urxvt*color0: #2d2d2d
+urxvt*color1: #dcdccc
+! green + yellow
+urxvt*color2: #A9A794
+urxvt*color3: #506070
+! blue + purple
+urxvt*color4: #938989
+urxvt*color5: #B1AE95
+! cyan + white
+urxvt*color6: #A1C1CE
+urxvt*color7: #efefef
+! bright-black + bright-red
+urxvt*color8: #506070
+urxvt*color9: #938989
+! bright-green + bright-yellow
+urxvt*color10: #C5B9C9
+urxvt*color11: #506070
+! bright-blue + bright-purple
+urxvt*color12: #94bff3
+urxvt*color13: #ec93d3
+! bright-cyan + bright-white
+urxvt*color14: #93e0e3
+urxvt*color15: #efefef
+!}}}
diff --git a/urxvt/Repositories/URxvt-themes/green white URxvt b/urxvt/Repositories/URxvt-themes/green white URxvt
new file mode 100644
index 0000000..c43d32c
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/green white URxvt
@@ -0,0 +1,50 @@
+
+! Xresource file
+URxvt*depth: 12
+URxvt*geometry: 80x20
+URxvt.borderColor: #739890
+URxvt.internalBorder: 4
+! -- scrollbar
+URxvt.scrollstyle: plain
+URxvt.scrollBar: false
+URxvt.scrollTtyOutput: false
+URxvt.scrollWidthBuffer: true
+URxvt.scrollTtyKeypress: true
+! -- login shell
+URxvt.loginShell: false
+! -- font
+URxvt.font: xft:uushi:pixelsize=9
+URxvt.boldFont:
+! -- perl
+URxvt.perl-ext-command: default,clipboard,vtwheel
+URxvt.keysym.Mod4-v: perl:clipboard:paste
+! -- colors
+URxvt.background: #424242
+URxvt.foreground: #739890
+URxvt.colorBD: #CFCFCF
+URxvt.colorUL: #A0A0A0
+URxvt.colorIT: #686868
+!BLK
+URxvt.color0: #303030
+URxvt.color8: #686868
+!RED
+URxvt.color9: #cfcfcf
+URxvt.color1: #cfcfcf
+!GRN
+URxvt.color10: #A3D572
+URxvt.color2: #6D9E3F
+!BLU
+URxvt.color12: #98CBFE
+URxvt.color4: #6095C5
+!YEL
+URxvt.color11: #EFBD8B
+URxvt.color3: #B58858
+!CYN
+URxvt.color14: #75DAA9
+URxvt.color6: #3BA275
+!MAG
+URxvt.color13: #E5B0FF
+URxvt.color5: #AC7BDE
+!WHT
+URxvt.color7: #CFCFCF
+URxvt.color15: #FFFFFF
diff --git a/urxvt/Repositories/URxvt-themes/holiday pine b/urxvt/Repositories/URxvt-themes/holiday pine
new file mode 100644
index 0000000..a400e89
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/holiday pine
@@ -0,0 +1,50 @@
+!--------------------xdefauls
+URxvt.font: xft:Ubuntu Mono:bold:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+*background: #838B83
+*foreground: #d9e6f2
+! --- standard colors ---
+! black
+*color0: #50452e
+! bright_black
+*color8: #6a5f48
+! red
+*color1: #92754a
+! bright_red
+*color9: #b8a484
+! green
+*color2: #3D7221
+! bright_green
+*color10: #a6ad8d
+! yellow
+*color3: #E0EC8B
+! bright_yellow
+*color11: #afad84
+! blue
+*color4: #7f6270
+! bright_blue
+*color12: #af9c96
+! magenta
+*color5: #92625d
+! bright_magenta
+*color13: #b89c8d
+! cyan
+*color6: #6c7570
+! bright_cyan
+*color14: #a6a496
+! white
+*color7: #ada38b
+! bright_white
+*color15: #B0A07D
diff --git a/urxvt/Repositories/URxvt-themes/i have no name b/urxvt/Repositories/URxvt-themes/i have no name
new file mode 100644
index 0000000..5225484
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/i have no name
@@ -0,0 +1,56 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #9d9191
+*.background: #1f1c1e
+*.cursorColor: #9d9191
+
+! black
+*.color0: #85983e
+*.color8: #36353a
+
+! red
+*.color1: #b3655b
+*.color9: #fb8e91
+
+! green
+*.color2: #eed7a1
+*.color10: #9aaa5f
+
+! yellow
+*.color3: #e1977e
+*.color11: #c3aa81
+
+! blue
+*.color4: #627d92
+*.color12: #525173
+
+! magenta
+*.color5: #503d50
+*.color13: #483440
+
+! cyan
+*.color6: #77899f
+*.color14: #425d72
+
+! white
+*.color7: #707880
+*.color15: #c5c8c6
diff --git a/urxvt/Repositories/URxvt-themes/i'm not gentoo b/urxvt/Repositories/URxvt-themes/i'm not gentoo
new file mode 100644
index 0000000..72a02bf
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/i'm not gentoo
@@ -0,0 +1,26 @@
+urxvt*background: #212629
+urxvt*foreground: #737c80
+!black
+URxvt*color0: #111313
+URxvt*color8: #424446
+!red
+URxvt*color1: #9e6b71
+URxvt*color9: #b69094
+!green
+URxvt*color2: #719e6b
+URxvt*color10: #94b690
+!yellow
+URxvt*color3: #9e986c
+URxvt*color11: #b5b18f
+!blue
+URxvt*color4: #6c8b9e
+URxvt*color12: #90a7b6
+!magenta
+URxvt*color5: #986b9e
+URxvt*color13: #b290b6
+!cyan
+URxvt*color6: #6b9e98
+URxvt*color14: #90b6b3
+!white
+URxvt*color7: #b8baba
+URxvt*color15: #cdcfce
diff --git a/urxvt/Repositories/URxvt-themes/julie b/urxvt/Repositories/URxvt-themes/julie
new file mode 100644
index 0000000..4b9e960
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/julie
@@ -0,0 +1,27 @@
+URxvt*background: [90]#151515
+URxvt*foreground: #c6a57b
+URxvt*background: #151515
+!black
+URxvt*color0: #101010
+URxvt*color8: #404040
+!red
+URxvt*color1: #953331
+URxvt*color9: #8D4A48
+!green
+URxvt*color2: #546A29
+URxvt*color10: #7E9960
+!yellow
+URxvt*color3: #909737
+URxvt*color11: #9CA554
+!blue
+URxvt*color4: #385E6B
+URxvt*color12: #5C737C
+!magenta
+URxvt*color5: #7F355E
+URxvt*color13: #95618B
+!cyan
+URxvt*color6: #34676F
+URxvt*color14: #5D858A
+!white
+URxvt*color7: #dddddd
+URxvt*color15: #dddddd
diff --git a/urxvt/Repositories/URxvt-themes/light dark b/urxvt/Repositories/URxvt-themes/light dark
new file mode 100644
index 0000000..ad65c71
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/light dark
@@ -0,0 +1,27 @@
+!black
+URxvt.color0: #000000
+URxvt.color8: #2B2B2B
+!red
+URxvt.color1: #A5372E
+URxvt.color9: #E06C5C
+!green
+URxvt.color2: #4A663C
+URxvt.color10: #7B996C
+!yellow
+URxvt.color3: #7C5618
+URxvt.color11: #B38849
+!blue
+URxvt.color4: #566060
+URxvt.color12: #889393
+!magenta
+URxvt.color5: #8E4948
+URxvt.color13: #C67C78
+!cyan
+URxvt.color6: #6D5B42
+URxvt.color14: #A28D73
+!white
+URxvt.color7: #8D8D8D
+URxvt.color15: #C6C6C6
+
+urxvt.background: #111111
+urxvt.foreground: 15
diff --git a/urxvt/Repositories/URxvt-themes/mix a lot b/urxvt/Repositories/URxvt-themes/mix a lot
new file mode 100644
index 0000000..713f63e
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/mix a lot
@@ -0,0 +1,19 @@
+*background:#171717
+*foreground:#b3b4b1
+*color0: #1d1d1d
+*color1: #784742
+*color2: #427363
+*color3: #665847
+*color4: #6a708b
+*color5: #7a378b
+*color6: #52707b
+*color7: #b3b3b3
+
+*color8: #4c4c4c
+*color9: #784742
+*color10: #cef318
+*color11: #ede265
+*color12: #6ac0fd
+*color13: #ef79ae
+*color14: #49d4dd
+*color15: #ffffff
diff --git a/urxvt/Repositories/URxvt-themes/never-seen/g b/urxvt/Repositories/URxvt-themes/never-seen/g
new file mode 100644
index 0000000..d66e3d2
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/never-seen/g
@@ -0,0 +1,35 @@
+*background: #181b20
+*foreground: #D2C5BC
+!#D2C5BC
+
+!black
+*color0:#4A3637
+*color8:#4A3637
+
+!red
+*color1:#d17b49
+*color9:#d17b49
+
+!green
+*color2:#7b8748
+*color10:#7b8748
+
+!yellow
+*color3:#af865a
+*color11:#af865a
+
+!blue
+*color4:#535C5C
+*color12:#535C5C
+
+!magenta
+*color5:#775759
+*color13:#775759
+
+!cyan
+*color6:#6d715e
+*color14:#6d715e
+
+!white
+*color7:#c0b18b
+*color15:#c0b18b
diff --git a/urxvt/Repositories/URxvt-themes/pretty b/urxvt/Repositories/URxvt-themes/pretty
new file mode 100644
index 0000000..311891a
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/pretty
@@ -0,0 +1,49 @@
+!--------------------xdefauls
+
+
+urxvt*font: xft:uushi:size=8
+urxvt*termName: rxvt
+urxvt*background: #0c0d0e
+urxvt*foreground: #7f8f9f
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt*allow_bold: true
+
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+
+URxvt*geometry: 85x20
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+
+! black + red
+!urxvt*color0: #3f3f3f
+urxvt*color0: #101010
+urxvt*color1: #705050
+! green + yellow
+urxvt*color2: #60b48a
+urxvt*color3: #f0dfaf
+! blue + purple
+urxvt*color4: #506070
+urxvt*color5: #dc8cc3
+! cyan + white
+urxvt*color6: #8cd0d3
+urxvt*color7: #dcdccc
+! bright-black + bright-red
+urxvt*color8: #000000
+urxvt*color9: #dca3a3
+! bright-green + bright-yellow
+urxvt*color10: #c3bf9f
+urxvt*color11: #f0dfaf
+! bright-blue + bright-purple
+urxvt*color12: #94bff3
+urxvt*color13: #ec93d3
+! bright-cyan + bright-white
+urxvt*color14: #93e0e3
+urxvt*color15: #ffffff
+!}}}
+
diff --git a/urxvt/Repositories/URxvt-themes/purplish b/urxvt/Repositories/URxvt-themes/purplish
new file mode 100644
index 0000000..a361197
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/purplish
@@ -0,0 +1,52 @@
+!--------------------xdefauls
+URxvt.font: xft:tamsyn:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #363636
+URxvt*foreground: #af9c96
+*foreground: #B8B5AB
+! --- standard colors ---
+! black
+URxvt*color0: #92754a
+! bright_black
+URxvt*color8: #6a5f48
+! red
+URxvt*color1: #92754a
+! bright_red
+URxvt*color9: #b8a484
+! green
+URxvt*color2: #628E66
+! bright_green
+URxvt*color10: #a6ad8d
+! yellow
+URxvt*color3: #E0EC8B
+! bright_yellow
+URxvt*color11: #afad84
+! blue
+URxvt*color4: #7f6270
+! bright_blue
+URxvt*color12: #af9c96
+! magenta
+URxvt*color5: #92625d
+! bright_magenta
+URxvt*color13: #b89c8d
+! cyan
+URxvt*color6: #7f6270
+! bright_cyan
+URxvt*color14: #7f6270
+! white
+URxvt*color7: #ada38b
+! bright_white
+URxvt*color15: #B0A07D
diff --git a/urxvt/Repositories/URxvt-themes/rando light purp b/urxvt/Repositories/URxvt-themes/rando light purp
new file mode 100644
index 0000000..d5f7f2b
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/rando light purp
@@ -0,0 +1,67 @@
+! --- ~/.Xresources ------------------------------------------------------------
+! ------------------------------------------------------------------------------
+! --- generated with 4bit Terminal Color Scheme Designer -----------------------
+! ------------------------------------------------------------------------------
+! --- http://ciembor.github.com/4bit -------------------------------------------
+! ------------------------------------------------------------------------------
+
+! --- special colors ---
+
+*background: #cac4d4
+*foreground: #978973
+
+! --- standard colors ---
+
+! black
+*color0: #000000
+
+! bright_black
+*color8: #262626
+
+! red
+*color1: #9b7976
+
+! bright_red
+*color9: #cdbdbb
+
+! green
+*color2: #769b79
+
+! bright_green
+*color10: #bbcdbd
+
+! yellow
+*color3: #989b76
+
+! bright_yellow
+*color11: #cccdbb
+
+! blue
+*color4: #79769b
+
+! bright_blue
+*color12: #bdbbcd
+
+! magenta
+*color5: #9b7698
+
+! bright_magenta
+*color13: #cdbbcc
+
+! cyan
+*color6: #76989b
+
+! bright_cyan
+*color14: #bbcccd
+
+! white
+*color7: #c3c3c3
+
+! bright_white
+*color15: #ffffff
+
+
+! ------------------------------------------------------------------------------
+! --- end of terminal colors section -------------------------------------------
+! ------------------------------------------------------------------------------
+
diff --git a/urxvt/Repositories/URxvt-themes/rando mac b/urxvt/Repositories/URxvt-themes/rando mac
new file mode 100644
index 0000000..2647405
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/rando mac
@@ -0,0 +1,39 @@
+! special
+*.foreground: #8a6a53
+#Dark Brown Background#
+#*background: #181514
+#Light Brown Background#
+*background: #2c251c
+*cursorColor: #8a6a53
+
+! black
+*color0: #4c4234
+*color8: #322a21
+
+! red
+*color1: #94525a
+*color9: #df6a95
+
+! green
+*color2: #758365
+*color10: #a6bca4
+
+! yellow
+*color3: #a2bb30
+*color11: #ceed3b
+
+! blue
+*color4: #32565b
+*color12: #4f789f
+
+! magenta
+*color5: #7d323f
+*color13: #a74354
+
+! cyan
+*color6: #40696e
+*color14: #3e9182
+
+! white
+*color7: #8a6a53
+*color15: #f0d7c2
diff --git a/urxvt/Repositories/URxvt-themes/ronery flower b/urxvt/Repositories/URxvt-themes/ronery flower
new file mode 100644
index 0000000..5e61849
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/ronery flower
@@ -0,0 +1,56 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #c5c8c6
+*.background: #292b2d
+*.cursorColor: #c5c8c6
+
+! black
+*.color0: #292929
+*.color8: #9cb0b4
+
+! red
+*.color1: #3d6370
+*.color9: #007db4
+
+! green
+*.color2: #aaad8f
+*.color10: #c5cc87
+
+! yellow
+*.color3: #78838b
+*.color11: #518860
+
+! blue
+*.color4: #5f85a9
+*.color12: #9aaac1
+
+! magenta
+*.color5: #534856
+*.color13: #9c80a4
+
+! cyan
+*.color6: #2c3b36
+*.color14: #335348
+
+! white
+*.color7: #707880
+*.color15: #c5c8c6
diff --git a/urxvt/Repositories/URxvt-themes/smooth white blue b/urxvt/Repositories/URxvt-themes/smooth white blue
new file mode 100644
index 0000000..acd61ec
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/smooth white blue
@@ -0,0 +1,34 @@
+!--------------------xdefauls
+URxvt.font: xft:Ubuntu Mono:bold:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #161616
+URxvt*foreground: #efefef
+URxvt*color0: #777777
+URxvt*color8: #616161
+URxvt*color1: #efefef
+URxvt*color9: #7B93A6
+URxvt*color2: #85A999
+URxvt*color10: #96B1A9
+URxvt*color3: #969696
+URxvt*color11: #B7B7B7
+URxvt*color4: #758891
+URxvt*color12: #90A4A9
+URxvt*color5: #A2B4BC
+URxvt*color13: #efefef
+URxvt*color6: #8CA6A3
+URxvt*color14: #8FABA7
+URxvt*color7: #A5A5A5
+URxvt*color15: #C0C0C0
diff --git a/urxvt/Repositories/URxvt-themes/something b/urxvt/Repositories/URxvt-themes/something
new file mode 100644
index 0000000..a955ecb
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/something
@@ -0,0 +1,44 @@
+!--------------------xdefauls
+URxvt.font: xft:ubuntu mono:pixelsize=12
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt*background: #ACA7AF
+URxvt*foreground: #454545
+!black
+URxvt*color0: #101010
+URxvt*color8: #404040
+!red
+URxvt*color1: #953331
+URxvt*color9: #8D4A48
+!green
+URxvt*color2: #546A29
+URxvt*color10: #7E9960
+!yellow
+URxvt*color3: #E9E184
+URxvt*color11: #9CA554
+!blue
+URxvt*color4: #385E6B
+URxvt*color12: #5C737C
+!magenta
+URxvt*color5: #7F355E
+URxvt*color13: #95618B
+!cyan
+URxvt*color6: #34676F
+URxvt*color14: #5D858A
+!white
+URxvt*color7: #D8DBA2
+URxvt*color15: #D8DBA2
diff --git a/urxvt/Repositories/URxvt-themes/the arch dude b/urxvt/Repositories/URxvt-themes/the arch dude
new file mode 100644
index 0000000..02d5b1f
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/the arch dude
@@ -0,0 +1,37 @@
+!--------------------xdefauls
+URxvt.font: xft:terminus:pixelsize=14
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 23
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+URxvt.color0: #3B444F
+URxvt.color8: #4A585A
+URxvt.color1: #CD546C
+URxvt.color9: #CD546C
+URxvt.color2: #A5AF86
+URxvt.color10: #BDC79E
+URxvt.color3: #CD7860
+URxvt.color11: #E88773
+URxvt.color4: #7A9388
+URxvt.color12: #94B1A3
+URxvt.color5: #75434C
+URxvt.color13: #BB6C73
+URxvt.color6: #767D75
+URxvt.color14: #9DA69E
+URxvt.color7: #C2C2A8
+URxvt.color15: #DBDAC1
+URxvt.background: #292929
+URxvt.foreground: #a3a6ab
diff --git a/urxvt/Repositories/URxvt-themes/tree bark b/urxvt/Repositories/URxvt-themes/tree bark
new file mode 100644
index 0000000..be2a59f
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/tree bark
@@ -0,0 +1,56 @@
+!--------------------xdefauls
+URxvt.font: xft:monaco:pixelsize=13
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt.boldFont:
+URxvt.letterSpace: -1
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: true
+Xft*hintstyle: hintfull
+URxvt*cursorUnderline: true
+Xft*rgba: rgb
+URxvt*geometry: 85x20
+*internalBorder: 26
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+! special
+*.foreground: #f1fcf8
+*.background: #111012
+*.cursorColor: #f1fcf8
+
+! black
+*.color0: #b4b4aa
+*.color8: #b4b4aa
+
+! red
+*.color1: #64605f
+*.color9: #64605f
+
+! green
+*.color2: #7e8d88
+*.color10: #7e8d88
+
+! yellow
+*.color3: #d0d4b9
+*.color11: #d0d4b9
+
+! blue
+*.color4: #b0c2c2
+*.color12: #b0c2c2
+
+! magenta
+*.color5: #f3fcf7
+*.color13: #f3fcf7
+
+! cyan
+*.color6: #988c80
+*.color14: #988c80
+
+! white
+*.color7: #70735e
+*.color15: #70735e
diff --git a/urxvt/Repositories/URxvt-themes/tree green brown b/urxvt/Repositories/URxvt-themes/tree green brown
new file mode 100644
index 0000000..fc834d8
--- /dev/null
+++ b/urxvt/Repositories/URxvt-themes/tree green brown
@@ -0,0 +1,41 @@
+!--------------------xdefauls
+urxvt*font: xft:monospace:size=8
+urxvt*termName: rxvt
+urxvt*scrollBar: false
+urxvt*matcher.button: 1
+urxvt.transparent: false
+urxvt*allow_bold: true
+Xft*dpi: 96
+Xft*antialias: true
+Xft*hinting: full
+URxvt*geometry: 85x20
+URxvt*fading: 0
+URxvt*tintColor: #ffffff
+URxvt*shading: 0
+URxvt*inheritPixmap: False
+!black
+URxvt.color0: #000000
+URxvt.color8: #2B2B2B
+!red
+URxvt.color1: #a28d73
+URxvt.color9: #a28d73
+!green
+URxvt.color2: #4A663C
+URxvt.color10: #7B996C
+!yellow
+URxvt.color3: #7C5618
+URxvt.color11: #B38849
+!blue
+URxvt.color4: #566060
+URxvt.color12: #889393
+!magenta
+URxvt.color5: #8E4948
+URxvt.color13: #C67C78
+!cyan
+URxvt.color6: #6D5B42
+URxvt.color14: #A28D73
+!white
+URxvt.color7: #7B996C
+URxvt.color15: #7B996C
+urxvt.background: #111111
+urxvt.foreground: 15
diff --git a/urxvt/Repositories/urxvt-perls/LICENSE b/urxvt/Repositories/urxvt-perls/LICENSE
new file mode 100644
index 0000000..d159169
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/LICENSE
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/urxvt/Repositories/urxvt-perls/README.md b/urxvt/Repositories/urxvt-perls/README.md
new file mode 100644
index 0000000..52800b2
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/README.md
@@ -0,0 +1,45 @@
+A small collection of perl extensions for the rxvt-unicode terminal emulator.
+
+Installation
+------------
+Simply place the scripts you want to install in /usr/lib/urxvt/perl/ for
+system-wide availability or in ~/.urxvt/ext/ for user-only availability.
+You can also put them in a folder of your choice, but then you have to add this
+line to your .Xdefaults/.Xresources:
+
+ URxvt.perl-lib: /your/folder/
+
+See the following sections for information on how to enable the scripts or set
+script-specific options and keyboard mappings in your .Xdefaults/.Xresources.
+
+
+keyboard-select
+---------------
+Use keyboard shortcuts to select and copy text.
+
+After installing, put the following lines in your .Xdefaults/.Xresources:
+
+ URxvt.perl-ext-common: ...,keyboard-select
+ URxvt.keysym.M-Escape: perl:keyboard-select:activate
+
+The following line overwrites the default Meta-s binding and allows to activate
+keyboard-select directly in backward search mode:
+
+ URxvt.keysym.M-s: perl:keyboard-select:search
+
+Use Meta-Escape to activate selection mode, then use the following keys:
+
+ h/j/k/l: Move cursor left/down/up/right (also with arrow keys)
+ g/G/0/^/$/H/M/L/f/F/;/,/w/W/b/B/e/E: More vi-like cursor movement keys
+ '/'/?: Start forward/backward search
+ n/N: Repeat last search, N: in reverse direction
+ Ctrl-f/b: Scroll down/up one screen
+ Ctrl-d/u: Scroll down/up half a screen
+ v/V/Ctrl-v: Toggle normal/linewise/blockwise selection
+ y/Return: Copy selection to primary buffer, Return: quit afterwards
+ Y: Copy selected lines to primary buffer or cursor line and quit
+ q/Escape: Quit keyboard selection mode
+
+Options:
+
+ URxvt.keyboard-select.clipboard: If true, copy to clipboard too
diff --git a/urxvt/Repositories/urxvt-perls/deprecated/README.md b/urxvt/Repositories/urxvt-perls/deprecated/README.md
new file mode 100644
index 0000000..c7cc774
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/deprecated/README.md
@@ -0,0 +1,87 @@
+Deprecated perl extensions for the rxvt-unicode terminal emulator.
+
+See the file README.md in the parent directory for installation instructions,
+in case you still want to use them.
+
+
+url-select
+----------
+Use keyboard shortcuts to select URLs.
+
+**DEPRECATED**
+
+Since version 9.21 the *matcher* extension shipped with rxvt-unicode fully
+replaces this extension. The `url-select:select_next` action is provided by the
+`matcher:select` action. However, the *matcher* extension does not provide
+vi-like key bindings; it only uses the arrow and home/end keys.
+
+This should be used as a replacement for the default matcher extension, it also
+makes URLs clickable with the middle mouse button.
+
+After installing, put the following lines in your .Xdefaults/.Xresources:
+
+ URxvt.perl-ext-common: ...,url-select
+ URxvt.keysym.M-u: perl:url-select:select_next
+
+Use Meta-u to activate URL selection mode, then use the following keys:
+
+ j/k: Select next downward/upward URL (also with arrow keys)
+ g/G: Select first/last URL (also with home/end key)
+ o/Return: Open selected URL in browser, Return: deactivate afterwards
+ y: Copy (yank) selected URL and deactivate selection mode
+ q/Escape: Deactivate URL selection mode
+
+Options:
+
+ URxvt.url-select.autocopy: if set to true, selected URLs are automatically
+ copied to the PRIMARY buffer
+ URxvt.url-select.button: mouse button to click-open URLs (default: 2)
+ URxvt.url-select.launcher: browser/command to open selected URL with
+ URxvt.url-select.underline: if set to true, all URLs get underlined
+
+For compatibility reasons, url-select will also use any patterns defined for
+the matcher extension by reading all `URxvt.matcher.pattern.[0-9]` resources.
+
+
+clipboard
+---------
+
+**DEPRECATED**
+
+Since version 9.20 rxvt-unicode natively supports copying to and pasting from
+the CLIPBOARD buffer with the `Ctrl-Meta-c` and `Ctrl-Meta-v` key bindings. The
+`clipboard.autocopy` setting is provided by the `selection-to-clipboard`
+extension shipped with rxvt-unicode.
+
+Use keyboard shortcuts to copy the selection to the clipboard and to paste the
+clipboard contents (optionally escaping all special characters).
+
+After installing, put the following lines in your .Xdefaults/.Xresources:
+
+ URxvt.perl-ext-common: ...,clipboard
+ URxvt.keysym.M-c: perl:clipboard:copy
+ URxvt.keysym.M-v: perl:clipboard:paste
+ URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
+
+Options:
+
+ URxvt.clipboard.autocopy: if set to true, the clipboard is automatically
+ updated whenever the PRIMARY selection changes
+
+You can also overwrite the system commands to use for copying/pasting.
+The default ones are:
+
+ URxvt.clipboard.copycmd: xsel -ib
+ URxvt.clipboard.pastecmd: xsel -ob
+
+If you prefer xclip, then put these lines in your .Xdefaults/.Xresources:
+
+ URxvt.clipboard.copycmd: xclip -i -selection clipboard
+ URxvt.clipboard.pastecmd: xclip -o -selection clipboard
+
+On Mac OS X, put these lines in your .Xdefaults/.Xresources:
+
+ URxvt.clipboard.copycmd: pbcopy
+ URxvt.clipboard.pastecmd: pbpaste
+
+The use of the functions should be self-explanatory!
diff --git a/urxvt/Repositories/urxvt-perls/deprecated/clipboard b/urxvt/Repositories/urxvt-perls/deprecated/clipboard
new file mode 100644
index 0000000..05e1601
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/deprecated/clipboard
@@ -0,0 +1,115 @@
+#! perl -w
+# Author: Bert Muennich
+# Website: http://www.github.com/muennich/urxvt-perls
+# License: GPLv2
+
+# Use keyboard shortcuts to copy the selection to the clipboard and to paste
+# the clipboard contents (optionally escaping all special characters).
+# Requires xsel to be installed!
+
+# Usage: put the following lines in your .Xdefaults/.Xresources:
+# URxvt.perl-ext-common: ...,clipboard
+# URxvt.keysym.M-c: perl:clipboard:copy
+# URxvt.keysym.M-v: perl:clipboard:paste
+# URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
+
+# Options:
+# URxvt.clipboard.autocopy: If true, PRIMARY overwrites clipboard
+
+# You can also overwrite the system commands to use for copying/pasting.
+# The default ones are:
+# URxvt.clipboard.copycmd: xsel -ib
+# URxvt.clipboard.pastecmd: xsel -ob
+# If you prefer xclip, then put these lines in your .Xdefaults/.Xresources:
+# URxvt.clipboard.copycmd: xclip -i -selection clipboard
+# URxvt.clipboard.pastecmd: xclip -o -selection clipboard
+# On Mac OS X, put these lines in your .Xdefaults/.Xresources:
+# URxvt.clipboard.copycmd: pbcopy
+# URxvt.clipboard.pastecmd: pbpaste
+
+# The use of the functions should be self-explanatory!
+
+use strict;
+
+sub on_start {
+ my ($self) = @_;
+
+ $self->{copy_cmd} = $self->x_resource('clipboard.copycmd') || 'xsel -ib';
+ $self->{paste_cmd} = $self->x_resource('clipboard.pastecmd') || 'xsel -ob';
+
+ if ($self->x_resource('clipboard.autocopy') eq 'true') {
+ $self->enable(sel_grab => \&sel_grab);
+ }
+
+ ()
+}
+
+sub copy {
+ my ($self) = @_;
+
+ if (open(CLIPBOARD, "| $self->{copy_cmd}")) {
+ my $sel = $self->selection();
+ utf8::encode($sel);
+ print CLIPBOARD $sel;
+ close(CLIPBOARD);
+ } else {
+ print STDERR "error running '$self->{copy_cmd}': $!\n";
+ }
+
+ ()
+}
+
+sub paste {
+ my ($self) = @_;
+
+ my $str = `$self->{paste_cmd}`;
+ if ($? == 0) {
+ $self->tt_paste($str);
+ } else {
+ print STDERR "error running '$self->{paste_cmd}': $!\n";
+ }
+
+ ()
+}
+
+sub paste_escaped {
+ my ($self) = @_;
+
+ my $str = `$self->{paste_cmd}`;
+ if ($? == 0) {
+ $str =~ s/([!#\$%&\*\(\) ='"\\\|\[\]`~,<>\?])/\\\1/g;
+ $self->tt_paste($str);
+ } else {
+ print STDERR "error running '$self->{paste_cmd}': $!\n";
+ }
+
+ ()
+}
+
+sub on_action {
+ my ($self, $action) = @_;
+
+ on_user_command($self, "clipboard:" . $action);
+}
+
+sub on_user_command {
+ my ($self, $cmd) = @_;
+
+ if ($cmd eq "clipboard:copy") {
+ $self->copy;
+ } elsif ($cmd eq "clipboard:paste") {
+ $self->paste;
+ } elsif ($cmd eq "clipboard:paste_escaped") {
+ $self->paste_escaped;
+ }
+
+ ()
+}
+
+sub sel_grab {
+ my ($self) = @_;
+
+ $self->copy;
+
+ ()
+}
diff --git a/urxvt/Repositories/urxvt-perls/deprecated/url-select b/urxvt/Repositories/urxvt-perls/deprecated/url-select
new file mode 100644
index 0000000..34637bb
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/deprecated/url-select
@@ -0,0 +1,408 @@
+#! perl -w
+# Author: Bert Muennich
+# Website: http://www.github.com/muennich/urxvt-perls
+# Based on: http://www.jukie.net/~bart/blog/urxvt-url-yank
+# License: GPLv2
+
+# Use keyboard shortcuts to select URLs.
+# This should be used as a replacement for the default matcher extension,
+# it also makes URLs clickable with the middle mouse button.
+
+# Usage: put the following lines in your .Xdefaults/.Xresources:
+# URxvt.perl-ext-common: ...,url-select
+# URxvt.keysym.M-u: perl:url-select:select_next
+
+# Use Meta-u to activate URL selection mode, then use the following keys:
+# j/k: Select next downward/upward URL (also with arrow keys)
+# g/G: Select first/last URL (also with home/end key)
+# o/Return: Open selected URL in browser, Return: deactivate afterwards
+# y: Copy (yank) selected URL and deactivate selection mode
+# q/Escape: Deactivate URL selection mode
+
+# Options:
+# URxvt.url-select.autocopy: If true, selected URLs are copied to PRIMARY
+# URvxt.url-select.button: Mouse button to click-open URLs (default: 2)
+# URxvt.url-select.launcher: Browser/command to open selected URL with
+# URxvt.url-select.underline: If set to true, all URLs get underlined
+
+use strict;
+
+# The custom rendition bit to use for marking the cell as being underlined
+# by us so we can unset it again after a line has changed.
+use constant UNDERLINED => 1<<3; # arbitrarily chosen in hope of no collision
+
+sub on_start {
+ my ($self) = @_;
+
+ # read resource settings
+ if ($self->x_resource('url-select.launcher')) {
+ @{$self->{browser}} = split /\s+/, $self->x_resource('url-select.launcher');
+ } else {
+ @{$self->{browser}} = ('x-www-browser');
+ }
+ if ($self->x_resource('url-select.underline') eq 'true') {
+ $self->enable(line_update => \&line_update);
+ }
+ if ($self->x_resource('url-select.autocopy') eq 'true') {
+ $self->{autocopy} = 1;
+ }
+
+ $self->{state} = 0;
+
+ for my $mod (split '', $self->x_resource("url-select.button") ||
+ $self->x_resource("matcher.button") || 2) {
+ if ($mod =~ /^\d+$/) {
+ $self->{button} = $mod;
+ } elsif ($mod eq "C") {
+ $self->{state} |= urxvt::ControlMask;
+ } elsif ($mod eq "S") {
+ $self->{state} |= urxvt::ShiftMask;
+ } elsif ($mod eq "M") {
+ $self->{state} |= $self->ModMetaMask;
+ } elsif ($mod ne "-" && $mod ne " ") {
+ warn("invalid button/modifier in $self->{_name}<$self->{argv}[0]>: $mod\n");
+ }
+ }
+
+ if ($self->x_resource('matcher.pattern')) {
+ @{$self->{pattern}} = ($self->x_resource('matcher.pattern'));
+ } elsif ($self->x_resource('matcher.pattern.0')) {
+ my $current = 0;
+
+ while (defined (my $res = $self->x_resource("matcher.pattern.$current"))) {
+ $res = $self->locale_decode($res);
+ utf8::encode $res;
+ push @{$self->{pattern}}, qr($res)x;
+ $current++;
+ }
+ } else {
+ @{$self->{pattern}} = qr{
+ (?:https?://|ftp://|news://|mailto:|file://|\bwww\.)
+ [\w\-\@;\/?:&=%\$.+!*\x27,~#]*
+ (
+ \([\w\-\@;\/?:&=%\$.+!*\x27,~#]*\) # Allow a pair of matched parentheses
+ | #
+ [\w\-\@;\/?:&=%\$+*~] # exclude some trailing characters (heuristic)
+ )+
+ }x;
+ }
+
+ ()
+}
+
+
+sub line_update {
+ my ($self, $row) = @_;
+
+ my $line = $self->line($row);
+ my $text = $line->t;
+ my $rend = $line->r;
+
+ # clear all underlines that were set by us
+ for (@$rend) {
+ if (urxvt::GET_CUSTOM($_) & UNDERLINED) {
+ $_ = urxvt::SET_CUSTOM($_, urxvt::GET_CUSTOM($_) & ~UNDERLINED) &
+ ~urxvt::RS_Uline;
+ }
+ }
+
+ for my $pattern (@{$self->{pattern}}) {
+ while ($text =~ /$pattern/g) {
+ my $url = $&;
+ my ($beg, $end) = ($-[0], $+[0] - 1);
+
+ for (@{$rend}[$beg .. $end]) {
+ unless ($_ & urxvt::RS_Uline) {
+ $_ = urxvt::SET_CUSTOM($_, urxvt::GET_CUSTOM($_) | UNDERLINED);
+ $_ |= urxvt::RS_Uline;
+ }
+ }
+ }
+ }
+
+ $line->r($rend);
+
+ ()
+}
+
+sub on_action {
+ my ($self, $action) = @_;
+
+ on_user_command($self, "url-select:" . $action);
+}
+
+
+sub on_user_command {
+ my ($self, $cmd) = @_;
+
+ if ($cmd eq 'url-select:select_next') {
+ if (not $self->{active}) {
+ activate($self);
+ }
+ select_next($self, -1);
+ }
+
+ ()
+}
+
+
+sub key_press {
+ my ($self, $event, $keysym) = @_;
+ my $char = chr($keysym);
+
+ if ($keysym == 0xff1b || lc($char) eq 'q' ||
+ (lc($char) eq 'c' && $event->{state} & urxvt::ControlMask)) {
+ deactivate($self);
+ } elsif ($keysym == 0xff0d || $char eq 'o' ||
+ (lc($char) eq 'm' && $event->{state} & urxvt::ControlMask)) {
+ $self->exec_async(@{$self->{browser}}, ${$self->{found}[$self->{n}]}[4]);
+ deactivate($self) unless $char eq 'o';
+ } elsif ($char eq 'y') {
+ my $found = $self->{found}[$self->{n}];
+ $self->selection_beg(${$found}[0], ${$found}[1]);
+ $self->selection_end(${$found}[2], ${$found}[3]);
+ $self->selection_make($event->{time});
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+ deactivate($self);
+ } elsif ($char eq 'k' || $keysym == 0xff52 || $keysym == 0xff51) {
+ select_next($self, -1, $event);
+ } elsif ($char eq 'j' || $keysym == 0xff54 || $keysym == 0xff53) {
+ select_next($self, 1, $event);
+ } elsif ($char eq 'g' || $keysym == 0xff50) {
+ $self->{row} = $self->top_row - 1;
+ delete $self->{found};
+ select_next($self, 1, $event);
+ } elsif ($char eq 'G' || $keysym == 0xff57) {
+ $self->{row} = $self->nrow;
+ delete $self->{found};
+ select_next($self, -1, $event);
+ }
+
+ return 1;
+}
+
+
+sub on_button_press {
+ my ($self, $event) = @_;
+
+ my $mask = $self->ModLevel3Mask | $self->ModMetaMask |
+ urxvt::ShiftMask | urxvt::ControlMask;
+
+ if ($event->{button} == $self->{button} && ($event->{state} & $mask) == $self->{state}) {
+ my $col = $event->{col};
+ my $row = $event->{row};
+ my $line = $self->line($row);
+ my $text = $line->t;
+
+ for my $pattern (@{$self->{pattern}}) {
+ while ($text =~ /$pattern/g) {
+ my ($url, $beg, $end) = ($&, $-[0], $+[0]);
+ --$end if $url =~ s/["')]$//;
+
+ if ($col >= $beg && $col <= $end) {
+ $self->{button_pressed} = 1;
+ $self->{button_col} = $col;
+ $self->{button_row} = $row;
+ $self->{button_url} = $url;
+ return 1;
+ }
+ }
+ }
+ }
+
+ ()
+}
+
+sub on_button_release {
+ my ($self, $event) = @_;
+
+ if ($self->{button_pressed} && $event->{button} == $self->{button}) {
+ my $col = $event->{col};
+ my $row = $event->{row};
+
+ $self->{button_pressed} = 0;
+
+ if ($col == $self->{button_col} && $row == $self->{button_row}) {
+ $self->exec_async(@{$self->{browser}}, $self->{button_url});
+ return 1;
+ }
+ }
+
+ ()
+}
+
+
+sub select_next {
+ # $dir < 0: up, > 0: down
+ my ($self, $dir, $event) = @_;
+ my $row = $self->{row};
+
+ if (($dir < 0 && $self->{n} > 0) ||
+ ($dir > 0 && $self->{n} < $#{ $self->{found} })) {
+ # another url on current line
+ $self->{n} += $dir;
+ hilight($self);
+ if ($self->{autocopy}) {
+ my $found = $self->{found}[$self->{n}];
+ $self->selection_beg(${$found}[0], ${$found}[1]);
+ $self->selection_end(${$found}[2], ${$found}[3]);
+ $self->selection_make($event->{time});
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+ }
+ return;
+ }
+
+ while (($dir < 0 && $row > $self->top_row) ||
+ ($dir > 0 && $row < $self->nrow - 1)) {
+ my $line = $self->line($row);
+ $row = ($dir < 0 ? $line->beg : $line->end) + $dir;
+ $line = $self->line($row);
+ my $text = $line->t;
+
+ for my $pattern (@{$self->{pattern}}) {
+ if ($text =~ /$pattern/g) {
+ delete $self->{found};
+
+ do {
+ my ($beg, $end) = ($-[0], $+[0]);
+ push @{$self->{found}}, [$line->coord_of($beg),
+ $line->coord_of($end), substr($text, $beg, $end - $beg)];
+ } while ($text =~ /$pattern/g);
+
+ $self->{row} = $row;
+ $self->{n} = $dir < 0 ? $#{$self->{found}} : 0;
+ hilight($self);
+ if ($self->{autocopy}) {
+ my $found = $self->{found}[$self->{n}];
+ $self->selection_beg(${$found}[0], ${$found}[1]);
+ $self->selection_end(${$found}[2], ${$found}[3]);
+ $self->selection_make($event->{time});
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+ }
+ return;
+ }
+ }
+ }
+
+ deactivate($self) unless $self->{found};
+
+ ()
+}
+
+
+sub hilight {
+ my ($self) = @_;
+
+ if ($self->{found}) {
+ if ($self->{row} < $self->view_start() ||
+ $self->{row} >= $self->view_start() + $self->nrow) {
+ # scroll selected url into visible area
+ my $top = $self->{row} - ($self->nrow >> 1);
+ $self->view_start($top < 0 ? $top : 0);
+ }
+
+ status_area($self);
+ $self->want_refresh();
+ }
+
+ ()
+}
+
+
+sub refresh {
+ my ($self) = @_;
+
+ if ($self->{found}) {
+ if ($self->x_resource('highlightColor')) {
+ $self->scr_xor_span(@{$self->{found}[$self->{n}]}[0 .. 3], urxvt::RS_Sel);
+ } else {
+ $self->scr_xor_span(@{$self->{found}[$self->{n}]}[0 .. 3], urxvt::RS_RVid);
+ }
+ }
+
+ ()
+}
+
+
+sub status_area {
+ my ($self) = @_;
+
+ my $row = $self->{row} < 0 ?
+ $self->{row} - $self->top_row : abs($self->top_row) + $self->{row};
+ my $text = sprintf("%d,%d ", $row + 1, $self->{n} + 1);
+
+ if ($self->top_row == 0) {
+ $text .= "All";
+ } elsif ($self->view_start() == $self->top_row) {
+ $text .= "Top";
+ } elsif ($self->view_start() == 0) {
+ $text .= "Bot";
+ } else {
+ $text .= sprintf("%2d%",
+ ($self->top_row - $self->view_start) * 100 / $self->top_row);
+ }
+
+ my $text_len = length($text);
+
+ if ($self->{overlay_len} != $text_len) {
+ delete $self->{overlay} if $self->{overlay};
+ $self->{overlay} = $self->overlay(-1, -1, $text_len, 1,
+ urxvt::OVERLAY_RSTYLE, 0);
+ $self->{overlay_len} = $text_len;
+ }
+
+ $self->{overlay}->set(0, 0, $self->special_encode($text));
+ $self->{overlay}->show();
+
+ ()
+}
+
+
+sub tt_write {
+ return 1;
+}
+
+
+sub activate {
+ my ($self) = @_;
+
+ $self->{active} = 1;
+
+ $self->{row} = $self->view_start() + $self->nrow;
+ $self->{n} = 0;
+ $self->{overlay_len} = 0;
+ $self->{button_pressed} = 0;
+
+ $self->{view_start} = $self->view_start();
+ $self->{pty_ev_events} = $self->pty_ev_events(urxvt::EV_NONE);
+
+ $self->enable(
+ key_press => \&key_press,
+ refresh_begin => \&refresh,
+ refresh_end => \&refresh,
+ tt_write => \&tt_write,
+ );
+
+ ()
+}
+
+
+sub deactivate {
+ my ($self) = @_;
+
+ $self->disable("key_press", "refresh_begin", "refresh_end", "tt_write");
+ $self->view_start($self->{view_start});
+ $self->pty_ev_events($self->{pty_ev_events});
+
+ delete $self->{overlay} if $self->{overlay};
+ delete $self->{found} if $self->{found};
+
+ $self->want_refresh();
+
+ $self->{active} = 0;
+
+ ()
+}
diff --git a/urxvt/Repositories/urxvt-perls/keyboard-select b/urxvt/Repositories/urxvt-perls/keyboard-select
new file mode 100644
index 0000000..b60e9d8
--- /dev/null
+++ b/urxvt/Repositories/urxvt-perls/keyboard-select
@@ -0,0 +1,606 @@
+#! perl -w
+# Author: Bert Muennich
+# Website: http://www.github.com/muennich/urxvt-perls
+# License: GPLv2
+
+# Use keyboard shortcuts to select and copy text.
+
+# Usage: put the following lines in your .Xdefaults/.Xresources:
+# URxvt.perl-ext-common: ...,keyboard-select
+# URxvt.keysym.M-Escape: perl:keyboard-select:activate
+# The following line overwrites the default Meta-s binding and allows to
+# activate keyboard-select directly in backward search mode:
+# URxvt.keysym.M-s: perl:keyboard-select:search
+
+# Use Meta-Escape to activate selection mode, then use the following keys:
+# h/j/k/l: Move cursor left/down/up/right (also with arrow keys)
+# g/G/0/^/$/H/M/L/f/F/;/,/w/W/b/B/e/E: More vi-like cursor movement keys
+# '/'/?: Start forward/backward search
+# n/N: Repeat last search, N: in reverse direction
+# Ctrl-f/b: Scroll down/up one screen
+# Ctrl-d/u: Scroll down/up half a screen
+# v/V/Ctrl-v: Toggle normal/linewise/blockwise selection
+# y/Return: Copy selection to primary buffer, Return: quit afterwards
+# Y: Copy selected lines to primary buffer or cursor line and quit
+# q/Escape: Quit keyboard selection mode
+
+# Options:
+# URxvt.keyboard-select.clipboard: If true, copy to clipboard too
+
+
+use strict;
+
+sub on_start{
+ my ($self) = @_;
+
+ $self->{clipboard} = $self->x_resource_boolean('keyboard-select.clipboard');
+
+ $self->{patterns}{'w'} = qr/\w[^\w\s]|\W\w|\s\S/;
+ $self->{patterns}{'W'} = qr/\s\S/;
+ $self->{patterns}{'b'} = qr/.*(?:\w[^\w\s]|\W\w|\s\S)/;
+ $self->{patterns}{'B'} = qr/.*\s\S/;
+ $self->{patterns}{'e'} = qr/[^\w\s](?=\w)|\w(?=\W)|\S(?=\s|$)/;
+ $self->{patterns}{'E'} = qr/\S(?=\s|$)/;
+
+ ()
+}
+
+
+sub on_action {
+ my ($self, $action) = @_;
+
+ on_user_command($self, "keyboard-select:" . $action);
+}
+
+
+sub on_user_command {
+ my ($self, $cmd) = @_;
+
+ if (not $self->{active}) {
+ if ($cmd eq 'keyboard-select:activate') {
+ activate($self);
+ } elsif ($cmd eq 'keyboard-select:search') {
+ activate($self, 1);
+ }
+ }
+
+ ()
+}
+
+
+sub key_press {
+ my ($self, $event, $keysym, $char) = @_;
+ my $key = chr($keysym);
+
+ if (lc($key) eq 'c' && $event->{state} & urxvt::ControlMask) {
+ deactivate($self);
+ } elsif ($self->{search}) {
+ if ($keysym == 0xff1b) {
+ if ($self->{search_mode}) {
+ deactivate($self);
+ } else {
+ $self->{search} = '';
+ status_area($self);
+ }
+ } elsif ($keysym == 0xff08) {
+ $self->{search} = substr($self->{search}, 0, -1);
+ if (not $self->{search} and $self->{search_mode}) {
+ deactivate($self);
+ } else {
+ status_area($self);
+ }
+ } elsif ($keysym == 0xff0d ||
+ (lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
+ my $txt = substr($self->{search}, 1);
+ if ($txt) {
+ $self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
+ qr/\Q$txt\E/i;
+ } elsif ($self->{pattern}) {
+ delete $self->{pattern};
+ }
+ $self->{search} = '';
+ $self->screen_cur($self->{srhcr}, $self->{srhcc});
+ if (not find_next($self)) {
+ if ($self->{search_mode}) {
+ deactivate($self);
+ } else {
+ status_area($self);
+ }
+ }
+ } elsif (length($char) > 0) {
+ $self->{search} .= $self->locale_decode($char);
+ my $txt = substr($self->{search}, 1);
+ if ($txt) {
+ $self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
+ qr/\Q$txt\E/i;
+ } elsif ($self->{pattern}) {
+ delete $self->{pattern};
+ }
+ $self->screen_cur($self->{srhcr}, $self->{srhcc});
+ find_next($self);
+ status_area($self);
+ }
+ } elsif ($self->{move_to}) {
+ if ($keysym == 0xff1b) {
+ $self->{move_to} = 0;
+ status_area($self);
+ } elsif (length($char) > 0) {
+ $self->{move_to} = 0;
+ $self->{patterns}{'f-1'} = qr/^.*\Q$key\E/;
+ $self->{patterns}{'f+1'} = qr/^.+?\Q$key\E/;
+ move_to($self, ';');
+ status_area($self);
+ }
+ } elsif ($keysym == 0xff1b || lc($key) eq 'q') {
+ deactivate($self);
+ } elsif (lc($key) eq 'y' || $keysym == 0xff0d ||
+ (lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
+ my $quit = 0;
+ if ($key eq 'Y' && $self->{select} ne 'l') {
+ $quit = !$self->{select};
+ toggle_select($self, 'l');
+ }
+ if ($self->{select}) {
+ my ($br, $bc, $er, $ec) = calc_span($self);
+ $ec = $self->line($er)->l if $self->{select} eq 'l';
+ $self->selection_beg($br, $bc);
+ $self->selection_end($er, $ec);
+ $self->selection_make($event->{time}, $self->{select} eq 'b');
+ if ($self->{clipboard}) {
+ $self->selection($self->selection(), 1);
+ $self->selection_grab($event->{time}, 1);
+ }
+ if (lc($key) eq 'y') {
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+ $self->{select} = '';
+ status_area($self);
+ $self->want_refresh();
+ } else {
+ $quit = 1;
+ }
+ }
+ if ($quit) {
+ deactivate($self);
+ }
+ } elsif ($key eq 'V') {
+ toggle_select($self, 'l');
+ } elsif ($key eq 'v') {
+ if ($event->{state} & urxvt::ControlMask) {
+ toggle_select($self, 'b');
+ } else {
+ toggle_select($self, 'n');
+ }
+ } elsif ($key eq 'k' || $keysym == 0xff52) {
+ move_cursor($self, 'k');
+ } elsif ($key eq 'j' || $keysym == 0xff54) {
+ move_cursor($self, 'j');
+ } elsif ($key eq 'h' || $keysym == 0xff51) {
+ move_cursor($self, 'h');
+ } elsif ($key eq 'l' || $keysym == 0xff53) {
+ move_cursor($self, 'l');
+ } elsif ($keysym == 0xff57) {
+ move_cursor($self, '$');
+ } elsif ($keysym == 0xff50) {
+ move_cursor($self, '^');
+ } elsif ('gG0^$HML' =~ m/\Q$key\E/ ||
+ ('fbdu' =~ m/\Q$key\E/ && $event->{state} & urxvt::ControlMask)) {
+ move_cursor($self, $key);
+ } elsif (lc($key) eq 'f') {
+ $self->{move_to} = 1;
+ $self->{move_dir} = $key eq 'F' ? -1 : 1;
+ status_area($self, $key);
+ } elsif (';,wWbBeE' =~ m/\Q$key\E/) {
+ move_to($self, $key);
+ } elsif ($key eq '/' || $key eq '?') {
+ $self->{search} = $key;
+ $self->{search_dir} = $key eq '?' ? -1 : 1;
+ ($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
+ status_area($self);
+ } elsif (lc($key) eq 'n') {
+ find_next($self, $self->{search_dir} * ($key eq 'N' ? -1 : 1));
+ }
+
+ return 1;
+}
+
+
+sub move_cursor {
+ my ($self, $key) = @_;
+ my ($cr, $cc) = $self->screen_cur();
+ my $line = $self->line($cr);
+
+ if ($key eq 'k' && $line->beg > $self->top_row) {
+ $cr = $line->beg - 1;
+ } elsif ($key eq 'j' && $line->end < $self->nrow - 1) {
+ $cr = $line->end + 1;
+ } elsif ($key eq 'h' && $self->{offset} > 0) {
+ $self->{offset} = $line->offset_of($cr, $cc) - 1;
+ $self->{dollar} = 0;
+ } elsif ($key eq 'l' && $self->{offset} < $line->l - 1) {
+ ++$self->{offset};
+ } elsif ($key eq 'f' || $key eq 'd') {
+ my $vs = $self->view_start() +
+ ($key eq 'd' ? $self->nrow / 2 : $self->nrow - 1);
+ $vs = 0 if $vs > 0;
+ $cr += $vs - $self->view_start($vs);
+ } elsif ($key eq 'b' || $key eq 'u') {
+ my $vs = $self->view_start() -
+ ($key eq 'u' ? $self->nrow / 2 : $self->nrow - 1);
+ $vs = $self->top_row if $vs < $self->top_row;
+ $cr += $vs - $self->view_start($vs);
+ } elsif ($key eq 'g') {
+ ($cr, $self->{offset}) = ($self->top_row, 0);
+ $self->{dollar} = 0;
+ } elsif ($key eq 'G') {
+ ($cr, $self->{offset}) = ($self->nrow - 1, 0);
+ $self->{dollar} = 0;
+ } elsif ($key eq '0') {
+ $self->{offset} = 0;
+ $self->{dollar} = 0;
+ } elsif ($key eq '^') {
+ my $ltxt = $self->special_decode($line->t);
+ while ($ltxt =~ s/^( *)\t/$1 . " " x (8 - length($1) % 8)/e) {}
+ $self->{offset} = $ltxt =~ m/^ +/ ? $+[0] : 0;
+ $self->{dollar} = 0;
+ } elsif ($key eq '$') {
+ my $co = $line->offset_of($cr, $cc);
+ $self->{dollar} = $co + 1;
+ $self->{offset} = $line->l - 1;
+ } elsif ($key eq 'H') {
+ $cr = $self->view_start();
+ } elsif ($key eq 'M') {
+ $cr = $self->view_start() + $self->nrow / 2;
+ } elsif ($key eq 'L') {
+ $cr = $self->view_start() + $self->nrow - 1;
+ }
+
+ $line = $self->line($cr);
+ $cc = $self->{dollar} || $self->{offset} >= $line->l ? $line->l - 1 :
+ $self->{offset};
+ $self->screen_cur($line->coord_of($cc));
+
+ status_area($self);
+ $self->want_refresh();
+
+ ()
+}
+
+
+sub move_to {
+ my ($self, $key) = @_;
+ my ($cr, $cc) = $self->screen_cur();
+ my $line = $self->line($cr);
+ my $offset = $self->{offset};
+ my ($dir, $pattern);
+ my ($wrap, $found) = (0, 0);
+
+ if ($key eq ';' || $key eq ',') {
+ $dir = $self->{move_dir} * ($key eq ',' ? -1 : 1);
+ $pattern = $self->{patterns}{sprintf('f%+d', $dir)};
+ return if not $pattern;
+ } else {
+ if (lc($key) eq 'b') {
+ $dir = -1;
+ } else {
+ $dir = 1;
+ ++$offset if lc($key) eq 'e';
+ }
+ $pattern = $self->{patterns}{$key};
+ $wrap = 1;
+ }
+
+ if ($dir > 0) {
+ NEXTDOWN: my $text = substr($line->t, $offset);
+ if ($text =~ m/$pattern/) {
+ $offset += $+[0] - 1;
+ $found = 1;
+ } elsif ($wrap && $line->end + 1 < $self->nrow) {
+ $cr = $line->end + 1;
+ $line = $self->line($cr);
+ $offset = 0;
+ if (lc($key) eq 'e') {
+ goto NEXTDOWN;
+ } else {
+ $found = 1;
+ }
+ }
+ } elsif ($dir < 0) {
+ NEXTUP: my $text = substr($line->t, 0, $offset);
+ if ($text =~ m/$pattern/) {
+ $offset += $+[0] - length($text) - 1;
+ $found = 1;
+ } elsif ($wrap) {
+ if ($offset > 0) {
+ $offset = 0;
+ $found = 1;
+ } elsif ($line->beg > $self->top_row) {
+ $cr = $line->beg - 1;
+ $line = $self->line($cr);
+ $offset = $line->l;
+ goto NEXTUP;
+ }
+ }
+ }
+
+ if ($found) {
+ $self->{dollar} = 0;
+ $self->{offset} = $offset;
+ $self->screen_cur($line->coord_of($offset));
+ $self->want_refresh();
+ }
+
+ ()
+}
+
+
+sub find_next {
+ my ($self, $dir) = @_;
+
+ return if not $self->{pattern};
+ $dir = $self->{search_dir} if not $dir;
+
+ my ($cr, $cc) = $self->screen_cur();
+ my $line = $self->line($cr);
+ my $offset = $line->offset_of($cr, $cc);
+ my $text;
+ my $found = 0;
+
+ ++$offset if $dir > 0;
+
+ while (not $found) {
+ if ($dir > 0) {
+ $text = substr($line->t, $offset);
+ if ($text =~ m/$self->{pattern}/) {
+ $found = 1;
+ $offset += $-[0];
+ } else {
+ last if $line->end >= $self->nrow;
+ $line = $self->line($line->end + 1);
+ $offset = 0;
+ }
+ } else {
+ $text = substr($line->t, 0, $offset);
+ if ($text =~ m/$self->{pattern}/) {
+ $found = 1;
+ $offset = $-[0] while $text =~ m/$self->{pattern}/g;
+ } else {
+ last if $line->beg <= $self->top_row;
+ $line = $self->line($line->beg - 1);
+ $offset = $line->l;
+ }
+ }
+ }
+
+ if ($found) {
+ $self->{dollar} = 0;
+ $self->{offset} = $offset;
+ $self->screen_cur($line->coord_of($offset));
+ status_area($self);
+ $self->want_refresh();
+ }
+
+ return $found;
+}
+
+
+sub tt_write {
+ return 1;
+}
+
+
+sub refresh {
+ my ($self) = @_;
+ my ($cr, $cc) = $self->screen_cur();
+
+ # scroll the current cursor position into visible area
+ if ($cr < $self->view_start()) {
+ $self->view_start($cr);
+ } elsif ($cr >= $self->view_start() + $self->nrow) {
+ $self->view_start($cr - $self->nrow + 1);
+ }
+
+ if ($self->{select}) {
+ my ($hl, $reverse_cursor);
+ my ($br, $bc, $er, $ec) = calc_span($self);
+
+ if ($self->x_resource('highlightColor')) {
+ $hl = urxvt::RS_Sel;
+ $reverse_cursor = 0;
+ } else {
+ $hl = urxvt::RS_RVid;
+ $reverse_cursor = $self->{select} ne 'l';
+ }
+ if ($self->{select} eq 'b') {
+ my $co = $self->line($cr)->offset_of($cr, $cc);
+ my $dollar = $self->{dollar} && $co >= $self->{dollar} - 1;
+
+ my $r = $br;
+ while ($r <= $er) {
+ my $line = $self->line($r);
+ if ($bc < $line->l) {
+ $ec = $line->l if $dollar;
+ my ($br, $bc) = $line->coord_of($bc);
+ my ($er, $ec) = $line->coord_of($ec <= $line->l ? $ec : $line->l);
+ $self->scr_xor_span($br, $bc, $er, $ec, $hl);
+ } elsif ($r == $cr) {
+ $reverse_cursor = 0;
+ }
+ $r = $line->end + 1;
+ }
+ } else {
+ $self->scr_xor_span($br, $bc, $er, $ec, $hl);
+ }
+
+ if ($reverse_cursor) {
+ # make the cursor visible again
+ $self->scr_xor_span($cr, $cc, $cr, $cc + 1, $hl);
+ }
+ }
+
+ ()
+}
+
+
+sub activate {
+ my ($self, $search) = @_;
+
+ $self->{active} = 1;
+
+ $self->{select} = '';
+ $self->{dollar} = 0;
+ $self->{move_to} = 0;
+
+ if ($search) {
+ $self->{search} = '?';
+ $self->{search_dir} = -1;
+ $self->{search_mode} = 1;
+ } else {
+ $self->{search} = '';
+ $self->{search_mode} = 0;
+ }
+
+ ($self->{oldcr}, $self->{oldcc}) = $self->screen_cur();
+ ($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
+ $self->{old_view_start} = $self->view_start();
+ $self->{old_pty_ev_events} = $self->pty_ev_events(urxvt::EV_NONE);
+
+ my $line = $self->line($self->{oldcr});
+ $self->{offset} = $line->offset_of($self->{oldcr}, $self->{oldcc});
+
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+
+ $self->enable(
+ key_press => \&key_press,
+ refresh_begin => \&refresh,
+ refresh_end => \&refresh,
+ tt_write => \&tt_write,
+ );
+
+ if ($self->{offset} >= $line->l) {
+ $self->{offset} = $line->l > 0 ? $line->l - 1 : 0;
+ $self->screen_cur($line->coord_of($self->{offset}));
+ $self->want_refresh();
+ }
+
+ $self->{overlay_len} = 0;
+ status_area($self);
+
+ ()
+}
+
+
+sub deactivate {
+ my ($self) = @_;
+
+ $self->selection_beg(1, 0);
+ $self->selection_end(1, 0);
+
+ delete $self->{overlay} if $self->{overlay};
+
+ $self->disable("key_press", "refresh_begin", "refresh_end", "tt_write");
+ $self->screen_cur($self->{oldcr}, $self->{oldcc});
+ $self->view_start($self->{old_view_start});
+ $self->pty_ev_events($self->{old_pty_ev_events});
+
+ $self->want_refresh();
+
+ $self->{active} = 0;
+
+ ()
+}
+
+
+sub status_area {
+ my ($self, $extra) = @_;
+ my ($stat, $stat_len);
+
+ if ($self->{search}) {
+ $stat_len = $self->ncol;
+ $stat = $self->{search} . ' ' x ($stat_len - length($self->{search}));
+ } else {
+ if ($self->{select}) {
+ $stat = "-V" . ($self->{select} ne 'n' ? uc($self->{select}) : "") . "- ";
+ }
+
+ if ($self->top_row == 0) {
+ $stat .= "All";
+ } elsif ($self->view_start() == $self->top_row) {
+ $stat .= "Top";
+ } elsif ($self->view_start() == 0) {
+ $stat .= "Bot";
+ } else {
+ $stat .= sprintf("%2d%%",
+ ($self->top_row - $self->view_start) * 100 / $self->top_row);
+ }
+
+ $stat = "$extra $stat" if $extra;
+ $stat_len = length($stat);
+ }
+
+ if (!$self->{overlay} || $self->{overlay_len} != $stat_len) {
+ delete $self->{overlay} if $self->{overlay};
+ $self->{overlay} = $self->overlay(-1, -1, $stat_len, 1,
+ urxvt::OVERLAY_RSTYLE, 0);
+ $self->{overlay_len} = $stat_len;
+ }
+
+ $self->{overlay}->set(0, 0, $self->special_encode($stat));
+ $self->{overlay}->show();
+
+ ()
+}
+
+
+sub toggle_select {
+ my ($self, $mode) = @_;
+
+ if ($self->{select} eq $mode) {
+ $self->{select} = '';
+ } else {
+ if (not $self->{select}) {
+ ($self->{ar}, $self->{ac}) = $self->screen_cur();
+ }
+ $self->{select} = $mode;
+ }
+
+ status_area($self);
+ $self->want_refresh();
+
+ ()
+}
+
+
+sub calc_span {
+ my ($self) = @_;
+ my ($cr, $cc) = $self->screen_cur();
+ my ($br, $bc, $er, $ec);
+
+ if ($self->{select} eq 'b') {
+ $br = $self->line($cr)->beg;
+ $bc = $self->line($cr)->offset_of($cr, $cc);
+ $er = $self->line($self->{ar})->beg;
+ $ec = $self->line($self->{ar})->offset_of($self->{ar}, $self->{ac});
+ ($br, $er) = ($er, $br) if $br > $er;
+ ($bc, $ec) = ($ec, $bc) if $bc > $ec;
+ } else {
+ if ($cr < $self->{ar}) {
+ ($br, $bc, $er, $ec) = ($cr, $cc, $self->{ar}, $self->{ac});
+ } elsif ($cr > $self->{ar}) {
+ ($br, $bc, $er, $ec) = ($self->{ar}, $self->{ac}, $cr, $cc);
+ } else {
+ ($br, $er) = ($cr, $cr);
+ ($bc, $ec) = $cc < $self->{ac} ? ($cc, $self->{ac}) : ($self->{ac}, $cc);
+ }
+ }
+
+ if ($self->{select} eq 'l') {
+ ($br, $er) = ($self->line($br)->beg, $self->line($er)->end);
+ ($bc, $ec) = (0, $self->ncol);
+ } else {
+ ++$ec;
+ }
+
+ return ($br, $bc, $er, $ec);
+}