diff options
| author | bard <[email protected]> | 2024-04-15 06:24:14 -0400 |
|---|---|---|
| committer | bard <[email protected]> | 2024-04-15 06:24:14 -0400 |
| commit | 168120d4068eff9816c11f0503738c12861821ae (patch) | |
| tree | 635e839eeca920432fcaa8417b282e074e84a4c2 /urxvt | |
initial commit
Diffstat (limited to 'urxvt')
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); +} |
