aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cache/wal/chromium/Cached Theme.pakbin1372 -> 1374 bytes
-rw-r--r--.cache/wal/chromium/bg.pngbin494 -> 495 bytes
-rw-r--r--.cache/wal/chromium/manifest.json52
-rw-r--r--.cache/wal/colors32
-rw-r--r--.cache/wal/colors-kitty.conf38
-rw-r--r--.cache/wal/colors-konsole.colorscheme40
-rw-r--r--.cache/wal/colors-oomox24
-rw-r--r--.cache/wal/colors-putty.reg44
-rw-r--r--.cache/wal/colors-rofi-dark.rasi14
-rw-r--r--.cache/wal/colors-rofi-light.rasi14
-rw-r--r--.cache/wal/colors-speedcrunch.json26
-rw-r--r--.cache/wal/colors-sway36
-rw-r--r--.cache/wal/colors-tty.sh32
-rw-r--r--.cache/wal/colors-wal-dmenu.h6
-rw-r--r--.cache/wal/colors-wal-dwm.h18
-rw-r--r--.cache/wal/colors-wal-st.h38
-rw-r--r--.cache/wal/colors-wal-tabbed.h12
-rw-r--r--.cache/wal/colors-wal.vim38
-rw-r--r--.cache/wal/colors-waybar.css38
-rw-r--r--.cache/wal/colors.Xresources114
-rw-r--r--.cache/wal/colors.css38
-rw-r--r--.cache/wal/colors.hs38
-rw-r--r--.cache/wal/colors.json38
-rw-r--r--.cache/wal/colors.scss38
-rw-r--r--.cache/wal/colors.sh38
-rw-r--r--.cache/wal/colors.yml38
-rw-r--r--.cache/wal/sequences2
-rw-r--r--.config/BetterDiscord/plugins/EditChannels.config.json78
-rw-r--r--.config/BetterDiscord/plugins/EditChannels.plugin.js213
-rw-r--r--.config/BetterDiscord/plugins/EditServers.config.json35
-rw-r--r--.config/BetterDiscord/plugins/EditServers.plugin.js92
-rw-r--r--.config/BetterDiscord/plugins/NotificationSounds.config.json2
-rw-r--r--.config/BetterDiscord/plugins/NotificationSounds.plugin.js296
-rw-r--r--.config/BetterDiscord/plugins/PinDMs.plugin.js271
-rw-r--r--.config/BetterDiscord/plugins/SendLargeMessages.plugin.js25
-rw-r--r--.config/BetterDiscord/themes/MinimalCord.theme.css2
-rw-r--r--.config/BetterDiscord/themes/pywal.theme.css120
-rw-r--r--.config/coc/extensions/package.json6
-rw-r--r--.config/coc/snippets-mru5
-rw-r--r--.config/i3/config17
-rw-r--r--.config/nvim/ftplugin/tex.vim1
-rw-r--r--.config/nvim/init.vim13
-rw-r--r--.config/nvim/pywal/colors.vim84
-rw-r--r--.config/nvim/pywal/pywal.vim84
-rw-r--r--.config/polybar/config16
-rw-r--r--.config/rofi/pywal.rasi12
-rw-r--r--.config/spicetify/Themes/Loekaars/color.ini32
-rw-r--r--.config/spicetify/config.ini24
-rw-r--r--.config/startpage/index.html16
-rw-r--r--.config/startpage/pywal.css114
-rw-r--r--.config/startpage/style.css25
-rw-r--r--.config/zathura/zathurarc5
-rw-r--r--.zshrc12
53 files changed, 1318 insertions, 1128 deletions
diff --git a/.cache/wal/chromium/Cached Theme.pak b/.cache/wal/chromium/Cached Theme.pak
index f794a6e..a21eb8d 100644
--- a/.cache/wal/chromium/Cached Theme.pak
+++ b/.cache/wal/chromium/Cached Theme.pak
Binary files differ
diff --git a/.cache/wal/chromium/bg.png b/.cache/wal/chromium/bg.png
index 42546ae..5ee6acc 100644
--- a/.cache/wal/chromium/bg.png
+++ b/.cache/wal/chromium/bg.png
Binary files differ
diff --git a/.cache/wal/chromium/manifest.json b/.cache/wal/chromium/manifest.json
index c8ba241..764f6ae 100644
--- a/.cache/wal/chromium/manifest.json
+++ b/.cache/wal/chromium/manifest.json
@@ -8,9 +8,9 @@
},
"colors": {
"bookmark_text": [
- 198,
- 198,
- 198
+ 196,
+ 196,
+ 197
],
"frame": [
255,
@@ -18,44 +18,44 @@
255
],
"ntp_background": [
- 28,
- 28,
- 28
+ 21,
+ 21,
+ 23
],
"ntp_text": [
- 28,
- 28,
- 28
+ 21,
+ 21,
+ 23
],
"tab_background_text": [
- 138,
- 138,
+ 136,
+ 136,
138
],
"tab_background_text_inactive": [
- 138,
- 138,
+ 136,
+ 136,
138
],
"tab_background_text_incognito": [
- 138,
- 138,
+ 136,
+ 136,
138
],
"tab_background_text_incognito_inactive": [
- 138,
- 138,
+ 136,
+ 136,
138
],
"tab_text": [
- 198,
- 198,
- 198
+ 196,
+ 196,
+ 197
],
"toolbar": [
- 36,
- 36,
- 36
+ 27,
+ 28,
+ 31
],
"button_background": [
255,
@@ -65,9 +65,9 @@
},
"tints": {
"buttons": [
- 0.06962025316455696,
- 34.64912280701754,
- 89.41176470588236
+ 0.6111111111111112,
+ 44.827586206896555,
+ 34.11764705882353
],
"frame_inactive": [
-1,
diff --git a/.cache/wal/colors b/.cache/wal/colors
index 502d17a..dd59ccf 100644
--- a/.cache/wal/colors
+++ b/.cache/wal/colors
@@ -1,16 +1,16 @@
-#1c1c1c
-#616c71
-#7f8485
-#9099ba
-#c79c95
-#9fc0c8
-#e4b695
-#c6c6c6
-#545454
-#616c71
-#7f8485
-#9099ba
-#c79c95
-#9fc0c8
-#e4b695
-#c6c6c6
+#151618
+#131e35
+#222323
+#1d2841
+#2a2929
+#2a313f
+#303d57
+#c4c4c5
+#4f5051
+#131e35
+#222323
+#1d2841
+#2a2929
+#2a313f
+#303d57
+#c4c4c5
diff --git a/.cache/wal/colors-kitty.conf b/.cache/wal/colors-kitty.conf
index 2e45153..c07aa8c 100644
--- a/.cache/wal/colors-kitty.conf
+++ b/.cache/wal/colors-kitty.conf
@@ -1,20 +1,20 @@
-foreground #c6c6c6
-background #1c1c1c
-cursor #c6c6c6
+foreground #c4c4c5
+background #151618
+cursor #c4c4c5
-color0 #1c1c1c
-color8 #545454
-color1 #616c71
-color9 #616c71
-color2 #7f8485
-color10 #7f8485
-color3 #9099ba
-color11 #9099ba
-color4 #c79c95
-color12 #c79c95
-color5 #9fc0c8
-color13 #9fc0c8
-color6 #e4b695
-color14 #e4b695
-color7 #c6c6c6
-color15 #c6c6c6
+color0 #151618
+color8 #4f5051
+color1 #131e35
+color9 #131e35
+color2 #222323
+color10 #222323
+color3 #1d2841
+color11 #1d2841
+color4 #2a2929
+color12 #2a2929
+color5 #2a313f
+color13 #2a313f
+color6 #303d57
+color14 #303d57
+color7 #c4c4c5
+color15 #c4c4c5
diff --git a/.cache/wal/colors-konsole.colorscheme b/.cache/wal/colors-konsole.colorscheme
index 1b4377c..5477494 100644
--- a/.cache/wal/colors-konsole.colorscheme
+++ b/.cache/wal/colors-konsole.colorscheme
@@ -1,62 +1,62 @@
[Background]
-Color=28,28,28
+Color=21,22,24
[BackgroundIntense]
-Color=28,28,28
+Color=21,22,24
[Color0]
-Color=28,28,28
+Color=21,22,24
[Color0Intense]
-Color=84,84,84
+Color=79,80,81
[Color1]
-Color=97,108,113
+Color=65,93,150
[Color1Intense]
-Color=97,108,113
+Color=65,93,150
[Color2]
-Color=127,132,133
+Color=102,105,105
[Color2Intense]
-Color=127,132,133
+Color=102,105,105
[Color3]
-Color=144,153,186
+Color=70,90,137
[Color3Intense]
-Color=144,153,186
+Color=70,90,137
[Color4]
-Color=199,156,149
+Color=101,99,99
[Color4Intense]
-Color=199,156,149
+Color=101,99,99
[Color5]
-Color=159,192,200
+Color=80,91,113
[Color5Intense]
-Color=159,192,200
+Color=80,91,113
[Color6]
-Color=228,182,149
+Color=60,75,105
[Color6Intense]
-Color=228,182,149
+Color=60,75,105
[Color7]
-Color=198,198,198
+Color=196,196,197
[Color7Intense]
-Color=198,198,198
+Color=196,196,197
[Foreground]
-Color=198,198,198
+Color=196,196,197
[ForegroundIntense]
-Color=198,198,198
+Color=196,196,197
[General]
Description=Colorscheme generated by wal
diff --git a/.cache/wal/colors-oomox b/.cache/wal/colors-oomox
index e436876..7bcedc9 100644
--- a/.cache/wal/colors-oomox
+++ b/.cache/wal/colors-oomox
@@ -1,16 +1,16 @@
NAME=wal
-BG=1c1c1c
-FG=c6c6c6
-MENU_BG=1c1c1c
-MENU_FG=c6c6c6
-SEL_BG=616c71
-SEL_FG=1c1c1c
-TXT_BG=1c1c1c
-TXT_FG=c6c6c6
-BTN_BG=7f8485
-BTN_FG=c6c6c6
-HDR_BTN_BG=9099ba
-HDR_BTN_FG=c6c6c6
+BG=151618
+FG=c4c4c5
+MENU_BG=151618
+MENU_FG=c4c4c5
+SEL_BG=131e35
+SEL_FG=151618
+TXT_BG=151618
+TXT_FG=c4c4c5
+BTN_BG=222323
+BTN_FG=c4c4c5
+HDR_BTN_BG=1d2841
+HDR_BTN_FG=c4c4c5
GTK3_GENERATE_DARK=True
ROUNDNESS=0
SPACING=3
diff --git a/.cache/wal/colors-putty.reg b/.cache/wal/colors-putty.reg
index 5b46515..16e8a2a 100644
--- a/.cache/wal/colors-putty.reg
+++ b/.cache/wal/colors-putty.reg
@@ -1,26 +1,26 @@
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\wal]
-"Colour0"="198,198,198" ; Default Foreground
-"Colour1"="198,198,198" ; Default Bold Foreground
-"Colour2"="28,28,28" ; Default Background
-"Colour3"="28,28,28" ; Default Bold Background
-"Colour4"="28,28,28" ; Cursor Text
-"Colour5"="198,198,198" ; Cursor Color
-"Colour6"="28,28,28" ; ANSI Black
-"Colour7"="84,84,84" ; ANSI Black Bold
-"Colour8"="97,108,113" ; ANSI Red
-"Colour9"="97,108,113" ; ANSI Red Bold
-"Colour10"="127,132,133" ; ANSI Green
-"Colour11"="127,132,133" ; ANSI Green Bold
-"Colour12"="144,153,186" ; ANSI Yellow
-"Colour13"="144,153,186" ; ANSI Yellow Bold
-"Colour14"="199,156,149" ; ANSI Blue
-"Colour15"="199,156,149" ; ANSI Blue Bold
-"Colour16"="159,192,200" ; ANSI Magenta
-"Colour17"="159,192,200" ; ANSI Magenta Bold
-"Colour18"="228,182,149" ; ANSI Cyan
-"Colour19"="228,182,149" ; ANSI Cyan Bold
-"Colour20"="198,198,198" ; ANSI White
-"Colour21"="198,198,198" ; ANSI White Bold
+"Colour0"="196,196,197" ; Default Foreground
+"Colour1"="196,196,197" ; Default Bold Foreground
+"Colour2"="21,22,24" ; Default Background
+"Colour3"="21,22,24" ; Default Bold Background
+"Colour4"="21,22,24" ; Cursor Text
+"Colour5"="196,196,197" ; Cursor Color
+"Colour6"="21,22,24" ; ANSI Black
+"Colour7"="79,80,81" ; ANSI Black Bold
+"Colour8"="19,30,53" ; ANSI Red
+"Colour9"="19,30,53" ; ANSI Red Bold
+"Colour10"="34,35,35" ; ANSI Green
+"Colour11"="34,35,35" ; ANSI Green Bold
+"Colour12"="29,40,65" ; ANSI Yellow
+"Colour13"="29,40,65" ; ANSI Yellow Bold
+"Colour14"="42,41,41" ; ANSI Blue
+"Colour15"="42,41,41" ; ANSI Blue Bold
+"Colour16"="42,49,63" ; ANSI Magenta
+"Colour17"="42,49,63" ; ANSI Magenta Bold
+"Colour18"="48,61,87" ; ANSI Cyan
+"Colour19"="48,61,87" ; ANSI Cyan Bold
+"Colour20"="196,196,197" ; ANSI White
+"Colour21"="196,196,197" ; ANSI White Bold
diff --git a/.cache/wal/colors-rofi-dark.rasi b/.cache/wal/colors-rofi-dark.rasi
index f8f1195..5dc7550 100644
--- a/.cache/wal/colors-rofi-dark.rasi
+++ b/.cache/wal/colors-rofi-dark.rasi
@@ -1,9 +1,9 @@
* {
- active-background: #7f8485;
+ active-background: #222323;
active-foreground: @foreground;
normal-background: @background;
normal-foreground: @foreground;
- urgent-background: #616c71;
+ urgent-background: #131e35;
urgent-foreground: @foreground;
alternate-active-background: @background;
@@ -13,16 +13,16 @@
alternate-urgent-background: @background;
alternate-urgent-foreground: @foreground;
- selected-active-background: #616c71;
+ selected-active-background: #131e35;
selected-active-foreground: @foreground;
- selected-normal-background: #7f8485;
+ selected-normal-background: #222323;
selected-normal-foreground: @foreground;
- selected-urgent-background: #9099ba;
+ selected-urgent-background: #1d2841;
selected-urgent-foreground: @foreground;
background-color: @background;
- background: #1c1c1c;
- foreground: #c6c6c6;
+ background: #151618;
+ foreground: #c4c4c5;
border-color: @background;
spacing: 2;
}
diff --git a/.cache/wal/colors-rofi-light.rasi b/.cache/wal/colors-rofi-light.rasi
index 0f8336c..1dbeb98 100644
--- a/.cache/wal/colors-rofi-light.rasi
+++ b/.cache/wal/colors-rofi-light.rasi
@@ -1,9 +1,9 @@
* {
- active-background: #7f8485;
+ active-background: #222323;
active-foreground: @foreground;
normal-background: @background;
normal-foreground: @foreground;
- urgent-background: #616c71;
+ urgent-background: #131e35;
urgent-foreground: @foreground;
alternate-active-background: @background;
@@ -13,16 +13,16 @@
alternate-urgent-background: @background;
alternate-urgent-foreground: @foreground;
- selected-active-background: #616c71;
+ selected-active-background: #131e35;
selected-active-foreground: @foreground;
- selected-normal-background: #7f8485;
+ selected-normal-background: #222323;
selected-normal-foreground: @foreground;
- selected-urgent-background: #9099ba;
+ selected-urgent-background: #1d2841;
selected-urgent-foreground: @foreground;
background-color: @background;
- background: #c6c6c6;
- foreground: #1c1c1c;
+ background: #c4c4c5;
+ foreground: #151618;
border-color: @background;
spacing: 2;
}
diff --git a/.cache/wal/colors-speedcrunch.json b/.cache/wal/colors-speedcrunch.json
index db519db..c019dd4 100644
--- a/.cache/wal/colors-speedcrunch.json
+++ b/.cache/wal/colors-speedcrunch.json
@@ -1,15 +1,15 @@
{
- "cursor": "#c6c6c6",
- "number": "#c6c6c6",
- "parens": "#9fc0c8",
- "result": "#c79c95",
- "comment": "#545454",
- "matched": "#c79c95",
- "function": "#616c71",
- "operator": "#9099ba",
- "variable": "#7f8485",
- "scrollbar": "#9099ba",
- "separator": "#9099ba",
- "background": "#1c1c1c",
- "editorbackground": "#1c1c1c"
+ "cursor": "#c4c4c5",
+ "number": "#c4c4c5",
+ "parens": "#2a313f",
+ "result": "#2a2929",
+ "comment": "#4f5051",
+ "matched": "#2a2929",
+ "function": "#131e35",
+ "operator": "#1d2841",
+ "variable": "#222323",
+ "scrollbar": "#1d2841",
+ "separator": "#1d2841",
+ "background": "#151618",
+ "editorbackground": "#151618"
}
diff --git a/.cache/wal/colors-sway b/.cache/wal/colors-sway
index 20484bf..9996805 100644
--- a/.cache/wal/colors-sway
+++ b/.cache/wal/colors-sway
@@ -1,21 +1,21 @@
set $wallpaper /home/loek/.config/wpg/wallpapers/pywal.png
-set $background #1c1c1c
-set $foreground #c6c6c6
+set $background #151618
+set $foreground #c4c4c5
-set $color0 #1c1c1c
-set $color1 #616c71
-set $color2 #7f8485
-set $color3 #9099ba
-set $color4 #c79c95
-set $color5 #9fc0c8
-set $color6 #e4b695
-set $color7 #c6c6c6
-set $color8 #545454
-set $color9 #616c71
-set $color10 #7f8485
-set $color11 #9099ba
-set $color12 #c79c95
-set $color13 #9fc0c8
-set $color14 #e4b695
-set $color15 #c6c6c6
+set $color0 #151618
+set $color1 #131e35
+set $color2 #222323
+set $color3 #1d2841
+set $color4 #2a2929
+set $color5 #2a313f
+set $color6 #303d57
+set $color7 #c4c4c5
+set $color8 #4f5051
+set $color9 #131e35
+set $color10 #222323
+set $color11 #1d2841
+set $color12 #2a2929
+set $color13 #2a313f
+set $color14 #303d57
+set $color15 #c4c4c5
diff --git a/.cache/wal/colors-tty.sh b/.cache/wal/colors-tty.sh
index fa6c2c2..3aafbf8 100644
--- a/.cache/wal/colors-tty.sh
+++ b/.cache/wal/colors-tty.sh
@@ -1,19 +1,19 @@
#!/bin/sh
[ "${TERM:-none}" = "linux" ] && \
- printf '%b' '\e]P01c1c1c
- \e]P1616c71
- \e]P27f8485
- \e]P39099ba
- \e]P4c79c95
- \e]P59fc0c8
- \e]P6e4b695
- \e]P7c6c6c6
- \e]P8545454
- \e]P9616c71
- \e]PA7f8485
- \e]PB9099ba
- \e]PCc79c95
- \e]PD9fc0c8
- \e]PEe4b695
- \e]PFc6c6c6
+ printf '%b' '\e]P0151618
+ \e]P1131e35
+ \e]P2222323
+ \e]P31d2841
+ \e]P42a2929
+ \e]P52a313f
+ \e]P6303d57
+ \e]P7c4c4c5
+ \e]P84f5051
+ \e]P9131e35
+ \e]PA222323
+ \e]PB1d2841
+ \e]PC2a2929
+ \e]PD2a313f
+ \e]PE303d57
+ \e]PFc4c4c5
\ec'
diff --git a/.cache/wal/colors-wal-dmenu.h b/.cache/wal/colors-wal-dmenu.h
index 1b5e0a7..6884ca0 100644
--- a/.cache/wal/colors-wal-dmenu.h
+++ b/.cache/wal/colors-wal-dmenu.h
@@ -1,6 +1,6 @@
static const char *colors[SchemeLast][2] = {
/* fg bg */
- [SchemeNorm] = { "#c6c6c6", "#1c1c1c" },
- [SchemeSel] = { "#c6c6c6", "#616c71" },
- [SchemeOut] = { "#c6c6c6", "#e4b695" },
+ [SchemeNorm] = { "#c4c4c5", "#151618" },
+ [SchemeSel] = { "#c4c4c5", "#131e35" },
+ [SchemeOut] = { "#c4c4c5", "#303d57" },
};
diff --git a/.cache/wal/colors-wal-dwm.h b/.cache/wal/colors-wal-dwm.h
index 9ec63e7..c70de2e 100644
--- a/.cache/wal/colors-wal-dwm.h
+++ b/.cache/wal/colors-wal-dwm.h
@@ -1,14 +1,14 @@
-static const char norm_fg[] = "#c6c6c6";
-static const char norm_bg[] = "#1c1c1c";
-static const char norm_border[] = "#545454";
+static const char norm_fg[] = "#c4c4c5";
+static const char norm_bg[] = "#151618";
+static const char norm_border[] = "#4f5051";
-static const char sel_fg[] = "#c6c6c6";
-static const char sel_bg[] = "#7f8485";
-static const char sel_border[] = "#c6c6c6";
+static const char sel_fg[] = "#c4c4c5";
+static const char sel_bg[] = "#222323";
+static const char sel_border[] = "#c4c4c5";
-static const char urg_fg[] = "#c6c6c6";
-static const char urg_bg[] = "#616c71";
-static const char urg_border[] = "#616c71";
+static const char urg_fg[] = "#c4c4c5";
+static const char urg_bg[] = "#131e35";
+static const char urg_border[] = "#131e35";
static const char *colors[][3] = {
/* fg bg border */
diff --git a/.cache/wal/colors-wal-st.h b/.cache/wal/colors-wal-st.h
index 661ec7f..90a9e39 100644
--- a/.cache/wal/colors-wal-st.h
+++ b/.cache/wal/colors-wal-st.h
@@ -1,29 +1,29 @@
const char *colorname[] = {
/* 8 normal colors */
- [0] = "#1c1c1c", /* black */
- [1] = "#616c71", /* red */
- [2] = "#7f8485", /* green */
- [3] = "#9099ba", /* yellow */
- [4] = "#c79c95", /* blue */
- [5] = "#9fc0c8", /* magenta */
- [6] = "#e4b695", /* cyan */
- [7] = "#c6c6c6", /* white */
+ [0] = "#151618", /* black */
+ [1] = "#131e35", /* red */
+ [2] = "#222323", /* green */
+ [3] = "#1d2841", /* yellow */
+ [4] = "#2a2929", /* blue */
+ [5] = "#2a313f", /* magenta */
+ [6] = "#303d57", /* cyan */
+ [7] = "#c4c4c5", /* white */
/* 8 bright colors */
- [8] = "#545454", /* black */
- [9] = "#616c71", /* red */
- [10] = "#7f8485", /* green */
- [11] = "#9099ba", /* yellow */
- [12] = "#c79c95", /* blue */
- [13] = "#9fc0c8", /* magenta */
- [14] = "#e4b695", /* cyan */
- [15] = "#c6c6c6", /* white */
+ [8] = "#4f5051", /* black */
+ [9] = "#131e35", /* red */
+ [10] = "#222323", /* green */
+ [11] = "#1d2841", /* yellow */
+ [12] = "#2a2929", /* blue */
+ [13] = "#2a313f", /* magenta */
+ [14] = "#303d57", /* cyan */
+ [15] = "#c4c4c5", /* white */
/* special colors */
- [256] = "#1c1c1c", /* background */
- [257] = "#c6c6c6", /* foreground */
- [258] = "#c6c6c6", /* cursor */
+ [256] = "#151618", /* background */
+ [257] = "#c4c4c5", /* foreground */
+ [258] = "#c4c4c5", /* cursor */
};
/* Default colors (colorname index)
diff --git a/.cache/wal/colors-wal-tabbed.h b/.cache/wal/colors-wal-tabbed.h
index ab1d37b..adf19b6 100644
--- a/.cache/wal/colors-wal-tabbed.h
+++ b/.cache/wal/colors-wal-tabbed.h
@@ -1,6 +1,6 @@
-static const char* selbgcolor = "#1c1c1c";
-static const char* selfgcolor = "#c6c6c6";
-static const char* normbgcolor = "#7f8485";
-static const char* normfgcolor = "#c6c6c6";
-static const char* urgbgcolor = "#616c71";
-static const char* urgfgcolor = "#c6c6c6";
+static const char* selbgcolor = "#151618";
+static const char* selfgcolor = "#c4c4c5";
+static const char* normbgcolor = "#222323";
+static const char* normfgcolor = "#c4c4c5";
+static const char* urgbgcolor = "#131e35";
+static const char* urgfgcolor = "#c4c4c5";
diff --git a/.cache/wal/colors-wal.vim b/.cache/wal/colors-wal.vim
index 8f0207a..1864705 100644
--- a/.cache/wal/colors-wal.vim
+++ b/.cache/wal/colors-wal.vim
@@ -1,23 +1,23 @@
" Special
let wallpaper = "/home/loek/.config/wpg/wallpapers/pywal.png"
-let background = "#1c1c1c"
-let foreground = "#c6c6c6"
-let cursor = "#c6c6c6"
+let background = "#151618"
+let foreground = "#c4c4c5"
+let cursor = "#c4c4c5"
" Colors
-let color0 = "#1c1c1c"
-let color1 = "#616c71"
-let color2 = "#7f8485"
-let color3 = "#9099ba"
-let color4 = "#c79c95"
-let color5 = "#9fc0c8"
-let color6 = "#e4b695"
-let color7 = "#c6c6c6"
-let color8 = "#545454"
-let color9 = "#616c71"
-let color10 = "#7f8485"
-let color11 = "#9099ba"
-let color12 = "#c79c95"
-let color13 = "#9fc0c8"
-let color14 = "#e4b695"
-let color15 = "#c6c6c6"
+let color0 = "#151618"
+let color1 = "#131e35"
+let color2 = "#222323"
+let color3 = "#1d2841"
+let color4 = "#2a2929"
+let color5 = "#2a313f"
+let color6 = "#303d57"
+let color7 = "#c4c4c5"
+let color8 = "#4f5051"
+let color9 = "#131e35"
+let color10 = "#222323"
+let color11 = "#1d2841"
+let color12 = "#2a2929"
+let color13 = "#2a313f"
+let color14 = "#303d57"
+let color15 = "#c4c4c5"
diff --git a/.cache/wal/colors-waybar.css b/.cache/wal/colors-waybar.css
index 68042c8..cf0eb73 100644
--- a/.cache/wal/colors-waybar.css
+++ b/.cache/wal/colors-waybar.css
@@ -1,20 +1,20 @@
-@define-color foreground #c6c6c6;
-@define-color background #1c1c1c;
-@define-color cursor #c6c6c6;
+@define-color foreground #c4c4c5;
+@define-color background #151618;
+@define-color cursor #c4c4c5;
-@define-color color0 #1c1c1c;
-@define-color color1 #616c71;
-@define-color color2 #7f8485;
-@define-color color3 #9099ba;
-@define-color color4 #c79c95;
-@define-color color5 #9fc0c8;
-@define-color color6 #e4b695;
-@define-color color7 #c6c6c6;
-@define-color color8 #545454;
-@define-color color9 #616c71;
-@define-color color10 #7f8485;
-@define-color color11 #9099ba;
-@define-color color12 #c79c95;
-@define-color color13 #9fc0c8;
-@define-color color14 #e4b695;
-@define-color color15 #c6c6c6;
+@define-color color0 #151618;
+@define-color color1 #131e35;
+@define-color color2 #222323;
+@define-color color3 #1d2841;
+@define-color color4 #2a2929;
+@define-color color5 #2a313f;
+@define-color color6 #303d57;
+@define-color color7 #c4c4c5;
+@define-color color8 #4f5051;
+@define-color color9 #131e35;
+@define-color color10 #222323;
+@define-color color11 #1d2841;
+@define-color color12 #2a2929;
+@define-color color13 #2a313f;
+@define-color color14 #303d57;
+@define-color color15 #c4c4c5;
diff --git a/.cache/wal/colors.Xresources b/.cache/wal/colors.Xresources
index 06594e7..8e4c360 100644
--- a/.cache/wal/colors.Xresources
+++ b/.cache/wal/colors.Xresources
@@ -1,68 +1,68 @@
! X colors.
! Generated by 'wal'
-*foreground: #c6c6c6
-*background: #1c1c1c
-*.foreground: #c6c6c6
-*.background: #1c1c1c
-emacs*foreground: #c6c6c6
-emacs*background: #1c1c1c
-URxvt*foreground: #c6c6c6
-XTerm*foreground: #c6c6c6
-UXTerm*foreground: #c6c6c6
-URxvt*background: [100]#1c1c1c
-XTerm*background: #1c1c1c
-UXTerm*background: #1c1c1c
-URxvt*cursorColor: #c6c6c6
-XTerm*cursorColor: #c6c6c6
-UXTerm*cursorColor: #c6c6c6
-URxvt*borderColor: [100]#1c1c1c
+*foreground: #c4c4c5
+*background: #151618
+*.foreground: #c4c4c5
+*.background: #151618
+emacs*foreground: #c4c4c5
+emacs*background: #151618
+URxvt*foreground: #c4c4c5
+XTerm*foreground: #c4c4c5
+UXTerm*foreground: #c4c4c5
+URxvt*background: [100]#151618
+XTerm*background: #151618
+UXTerm*background: #151618
+URxvt*cursorColor: #c4c4c5
+XTerm*cursorColor: #c4c4c5
+UXTerm*cursorColor: #c4c4c5
+URxvt*borderColor: [100]#151618
! Colors 0-15.
-*.color0: #1c1c1c
-*color0: #1c1c1c
-*.color1: #616c71
-*color1: #616c71
-*.color2: #7f8485
-*color2: #7f8485
-*.color3: #9099ba
-*color3: #9099ba
-*.color4: #c79c95
-*color4: #c79c95
-*.color5: #9fc0c8
-*color5: #9fc0c8
-*.color6: #e4b695
-*color6: #e4b695
-*.color7: #c6c6c6
-*color7: #c6c6c6
-*.color8: #545454
-*color8: #545454
-*.color9: #616c71
-*color9: #616c71
-*.color10: #7f8485
-*color10: #7f8485
-*.color11: #9099ba
-*color11: #9099ba
-*.color12: #c79c95
-*color12: #c79c95
-*.color13: #9fc0c8
-*color13: #9fc0c8
-*.color14: #e4b695
-*color14: #e4b695
-*.color15: #c6c6c6
-*color15: #c6c6c6
+*.color0: #151618
+*color0: #151618
+*.color1: #131e35
+*color1: #131e35
+*.color2: #222323
+*color2: #222323
+*.color3: #1d2841
+*color3: #1d2841
+*.color4: #2a2929
+*color4: #2a2929
+*.color5: #2a313f
+*color5: #2a313f
+*.color6: #303d57
+*color6: #303d57
+*.color7: #c4c4c5
+*color7: #c4c4c5
+*.color8: #4f5051
+*color8: #4f5051
+*.color9: #131e35
+*color9: #131e35
+*.color10: #222323
+*color10: #222323
+*.color11: #1d2841
+*color11: #1d2841
+*.color12: #2a2929
+*color12: #2a2929
+*.color13: #2a313f
+*color13: #2a313f
+*.color14: #303d57
+*color14: #303d57
+*.color15: #c4c4c5
+*color15: #c4c4c5
! Black color that will not be affected by bold highlighting.
-*.color66: #1c1c1c
-*color66: #1c1c1c
+*.color66: #151618
+*color66: #151618
! Xclock colors.
-XClock*foreground: #c6c6c6
-XClock*background: #1c1c1c
-XClock*majorColor: rgba:c6/c6/c6/ff
-XClock*minorColor: rgba:c6/c6/c6/ff
-XClock*hourColor: rgba:c6/c6/c6/ff
-XClock*minuteColor: rgba:c6/c6/c6/ff
-XClock*secondColor: rgba:c6/c6/c6/ff
+XClock*foreground: #c4c4c5
+XClock*background: #151618
+XClock*majorColor: rgba:c4/c4/c5/ff
+XClock*minorColor: rgba:c4/c4/c5/ff
+XClock*hourColor: rgba:c4/c4/c5/ff
+XClock*minuteColor: rgba:c4/c4/c5/ff
+XClock*secondColor: rgba:c4/c4/c5/ff
! Set depth to make transparency work.
URxvt*depth: 32
diff --git a/.cache/wal/colors.css b/.cache/wal/colors.css
index ddb462f..a6e2957 100644
--- a/.cache/wal/colors.css
+++ b/.cache/wal/colors.css
@@ -4,25 +4,25 @@
--wallpaper: url("/home/loek/.config/wpg/wallpapers/pywal.png");
/* Special */
- --background: #1c1c1c;
- --foreground: #c6c6c6;
- --cursor: #c6c6c6;
+ --background: #151618;
+ --foreground: #c4c4c5;
+ --cursor: #c4c4c5;
/* Colors */
- --color0: #1c1c1c;
- --color1: #616c71;
- --color2: #7f8485;
- --color3: #9099ba;
- --color4: #c79c95;
- --color5: #9fc0c8;
- --color6: #e4b695;
- --color7: #c6c6c6;
- --color8: #545454;
- --color9: #616c71;
- --color10: #7f8485;
- --color11: #9099ba;
- --color12: #c79c95;
- --color13: #9fc0c8;
- --color14: #e4b695;
- --color15: #c6c6c6;
+ --color0: #151618;
+ --color1: #131e35;
+ --color2: #222323;
+ --color3: #1d2841;
+ --color4: #2a2929;
+ --color5: #2a313f;
+ --color6: #303d57;
+ --color7: #c4c4c5;
+ --color8: #4f5051;
+ --color9: #131e35;
+ --color10: #222323;
+ --color11: #1d2841;
+ --color12: #2a2929;
+ --color13: #2a313f;
+ --color14: #303d57;
+ --color15: #c4c4c5;
}
diff --git a/.cache/wal/colors.hs b/.cache/wal/colors.hs
index 4d0c7c2..a517dbc 100644
--- a/.cache/wal/colors.hs
+++ b/.cache/wal/colors.hs
@@ -14,24 +14,24 @@ module Colors
wallpaper="/home/loek/.config/wpg/wallpapers/pywal.png"
-- Special
-background="#1c1c1c"
-foreground="#c6c6c6"
-cursor="#c6c6c6"
+background="#151618"
+foreground="#c4c4c5"
+cursor="#c4c4c5"
-- Colors
-color0="#1c1c1c"
-color1="#616c71"
-color2="#7f8485"
-color3="#9099ba"
-color4="#c79c95"
-color5="#9fc0c8"
-color6="#e4b695"
-color7="#c6c6c6"
-color8="#545454"
-color9="#616c71"
-color10="#7f8485"
-color11="#9099ba"
-color12="#c79c95"
-color13="#9fc0c8"
-color14="#e4b695"
-color15="#c6c6c6"
+color0="#151618"
+color1="#131e35"
+color2="#222323"
+color3="#1d2841"
+color4="#2a2929"
+color5="#2a313f"
+color6="#303d57"
+color7="#c4c4c5"
+color8="#4f5051"
+color9="#131e35"
+color10="#222323"
+color11="#1d2841"
+color12="#2a2929"
+color13="#2a313f"
+color14="#303d57"
+color15="#c4c4c5"
diff --git a/.cache/wal/colors.json b/.cache/wal/colors.json
index 130a4b1..49be639 100644
--- a/.cache/wal/colors.json
+++ b/.cache/wal/colors.json
@@ -3,26 +3,26 @@
"alpha": "100",
"special": {
- "background": "#1c1c1c",
- "foreground": "#c6c6c6",
- "cursor": "#c6c6c6"
+ "background": "#151618",
+ "foreground": "#c4c4c5",
+ "cursor": "#c4c4c5"
},
"colors": {
- "color0": "#1c1c1c",
- "color1": "#616c71",
- "color2": "#7f8485",
- "color3": "#9099ba",
- "color4": "#c79c95",
- "color5": "#9fc0c8",
- "color6": "#e4b695",
- "color7": "#c6c6c6",
- "color8": "#545454",
- "color9": "#616c71",
- "color10": "#7f8485",
- "color11": "#9099ba",
- "color12": "#c79c95",
- "color13": "#9fc0c8",
- "color14": "#e4b695",
- "color15": "#c6c6c6"
+ "color0": "#151618",
+ "color1": "#131e35",
+ "color2": "#222323",
+ "color3": "#1d2841",
+ "color4": "#2a2929",
+ "color5": "#2a313f",
+ "color6": "#303d57",
+ "color7": "#c4c4c5",
+ "color8": "#4f5051",
+ "color9": "#131e35",
+ "color10": "#222323",
+ "color11": "#1d2841",
+ "color12": "#2a2929",
+ "color13": "#2a313f",
+ "color14": "#303d57",
+ "color15": "#c4c4c5"
}
}
diff --git a/.cache/wal/colors.scss b/.cache/wal/colors.scss
index 89f820c..5939c01 100644
--- a/.cache/wal/colors.scss
+++ b/.cache/wal/colors.scss
@@ -3,24 +3,24 @@
$wallpaper: "/home/loek/.config/wpg/wallpapers/pywal.png";
// Special
-$background: #1c1c1c;
-$foreground: #c6c6c6;
-$cursor: #c6c6c6;
+$background: #151618;
+$foreground: #c4c4c5;
+$cursor: #c4c4c5;
// Colors
-$color0: #1c1c1c;
-$color1: #616c71;
-$color2: #7f8485;
-$color3: #9099ba;
-$color4: #c79c95;
-$color5: #9fc0c8;
-$color6: #e4b695;
-$color7: #c6c6c6;
-$color8: #545454;
-$color9: #616c71;
-$color10: #7f8485;
-$color11: #9099ba;
-$color12: #c79c95;
-$color13: #9fc0c8;
-$color14: #e4b695;
-$color15: #c6c6c6;
+$color0: #151618;
+$color1: #131e35;
+$color2: #222323;
+$color3: #1d2841;
+$color4: #2a2929;
+$color5: #2a313f;
+$color6: #303d57;
+$color7: #c4c4c5;
+$color8: #4f5051;
+$color9: #131e35;
+$color10: #222323;
+$color11: #1d2841;
+$color12: #2a2929;
+$color13: #2a313f;
+$color14: #303d57;
+$color15: #c4c4c5;
diff --git a/.cache/wal/colors.sh b/.cache/wal/colors.sh
index 8059d71..1e2637f 100644
--- a/.cache/wal/colors.sh
+++ b/.cache/wal/colors.sh
@@ -3,27 +3,27 @@
wallpaper='/home/loek/.config/wpg/wallpapers/pywal.png'
# Special
-background='#1c1c1c'
-foreground='#c6c6c6'
-cursor='#c6c6c6'
+background='#151618'
+foreground='#c4c4c5'
+cursor='#c4c4c5'
# Colors
-color0='#1c1c1c'
-color1='#616c71'
-color2='#7f8485'
-color3='#9099ba'
-color4='#c79c95'
-color5='#9fc0c8'
-color6='#e4b695'
-color7='#c6c6c6'
-color8='#545454'
-color9='#616c71'
-color10='#7f8485'
-color11='#9099ba'
-color12='#c79c95'
-color13='#9fc0c8'
-color14='#e4b695'
-color15='#c6c6c6'
+color0='#151618'
+color1='#131e35'
+color2='#222323'
+color3='#1d2841'
+color4='#2a2929'
+color5='#2a313f'
+color6='#303d57'
+color7='#c4c4c5'
+color8='#4f5051'
+color9='#131e35'
+color10='#222323'
+color11='#1d2841'
+color12='#2a2929'
+color13='#2a313f'
+color14='#303d57'
+color15='#c4c4c5'
# FZF colors
export FZF_DEFAULT_OPTS="
diff --git a/.cache/wal/colors.yml b/.cache/wal/colors.yml
index e84c24f..e3b9468 100644
--- a/.cache/wal/colors.yml
+++ b/.cache/wal/colors.yml
@@ -1,24 +1,24 @@
wallpaper: "/home/loek/.config/wpg/wallpapers/pywal.png"
special:
- background: "#1c1c1c"
- foreground: "#c6c6c6"
- cursor: "#c6c6c6"
+ background: "#151618"
+ foreground: "#c4c4c5"
+ cursor: "#c4c4c5"
colors:
- color0: "#1c1c1c"
- color1: "#616c71"
- color2: "#7f8485"
- color3: "#9099ba"
- color4: "#c79c95"
- color5: "#9fc0c8"
- color6: "#e4b695"
- color7: "#c6c6c6"
- color8: "#545454"
- color9: "#616c71"
- color10: "#7f8485"
- color11: "#9099ba"
- color12: "#c79c95"
- color13: "#9fc0c8"
- color14: "#e4b695"
- color15: "#c6c6c6"
+ color0: "#151618"
+ color1: "#131e35"
+ color2: "#222323"
+ color3: "#1d2841"
+ color4: "#2a2929"
+ color5: "#2a313f"
+ color6: "#303d57"
+ color7: "#c4c4c5"
+ color8: "#4f5051"
+ color9: "#131e35"
+ color10: "#222323"
+ color11: "#1d2841"
+ color12: "#2a2929"
+ color13: "#2a313f"
+ color14: "#303d57"
+ color15: "#c4c4c5"
diff --git a/.cache/wal/sequences b/.cache/wal/sequences
index 335952e..9fa7cd2 100644
--- a/.cache/wal/sequences
+++ b/.cache/wal/sequences
@@ -1 +1 @@
-]4;0;#1c1c1c\]4;1;#616c71\]4;2;#7f8485\]4;3;#9099ba\]4;4;#c79c95\]4;5;#9fc0c8\]4;6;#e4b695\]4;7;#c6c6c6\]4;8;#545454\]4;9;#616c71\]4;10;#7f8485\]4;11;#9099ba\]4;12;#c79c95\]4;13;#9fc0c8\]4;14;#e4b695\]4;15;#c6c6c6\]10;#c6c6c6\]11;#1c1c1c\]12;#c6c6c6\]13;#c6c6c6\]17;#c6c6c6\]19;#1c1c1c\]4;232;#1c1c1c\]4;256;#c6c6c6\]708;#1c1c1c\ \ No newline at end of file
+]4;0;#151618\]4;1;#131e35\]4;2;#222323\]4;3;#1d2841\]4;4;#2a2929\]4;5;#2a313f\]4;6;#303d57\]4;7;#c4c4c5\]4;8;#4f5051\]4;9;#131e35\]4;10;#222323\]4;11;#1d2841\]4;12;#2a2929\]4;13;#2a313f\]4;14;#303d57\]4;15;#c4c4c5\]10;#c4c4c5\]11;#151618\]12;#c4c4c5\]13;#c4c4c5\]17;#c4c4c5\]19;#151618\]4;232;#151618\]4;256;#c4c4c5\]708;#151618\ \ No newline at end of file
diff --git a/.config/BetterDiscord/plugins/EditChannels.config.json b/.config/BetterDiscord/plugins/EditChannels.config.json
index ac031cf..e50dff3 100644
--- a/.config/BetterDiscord/plugins/EditChannels.config.json
+++ b/.config/BetterDiscord/plugins/EditChannels.config.json
@@ -1,6 +1,82 @@
{
"changelog": {
- "currentversion": "4.1.3"
+ "currentversion": "4.1.5"
+ },
+ "channels": {
+ "716039712799719489": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "716039712799719490": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "716708258123087873": {
+ "color": [
+ 233,
+ 30,
+ 99
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "716739284089962577": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "719892211000672296": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "722724726425911316": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "722732084342423592": {
+ "color": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "inheritColor": false,
+ "name": null
+ },
+ "715240118952263691": {
+ "color": null,
+ "inheritColor": false,
+ "name": "announcements"
+ }
},
"settings": {
"changeChannelIcon": true,
diff --git a/.config/BetterDiscord/plugins/EditChannels.plugin.js b/.config/BetterDiscord/plugins/EditChannels.plugin.js
index 955776e..74327e3 100644
--- a/.config/BetterDiscord/plugins/EditChannels.plugin.js
+++ b/.config/BetterDiscord/plugins/EditChannels.plugin.js
@@ -1,20 +1,18 @@
//META{"name":"EditChannels","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/EditChannels","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/EditChannels/EditChannels.plugin.js"}*//
var EditChannels = (_ => {
+ var changedChannels = {}, settings = {};
+
return class EditChannels {
getName () {return "EditChannels";}
- getVersion () {return "4.1.3";}
+ getVersion () {return "4.1.6";}
getAuthor () {return "DevilBro";}
getDescription () {return "Allows you to rename and recolor channelnames.";}
constructor () {
- this.changelog = {
- "fixed":[["Context Menu Update","Fixes for the context menu update, yaaaaaay"]]
- };
-
this.patchedModules = {
before: {
ChannelEditorContainer: "render",
@@ -35,22 +33,17 @@ var EditChannels = (_ => {
ChannelCategoryItem: "render",
ChannelItem: "render",
QuickSwitchChannelResult: "render",
- MessagesPopout: "render"
+ RecentsChannelHeader: "default"
}
};
}
initConstructor () {
this.css = `
- ${BDFDB.dotCN.messagespopoutchannelname}:hover > span[style*="color"] {
+ ${BDFDB.dotCN.messagespopoutchannelname}:hover > span[style*="color"],
+ ${BDFDB.dotCN.recentmentionschannelname}:hover > span[style*="color"] {
text-decoration: underline;
}
- ${BDFDB.dotCN.categorywrapper}:hover ${BDFDB.dotCN.categoryname} span[style*="color"],
- ${BDFDB.dotCN.categorywrapper}:hover ${BDFDB.dotCN.categoryicon}.EC-changed,
- ${BDFDB.dotCN.channelwrapper + BDFDB.notCN.channelmodeselected + BDFDB.notCN.channelmodeconnected}:hover ${BDFDB.dotCN.channelname} span[style*="color"],
- ${BDFDB.dotCN.channelwrapper + BDFDB.notCN.channelmodeselected + BDFDB.notCN.channelmodeconnected}:hover ${BDFDB.dotCN.channelicon}.EC-changed {
- filter: brightness(150%);
- }
`;
this.defaults = {
@@ -145,10 +138,7 @@ var EditChannels = (_ => {
if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) {
this.stopping = true;
- let data = BDFDB.DataUtils.load(this, "channels");
- BDFDB.DataUtils.remove(this, "channels");
- try {this.forceUpdateAll();} catch (err) {}
- BDFDB.DataUtils.save(data, this, "channels");
+ this.forceUpdateAll();
BDFDB.PluginUtils.clear(this);
}
@@ -177,7 +167,7 @@ var EditChannels = (_ => {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
label: this.labels.submenu_resetsettings_text,
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"),
- disabled: !BDFDB.DataUtils.load(this, "channels", e.instance.props.channel.id),
+ disabled: !changedChannels[e.instance.props.channel.id],
action: _ => {
BDFDB.ContextMenuUtils.close(e.instance);
BDFDB.DataUtils.remove(this, "channels", e.instance.props.channel.id);
@@ -199,49 +189,48 @@ var EditChannels = (_ => {
}
processChannelEditorContainer (e) {
- if (!e.instance.props.disabled && e.instance.props.channel && BDFDB.ChannelUtils.isTextChannel(e.instance.props.channel) && e.instance.props.type == BDFDB.DiscordConstants.TextareaTypes.NORMAL && BDFDB.DataUtils.get(this, "settings", "changeInChatTextarea")) {
- let data = BDFDB.DataUtils.load(this, "channels", e.instance.props.channel.id);
+ if (!e.instance.props.disabled && e.instance.props.channel && BDFDB.ChannelUtils.isTextChannel(e.instance.props.channel) && e.instance.props.type == BDFDB.DiscordConstants.TextareaTypes.NORMAL && settings.changeInChatTextarea) {
+ let data = changedChannels[e.instance.props.channel.id];
e.instance.props.placeholder = BDFDB.LanguageUtils.LanguageStringsFormat("TEXTAREA_PLACEHOLDER", `#${data && data.name || e.instance.props.channel.name}`);
}
}
processChannelAutoComplete (e) {
if (e.instance.state.autocompleteType == "CHANNELS" && BDFDB.ArrayUtils.is(e.instance.state.autocompletes.channels) && e.instance.props.channel && e.instance.props.channel.guild_id) {
- let lastword = (e.instance.props.textValue || "").slice(1).toLowerCase();
- let channels = BDFDB.DataUtils.load(this, "channels");
- if (!channels || !lastword) return;
- let channelarray = [];
- for (let id in channels) if (channels[id] && channels[id].name) {
+ let lastWord = (e.instance.props.textValue || "").slice(1).toLowerCase();
+ if (!lastWord) return;
+ let channelArray = [];
+ for (let id in changedChannels) if (changedChannels[id] && changedChannels[id].name) {
let channel = BDFDB.LibraryModules.ChannelStore.getChannel(id);
let category = channel && channel.parent_id && BDFDB.LibraryModules.ChannelStore.getChannel(channel.parent_id);
- let catdata = category && channels[category.id] || {};
- if (BDFDB.ChannelUtils.isTextChannel(channel) && channel.guild_id == e.instance.props.channel.guild_id) channelarray.push(Object.assign({
- lowercasename: channels[id].name.toLowerCase(),
- lowercasecatname: catdata && catdata.name && catdata.name.toLowerCase(),
+ let catdata = category && changedChannels[category.id] || {};
+ if (BDFDB.ChannelUtils.isTextChannel(channel) && channel.guild_id == e.instance.props.channel.guild_id) channelArray.push(Object.assign({
+ lowerCaseName: changedChannels[id].name.toLowerCase(),
+ lowerCaseCatName: catdata && catdata.name && catdata.name.toLowerCase(),
channel,
category,
catdata
- }, channels[id]));
+ }, changedChannels[id]));
}
- channelarray = BDFDB.ArrayUtils.keySort(channelarray.filter(n => e.instance.state.autocompletes.channels.every(channel => channel.id != n.channel.id) && (n.lowercasename.indexOf(lastword) != -1 || (n.lowercasecatname && n.lowercasecatname.indexOf(lastword) != -1))), "lowercasename");
- e.instance.state.autocompletes.channels = [].concat(e.instance.state.autocompletes.channels, channelarray.map(n => n.channel)).slice(0, BDFDB.DiscordConstants.MAX_AUTOCOMPLETE_RESULTS);
+ channelArray = BDFDB.ArrayUtils.keySort(channelArray.filter(n => e.instance.state.autocompletes.channels.every(channel => channel.id != n.channel.id) && (n.lowerCaseName.indexOf(lastWord) != -1 || (n.lowerCaseCatName && n.lowerCaseCatName.indexOf(lastWord) != -1))), "lowerCaseName");
+ e.instance.state.autocompletes.channels = [].concat(e.instance.state.autocompletes.channels, channelArray.map(n => n.channel)).slice(0, BDFDB.DiscordConstants.MAX_AUTOCOMPLETE_RESULTS);
}
}
processAutocompleteChannelResult (e) {
- if (e.instance.props.channel && BDFDB.DataUtils.get(this, "settings", "changeInAutoComplete")) {
+ if (e.instance.props.channel && settings.changeInAutoComplete) {
if (!e.returnvalue) {
e.instance.props.channel = this.getChannelData(e.instance.props.channel.id);
if (e.instance.props.category) e.instance.props.category = this.getChannelData(e.instance.props.category.id);
}
else {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.marginleft4]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.channel.id);
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.autocompleteicon]]});
- if (index > -1) this.changeChannelIconColor(children[index], e.instance.props.channel.id, {alpha: 0.6});
+ let channelName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.marginleft4]]});
+ if (channelName) this.changeChannelColor(channelName, e.instance.props.channel.id);
+ let channelIcon = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.autocompleteicon]]});
+ if (channelIcon) this.changeChannelIconColor(channelIcon, e.instance.props.channel.id, {alpha: 0.6});
if (e.instance.props.category) {
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.autocompletedescription]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.category.id);
+ let categoryName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.autocompletedescription]]});
+ if (categoryName) this.changeChannelColor(categoryName, e.instance.props.category.id);
}
}
}
@@ -249,17 +238,17 @@ var EditChannels = (_ => {
processAuditLog (e) {
let channel = BDFDB.ReactUtils.getValue(e.instance, "props.log.options.channel");
- if (channel && BDFDB.DataUtils.get(this, "settings", "changeInAuditLog")) {
+ if (channel && settings.changeInAuditLog) {
if (!e.returnvalue) e.instance.props.log.options.channel = this.getChannelData(channel.id);
else {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["children", [["#" + channel.name]]]]});
- if (index > -1) this.changeChannelColor(children[index], channel.id);
+ let channelName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["children", [["#" + channel.name]]]]});
+ if (channelName) this.changeChannelColor(channelName, channel.id);
}
}
}
processSettingsInvites (e) {
- if (BDFDB.ObjectUtils.is(e.instance.props.invites) && BDFDB.DataUtils.get(this, "settings", "changeInInviteLog")) {
+ if (BDFDB.ObjectUtils.is(e.instance.props.invites) && settings.changeInInviteLog) {
e.instance.props.invites = Object.assign({}, e.instance.props.invites);
for (let id in e.instance.props.invites) e.instance.props.invites[id] = new BDFDB.DiscordObjects.Invite(Object.assign({}, e.instance.props.invites[id], {channel: this.getChannelData(e.instance.props.invites[id].channel.id)}));
}
@@ -267,16 +256,16 @@ var EditChannels = (_ => {
processHeaderBarContainer (e) {
let channel = BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.channelId);
- if (channel && BDFDB.ChannelUtils.isTextChannel(channel) && BDFDB.DataUtils.get(this, "settings", "changeInChannelHeader")) {
+ if (channel && BDFDB.ChannelUtils.isTextChannel(channel) && settings.changeInChannelHeader) {
if (!e.returnvalue) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.instance, {name: "Title"});
- if (index > -1) {
- children[index].props.children = this.getChannelData(channel.id).name;
- this.changeChannelColor(children[index], channel.id);
+ let channelName = BDFDB.ReactUtils.findChild(e.instance, {name: "Title"});
+ if (channelName) {
+ channelName.props.children = this.getChannelData(channel.id).name;
+ this.changeChannelColor(channelName, channel.id);
}
}
else {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.instance, {name: "Icon"});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.instance, {name: "Icon"});
if (index > -1) {
let icon = BDFDB.ReactUtils.createElement(children[index].props.icon, {
className: BDFDB.disCN.channelheadericon
@@ -292,72 +281,77 @@ var EditChannels = (_ => {
}
processChannelCategoryItem (e) {
- if (e.instance.props.channel && BDFDB.DataUtils.get(this, "settings", "changeInChannelList")) {
+ if (e.instance.props.channel && settings.changeInChannelList) {
if (!e.returnvalue) e.instance.props.channel = this.getChannelData(e.instance.props.channel.id);
else {
- let modify = BDFDB.ObjectUtils.extract(e.instance.props, "muted", "locked", "selected", "unread", "connected");
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.categoryname]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.channel.id, modify);
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.categoryicon]]});
- if (index > -1) this.changeChannelIconColor(children[index], e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
+ let onMouseEnter = e.returnvalue.props.onMouseEnter || ( _ => {});
+ e.returnvalue.props.onMouseEnter = event => {e.instance.setState({hovered: true});};
+ let onMouseLeave = e.returnvalue.props.onMouseLeave || ( _ => {});
+ e.returnvalue.props.onMouseLeave = event => {e.instance.setState({hovered: false});};
+ let modify = BDFDB.ObjectUtils.extract(Object.assign({}, e.instance.props, e.instance.state), "muted", "locked", "selected", "unread", "connected", "hovered");
+ let categoryName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.categoryname]]});
+ if (categoryName) this.changeChannelColor(categoryName, e.instance.props.channel.id, modify);
+ let categoryIcon = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.categoryicon]]});
+ if (categoryIcon) this.changeChannelIconColor(categoryIcon, e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
}
}
}
processChannelItem (e) {
- if (e.instance.props.channel && BDFDB.DataUtils.get(this, "settings", "changeInChannelList")) {
+ if (e.instance.props.channel && settings.changeInChannelList) {
if (!e.returnvalue) e.instance.props.channel = this.getChannelData(e.instance.props.channel.id);
else {
- let modify = BDFDB.ObjectUtils.extract(e.instance.props, "muted", "locked", "selected", "unread", "connected");
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.channelname]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.channel.id, modify);
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.channelicon]]});
- if (index > -1) this.changeChannelIconColor(children[index], e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
+ let onMouseEnter = e.returnvalue.props.onMouseEnter || ( _ => {});
+ e.returnvalue.props.onMouseEnter = event => {e.instance.setState({hovered: true});};
+ let onMouseLeave = e.returnvalue.props.onMouseLeave || ( _ => {});
+ e.returnvalue.props.onMouseLeave = event => {e.instance.setState({hovered: false});};
+ let modify = BDFDB.ObjectUtils.extract(Object.assign({}, e.instance.props, e.instance.state), "muted", "locked", "selected", "unread", "connected", "hovered");
+ let channelName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.channelname]]});
+ if (channelName) this.changeChannelColor(channelName, e.instance.props.channel.id, modify);
+ let channelIcon = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.channelicon]]});
+ if (channelIcon) this.changeChannelIconColor(channelIcon, e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
}
}
}
processQuickSwitchChannelResult (e) {
- if (e.instance.props.channel && BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) {
+ if (e.instance.props.channel && settings.changeInQuickSwitcher) {
if (!e.returnvalue) {
e.instance.props.channel = this.getChannelData(e.instance.props.channel.id);
if (e.instance.props.category) e.instance.props.category = this.getChannelData(e.instance.props.category.id);
}
else {
let modify = BDFDB.ObjectUtils.extract(e.instance.props, "focused", "unread", "mentions");
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresultmatch]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.channel.id, modify);
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresulticon]]});
- if (index > -1) this.changeChannelIconColor(children[index], e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
+ let channelName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresultmatch]]});
+ if (channelName) this.changeChannelColor(channelName, e.instance.props.channel.id, modify);
+ let channelIcon = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresulticon]]});
+ if (channelIcon) this.changeChannelIconColor(channelIcon, e.instance.props.channel.id, Object.assign({alpha: 0.6}, modify));
if (e.instance.props.category) {
- [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresultnote]]});
- if (index > -1) this.changeChannelColor(children[index], e.instance.props.category.id);
+ let categoryName = BDFDB.ReactUtils.findChild(e.returnvalue, {props:[["className", BDFDB.disCN.quickswitchresultnote]]});
+ if (categoryName) this.changeChannelColor(categoryName, e.instance.props.category.id);
}
}
}
}
- processMessagesPopout (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInRecentMentions")) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "VerticalScroller"});
- if (index > -1 && children[index].props.children && BDFDB.ArrayUtils.is(children[index].props.children[0])) for (let i in children[index].props.children[0]) {
- let divider = children[index].props.children[0][i];
- if (divider && divider.props && divider.props.className == BDFDB.disCN.messagespopoutchannelseparator) {
- let channel = BDFDB.ReactUtils.findValue(children[index].props.children[0][parseInt(i)+1], "channel");
- if (BDFDB.ChannelUtils.isTextChannel(channel)) {
- let [children2, index2] = BDFDB.ReactUtils.findChildren(divider, {props:[["className", BDFDB.disCN.messagespopoutchannelname]]});
- if (index2 > -1) {
- children2[index2].props.children = "#" + this.getChannelData(channel.id).name;
- this.changeChannelColor(children2[index2], channel.id);
- }
- }
- }
+ processRecentsChannelHeader (e) {
+ if (settings.changeInRecentMentions && BDFDB.ArrayUtils.is(e.returnvalue.props.children)) {
+ for (let child of e.returnvalue.props.children) if (child && child.props && child.props.channel && child.type.displayName == "ChannelName") {
+ child.props.channel = this.getChannelData(child.props.channel.id);
+ let oldType = child.type;
+ child.type = (...args) => {
+ let instance = oldType(...args);
+ let channelName = BDFDB.ReactUtils.findChild(instance, {props:[["className", BDFDB.disCN.recentmentionschannelname]]});
+ if (channelName) this.changeChannelColor(channelName, child.props.channel.id);
+ return instance;
+ };
+ child.type.displayName = oldType.displayName;
}
}
}
processMessageContent (e) {
- if (BDFDB.ArrayUtils.is(e.instance.props.content) && BDFDB.DataUtils.get(this, "settings", "changeInMentions")) for (let ele of e.instance.props.content) {
+ if (BDFDB.ArrayUtils.is(e.instance.props.content) && settings.changeInMentions) for (let ele of e.instance.props.content) {
if (BDFDB.ReactUtils.isValidElement(ele) && ele.type && ele.type.displayName == "Tooltip" && typeof ele.props.children == "function") {
let children = ele.props.children({});
if (children && children.type.displayName == "Mention" && children.props.children && typeof children.props.children[0] == "string" && children.props.children[0][0] == "#") {
@@ -369,10 +363,10 @@ var EditChannels = (_ => {
let category = BDFDB.LibraryModules.ChannelStore.getChannel(channelObj.channel.parent_id);
if (!category || category && ele.props.text == category.name) {
if (category) {
- let categoryData = BDFDB.DataUtils.load(this, "channels", category.id);
+ let categoryData = changedChannels[category.id];
if (categoryData && categoryData.name) ele.props.text = categoryData.name;
}
- let name = (BDFDB.DataUtils.load(this, "channels", channelObj.channel.id) || {}).name;
+ let name = (changedChannels[channelObj.channel.id] || {}).name;
let color = this.getChannelDataColor(channelObj.channel.id);
if (name || color) {
let renderChildren = ele.props.children;
@@ -415,34 +409,34 @@ var EditChannels = (_ => {
changeAppTitle () {
let channel = BDFDB.LibraryModules.ChannelStore.getChannel(BDFDB.LibraryModules.LastChannelStore.getChannelId());
let title = document.head.querySelector("title");
- if (title && BDFDB.ChannelUtils.isTextChannel(channel)) BDFDB.DOMUtils.setText(title, "@" + this.getChannelData(channel.id, BDFDB.DataUtils.get(this, "settings", "changeAppTitle")).name);
+ if (title && BDFDB.ChannelUtils.isTextChannel(channel)) BDFDB.DOMUtils.setText(title, "@" + this.getChannelData(channel.id, settings.changeAppTitle).name);
}
changeChannelColor (child, channelId, modify) {
- let color = this.getChannelDataColor(channelId);
- if (color) {
- color = modify ? this.chooseColor(color, modify) : BDFDB.ColorUtils.convert(color, "RGBA");
- let fontGradient = BDFDB.ObjectUtils.is(color);
- if (fontGradient) child.props.children = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, {
- gradient: BDFDB.ColorUtils.createGradient(color),
- children: child.props.children
- });
- else child.props.children = BDFDB.ReactUtils.createElement("span", {
- style: {color: color},
- children: child.props.children
- });
+ if (BDFDB.ReactUtils.isValidElement(child)) {
+ let color = this.getChannelDataColor(channelId);
+ if (color) {
+ color = modify ? this.chooseColor(color, modify) : BDFDB.ColorUtils.convert(color, "RGBA");
+ let childProp = child.props.children ? "children" : "text";
+ let fontGradient = BDFDB.ObjectUtils.is(color);
+ if (fontGradient) child.props[childProp] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, {
+ gradient: BDFDB.ColorUtils.createGradient(color),
+ children: child.props[childProp]
+ });
+ else child.props[childProp] = BDFDB.ReactUtils.createElement("span", {
+ style: {color: color},
+ children: child.props[childProp]
+ });
+ }
}
}
changeChannelIconColor (child, channelId, modify) {
let color = this.getChannelDataColor(channelId);
- if (color && BDFDB.DataUtils.get(this, "settings", "changeChannelIcon")) {
+ if (color && settings.changeChannelIcon) {
color = modify ? this.chooseColor(BDFDB.ObjectUtils.is(color) ? color[0] : color, modify) : BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color) ? color[0] : color, "RGBA");
child.props.color = color || "currentColor";
- if (color) {
- child.props.foreground = null;
- child.props.className = BDFDB.DOMUtils.formatClassName(child.props.className, "EC-changed");
- }
+ if (color) child.props.foreground = null;
}
}
@@ -460,11 +454,11 @@ var EditChannels = (_ => {
getChannelDataColor (channelId) {
let channel = BDFDB.LibraryModules.ChannelStore.getChannel(channelId);
if (!channel) return null;
- let channelData = BDFDB.DataUtils.load(this, "channels", channel.id);
+ let channelData = changedChannels[channel.id];
if (channelData && channelData.color) return channelData.color;
let category = channel.parent_id && BDFDB.LibraryModules.ChannelStore.getChannel(channel.parent_id);
if (category) {
- let categoryData = BDFDB.DataUtils.load(this, "channels", category.id);
+ let categoryData = changedChannels[category.id];
if (categoryData && categoryData.inheritColor && categoryData.color) return categoryData.color;
}
return null;
@@ -473,7 +467,7 @@ var EditChannels = (_ => {
getChannelData (channelId, change = true) {
let channel = BDFDB.LibraryModules.ChannelStore.getChannel(channelId);
if (!channel) return new BDFDB.DiscordObjects.Channel({});
- let data = change && BDFDB.DataUtils.load(this, "channels", channel.id);
+ let data = change && changedChannels[channel.id];
if (data) {
let nativeObject = new BDFDB.DiscordObjects.Channel(channel);
nativeObject.name = data.name || nativeObject.name;
@@ -483,13 +477,16 @@ var EditChannels = (_ => {
}
forceUpdateAll () {
+ changedChannels = BDFDB.DataUtils.load(this, "channels");
+ settings = BDFDB.DataUtils.get(this, "settings");
+
this.changeAppTitle();
BDFDB.ModuleUtils.forceAllUpdates(this);
BDFDB.ReactUtils.forceUpdate(BDFDB.ReactUtils.findOwner(document.querySelector(BDFDB.dotCN.app), {name:"Channel", unlimited:true}));
}
openChannelSettingsModal (channel) {
- let data = BDFDB.DataUtils.load(this, "channels", channel.id) || {};
+ let data = changedChannels[channel.id] || {};
BDFDB.ModalUtils.open(this, {
size: "MEDIUM",
diff --git a/.config/BetterDiscord/plugins/EditServers.config.json b/.config/BetterDiscord/plugins/EditServers.config.json
index 8544d34..aa0d0d0 100644
--- a/.config/BetterDiscord/plugins/EditServers.config.json
+++ b/.config/BetterDiscord/plugins/EditServers.config.json
@@ -1,6 +1,6 @@
{
"changelog": {
- "currentversion": "2.2.1"
+ "currentversion": "2.2.2"
},
"servers": {
"624859996949315584": {
@@ -15,6 +15,39 @@
"removeIcon": false,
"shortName": null,
"url": null
+ },
+ "716039712799719486": {
+ "banner": null,
+ "color1": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "color2": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "color3": [
+ 233,
+ 30,
+ 99,
+ 1
+ ],
+ "color4": [
+ 44,
+ 44,
+ 44,
+ 1
+ ],
+ "ignoreCustomName": false,
+ "name": null,
+ "removeBanner": false,
+ "removeIcon": false,
+ "shortName": null,
+ "url": null
}
},
"settings": {
diff --git a/.config/BetterDiscord/plugins/EditServers.plugin.js b/.config/BetterDiscord/plugins/EditServers.plugin.js
index 3291113..9c80f58 100644
--- a/.config/BetterDiscord/plugins/EditServers.plugin.js
+++ b/.config/BetterDiscord/plugins/EditServers.plugin.js
@@ -1,10 +1,12 @@
//META{"name":"EditServers","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/EditServers","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/EditServers/EditServers.plugin.js"}*//
var EditServers = (_ => {
+ var changedGuilds = {}, settings = {};
+
return class EditServers {
getName () {return "EditServers";}
- getVersion () {return "2.2.1";}
+ getVersion () {return "2.2.2";}
getAuthor () {return "DevilBro";}
@@ -12,7 +14,7 @@ var EditServers = (_ => {
constructor () {
this.changelog = {
- "fixed":[["Context Menu Update","Fixes for the context menu update, yaaaaaay"]]
+ "fixed":[["Inbox update","Fixes for the inbox update"]]
};
this.patchedModules = {
@@ -20,14 +22,13 @@ var EditServers = (_ => {
Guild: "render",
GuildIconWrapper: "render",
MutualGuilds: "render",
- FriendRow: "render",
QuickSwitcher: "render",
QuickSwitchChannelResult: "render",
GuildSidebar: "render",
GuildHeader: "render"
},
after: {
- MessagesPopout: "render",
+ RecentsChannelHeader: "default",
Guild: "render",
BlobMask: "render",
GuildIconWrapper: "render",
@@ -78,7 +79,7 @@ var EditServers = (_ => {
onClick: _ => {
BDFDB.ModalUtils.confirm(this, "Are you sure you want to reset all Servers?", _ => {
BDFDB.DataUtils.remove(this, "servers");
- BDFDB.ModuleUtils.forceAllUpdates(this);;
+ this.forceUpdateAll();;
});
},
children: BDFDB.LanguageUtils.LanguageStrings.RESET
@@ -120,7 +121,7 @@ var EditServers = (_ => {
let guild = BDFDB.LibraryModules.GuildStore.getGuild(e.methodArguments[0].id);
if (guild) {
if (e.methodArguments[0].id == "410787888507256842") return guild.banner;
- let data = BDFDB.DataUtils.load(this, "servers", guild.id);
+ let data = changedGuilds[guild.id];
if (data && data.banner && !data.removeBanner) return data.banner;
}
return e.callOriginalMethod();
@@ -137,7 +138,7 @@ var EditServers = (_ => {
}
});
- BDFDB.ModuleUtils.forceAllUpdates(this);
+ this.forceUpdateAll();
}
else console.error(`%c[${this.getName()}]%c`, "color: #3a71c1; font-weight: 700;", "", "Fatal Error: Could not load BD functions!");
}
@@ -146,7 +147,7 @@ var EditServers = (_ => {
if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) {
this.stopping = true;
- BDFDB.ModuleUtils.forceAllUpdates(this);
+ this.forceUpdateAll();
for (let guildobj of BDFDB.GuildUtils.getAll()) if (guildobj.instance) delete guildobj.instance.props.guild.EditServersCachedBanner;
@@ -176,11 +177,11 @@ var EditServers = (_ => {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
label: this.labels.submenu_resetsettings_text,
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"),
- disabled: !BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id),
+ disabled: !changedGuilds[e.instance.props.guild.id],
action: _ => {
BDFDB.ContextMenuUtils.close(e.instance);
BDFDB.DataUtils.remove(this, "servers", e.instance.props.guild.id);
- BDFDB.ModuleUtils.forceAllUpdates(this);
+ this.forceUpdateAll();
}
})
]
@@ -191,12 +192,12 @@ var EditServers = (_ => {
}
processGuild (e) {
- if (BDFDB.GuildUtils.is(e.instance.props.guild) && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
+ if (BDFDB.GuildUtils.is(e.instance.props.guild) && settings.changeInGuildList) {
e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
if (e.returnvalue) {
- let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
+ let data = changedGuilds[e.instance.props.guild.id];
if (data && (data.color3 || data.color4)) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: ["GuildTooltip", "BDFDB_TooltipContainer"]});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name: ["GuildTooltip", "BDFDB_TooltipContainer"]});
if (index > -1) children[index] = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, {
tooltipConfig: {
type: "right",
@@ -214,12 +215,12 @@ var EditServers = (_ => {
}
processBlobMask (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "NavItem"});
+ if (settings.changeInGuildList) {
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name: "NavItem"});
if (index > -1 && children[index].props.to && children[index].props.to.pathname) {
let guild = BDFDB.LibraryModules.GuildStore.getGuild((children[index].props.to.pathname.split("/channels/")[1] || "").split("/")[0]);
if (guild) {
- let data = BDFDB.DataUtils.load(this, "servers", guild.id);
+ let data = changedGuilds[guild.id];
if (data) {
if (data.shortName) children[index].props.name = data.shortName.split("").join(" ");
else if (data.name && data.ignoreCustomName) children[index].props.name = guild.name;
@@ -230,14 +231,14 @@ var EditServers = (_ => {
}
processGuildAcronym (e) {
- if (typeof e.returnvalue.props.children == "function" && BDFDB.DataUtils.get(this, "settings", "changeInGuildList")) {
+ if (typeof e.returnvalue.props.children == "function" && settings.changeInGuildList) {
let pathname = BDFDB.ReactUtils.getValue(e.instance, "props.to.pathname");
- let data = pathname && BDFDB.DataUtils.load(this, "servers", (pathname.split("/channels/")[1] || "").split("/")[0]);
+ let data = pathname && changedGuilds[(pathname.split("/channels/")[1] || "").split("/")[0]];
if (data) {
let renderChildren = e.returnvalue.props.children;
e.returnvalue.props.children = (...args) => {
let renderedChildren = renderChildren(...args);
- let [children, index] = BDFDB.ReactUtils.findChildren(renderedChildren, {props:[["className", BDFDB.disCN.guildiconacronym]]});
+ let [children, index] = BDFDB.ReactUtils.findParent(renderedChildren, {props:[["className", BDFDB.disCN.guildiconacronym]]});
if (index > -1) {
let fontGradient = BDFDB.ObjectUtils.is(data.color2);
children[index].props.style = Object.assign({}, children[index].props.style, {
@@ -257,7 +258,6 @@ var EditServers = (_ => {
processGuildIconWrapper (e) {
if (BDFDB.GuildUtils.is(e.instance.props.guild)) {
- let settings = BDFDB.DataUtils.get(this, "settings");
if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInGuildList);
else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1) e.instance.props.guild = this.getGuildData(e.instance.props.guild.id, settings.changeInMutualGuilds);
else e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
@@ -266,9 +266,8 @@ var EditServers = (_ => {
processGuildIcon (e) {
if (BDFDB.GuildUtils.is(e.instance.props.guild) && e.instance.props.style && (!e.instance.props.style.backgroundImage || e.instance.props.style.backgroundImage == "none")) {
- let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
+ let data = changedGuilds[e.instance.props.guild.id];
if (data) {
- let settings = BDFDB.DataUtils.get(this, "settings");
if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.guildfolderguildicon) > -1) this.changeGuildIcon(e, data, settings.changeInGuildList);
else if (e.instance.props.className && e.instance.props.className.indexOf(BDFDB.disCN.listavatar) > -1 || BDFDB.ReactUtils.findConstructor(e.instance, "MutualGuild", {up: true})) this.changeGuildIcon(e, data, settings.changeInMutualGuilds);
else this.changeGuildIcon(e, data);
@@ -277,42 +276,37 @@ var EditServers = (_ => {
}
processMutualGuilds (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i].guild = this.getGuildData(e.instance.props.mutualGuilds[i].guild.id);
- }
-
- processFriendRow (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInMutualGuilds")) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i] = this.getGuildData(e.instance.props.mutualGuilds[i].id);
+ if (settings.changeInMutualGuilds) for (let i in e.instance.props.mutualGuilds) e.instance.props.mutualGuilds[i].guild = this.getGuildData(e.instance.props.mutualGuilds[i].guild.id);
}
processQuickSwitcher (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) for (let i in e.instance.props.results) if (e.instance.props.results[i].type == "GUILD") e.instance.props.results[i].record = this.getGuildData(e.instance.props.results[i].record.id);
+ if (settings.changeInQuickSwitcher) for (let i in e.instance.props.results) if (e.instance.props.results[i].type == "GUILD") e.instance.props.results[i].record = this.getGuildData(e.instance.props.results[i].record.id);
}
processQuickSwitchChannelResult (e) {
- if (e.instance.props.channel && e.instance.props.channel.guild_id && BDFDB.DataUtils.get(this, "settings", "changeInQuickSwitcher")) {
+ if (e.instance.props.channel && e.instance.props.channel.guild_id && settings.changeInQuickSwitcher) {
e.instance.props.children.props.children = this.getGuildData(e.instance.props.channel.guild_id).name;
}
}
- processMessagesPopout (e) {
- if (BDFDB.DataUtils.get(this, "settings", "changeInRecentMentions")) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "VerticalScroller"});
- if (index > -1 && children[index].props.children && BDFDB.ArrayUtils.is(children[index].props.children[0])) for (let i in children[index].props.children[0]) {
- let divider = children[index].props.children[0][i];
- if (divider && divider.props && divider.props.className == BDFDB.disCN.messagespopoutchannelseparator) {
- let channel = BDFDB.ReactUtils.findValue(children[index].props.children[0][parseInt(i)+1], "channel");
- if (BDFDB.ChannelUtils.isTextChannel(channel)) {
- let [children2, index2] = BDFDB.ReactUtils.findChildren(divider, {props:[["className", BDFDB.disCN.messagespopoutguildname]]});
- if (index2 > -1) children2[index2].props.children = this.getGuildData(channel.guild_id).name;
- }
- }
+ processRecentsChannelHeader (e) {
+ if (settings.changeInRecentMentions && BDFDB.ArrayUtils.is(e.returnvalue.props.children)) {
+ for (let child of e.returnvalue.props.children) if (child && child.props && child.props.channel && child.type.displayName == "ChannelName") {
+ let oldType = child.type;
+ child.type = (...args) => {
+ let instance = oldType(...args);
+ let guildName = BDFDB.ReactUtils.findChild(instance, {props:[["className", BDFDB.disCN.recentmentionsguildname]]});
+ if (guildName) guildName.props.children = (this.getGuildData(e.instance.props.channel.guild_id) || {}).name || guildName.props.children;
+ return instance;
+ };
+ child.type.displayName = oldType.displayName;
}
}
}
processGuildSidebar (e) {
if (e.instance.props.guild) {
- let data = BDFDB.DataUtils.load(this, "servers", e.instance.props.guild.id);
+ let data = changedGuilds[e.instance.props.guild.id];
if (data) {
if (data.removeBanner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: null}));
else if (data.banner) e.instance.props.guild = new BDFDB.DiscordObjects.Guild(Object.assign({}, e.instance.props.guild, {banner: data.banner}));
@@ -322,7 +316,6 @@ var EditServers = (_ => {
processGuildHeader (e) {
if (e.instance.props.guild) {
- let settings = BDFDB.DataUtils.get(this, "settings");
if (settings.changeInGuildHeader) {
e.instance.props.guild = this.getGuildData(e.instance.props.guild.id);
let oldName = (BDFDB.LibraryModules.GuildStore.getGuild(e.instance.props.guild.id) || {}).name;
@@ -340,7 +333,7 @@ var EditServers = (_ => {
getGuildData (guildId, change = true) {
let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId);
if (!guild) return new BDFDB.DiscordObjects.Guild({});
- let data = change && BDFDB.DataUtils.load(this, "servers", guild.id);
+ let data = change && changedGuilds[guild.id];
if (data) {
let newGuildObject = {}, nativeObject = new BDFDB.DiscordObjects.Guild(guild);
for (let key in nativeObject) newGuildObject[key] = nativeObject[key];
@@ -374,11 +367,18 @@ var EditServers = (_ => {
});
}
}
+
+ forceUpdateAll () {
+ changedGuilds = BDFDB.DataUtils.load(this, "servers");
+ settings = BDFDB.DataUtils.get(this, "settings");
+
+ BDFDB.ModuleUtils.forceAllUpdates(this);
+ }
openGuildSettingsModal (guildId) {
let guild = BDFDB.LibraryModules.GuildStore.getGuild(guildId);
if (!guild) return;
- let data = BDFDB.DataUtils.load(this, "servers", guild.id) || {};
+ let data = changedGuilds[guild.id] || {};
let currentIgnoreCustomNameState = data.ignoreCustomName;
@@ -614,7 +614,7 @@ var EditServers = (_ => {
let changed = false;
if (Object.keys(data).every(key => !data[key]) && (changed = true)) BDFDB.DataUtils.remove(this, "servers", guild.id);
else if (!BDFDB.equals(olddata, data) && (changed = true)) BDFDB.DataUtils.save(data, this, "servers", guild.id);
- if (changed) BDFDB.ModuleUtils.forceAllUpdates(this);;
+ if (changed) this.forceUpdateAll();;
}
}]
});
diff --git a/.config/BetterDiscord/plugins/NotificationSounds.config.json b/.config/BetterDiscord/plugins/NotificationSounds.config.json
index 5101ee4..5b47690 100644
--- a/.config/BetterDiscord/plugins/NotificationSounds.config.json
+++ b/.config/BetterDiscord/plugins/NotificationSounds.config.json
@@ -53,7 +53,7 @@
}
},
"changelog": {
- "currentversion": "3.4.5"
+ "currentversion": "3.4.6"
},
"choices": {
"message1": {
diff --git a/.config/BetterDiscord/plugins/NotificationSounds.plugin.js b/.config/BetterDiscord/plugins/NotificationSounds.plugin.js
index 8e48187..c90246f 100644
--- a/.config/BetterDiscord/plugins/NotificationSounds.plugin.js
+++ b/.config/BetterDiscord/plugins/NotificationSounds.plugin.js
@@ -2,6 +2,7 @@
var NotificationSounds = (_ => {
var audios, choices, firedEvents, repatchIncoming, callAudio;
+ const removeAllKey = "REMOVE_ALL_BDFDB_DEVILBRO_DO_NOT_COPY";
const settingsAudio = new Audio();
@@ -68,7 +69,7 @@ var NotificationSounds = (_ => {
return class NotificationSounds {
getName () {return "NotificationSounds";}
- getVersion () {return "3.4.5";}
+ getVersion () {return "3.4.6";}
getAuthor () {return "DevilBro";}
@@ -76,7 +77,7 @@ var NotificationSounds = (_ => {
constructor () {
this.changelog = {
- "fixed":[["Mention Sound","No longer plays when the server/channel has message notifications completely disabled"]]
+ "improved":[["Song Deletion","You can now delete single songs, whole categories or all songs"]]
};
this.patchedModules = {
@@ -94,8 +95,121 @@ var NotificationSounds = (_ => {
getSettingsPanel (collapseStates = {}) {
if (!window.BDFDB || typeof BDFDB != "object" || !BDFDB.loaded || !this.started) return;
- let settingsPanel = {node: null}, settingsItems = [];
+ let createSoundCard = type => {
+ return [
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, {
+ className: BDFDB.disCN.marginbottom8,
+ align: BDFDB.LibraryComponents.Flex.Align.CENTER,
+ direction: BDFDB.LibraryComponents.Flex.Direction.HORIZONTAL,
+ children: [
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsLabel, {
+ label: types[type].name
+ }),
+ types[type].focus != null ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, {
+ type: "Switch",
+ mini: true,
+ grow: 0,
+ label: "Mute when Channel focused:",
+ value: choices[type].focus,
+ onChange: value => {
+ choices[type].focus = value;
+ this.saveChoice(type, false);
+ }
+ }) : null,
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, {
+ type: "Switch",
+ mini: true,
+ grow: 0,
+ label: "Mute in DnD:",
+ value: choices[type].mute,
+ onChange: value => {
+ choices[type].mute = value;
+ this.saveChoice(type, false);
+ }
+ })
+ ].filter(n => n)
+ }),
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, {
+ className: BDFDB.disCN.marginbottom8,
+ children: [
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
+ grow: 0,
+ shrink: 0,
+ basis: "31%",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
+ title: "Category",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Select, {
+ value: choices[type].category,
+ options: Object.keys(audios).map(name => ({value:name, label:name})),
+ searchable: true,
+ onChange: category => {
+ choices[type].category = category.value;
+ choices[type].song = Object.keys(audios[category.value] || {})[0];
+ choices[type].src = audios[choices[type].category][choices[type].song] || types[type].src;
+ this.saveChoice(type, true);
+ BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel, collapseStates);
+ }
+ })
+ })
+ }),
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
+ grow: 0,
+ shrink: 0,
+ basis: "31%",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
+ title: "Song",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Select, {
+ value: choices[type].song,
+ options: Object.keys(audios[choices[type].category] || {}).map(name => ({value:name, label:name})),
+ searchable: true,
+ onChange: song => {
+ choices[type].song = song.value;
+ choices[type].src = audios[choices[type].category][choices[type].song] || types[type].src;
+ this.saveChoice(type, true);
+ BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel, collapseStates);
+ }
+ })
+ })
+ }),
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
+ grow: 0,
+ shrink: 0,
+ basis: "31%",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
+ title: "Volume",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Slider, {
+ defaultValue: choices[type].volume,
+ digits: 1,
+ onValueRender: value => {
+ return value + "%";
+ },
+ onValueChange: value => {
+ choices[type].volume = value;
+ this.saveChoice(type, true);
+ }
+ })
+ })
+ })
+ ]
+ }),
+ BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormDivider, {
+ className: BDFDB.disCN.marginbottom8
+ })
+ ];
+ };
+
+ let successSavedAudio = data => {
+ BDFDB.NotificationUtils.toast(`Song ${data.song} was added to category ${data.category}.`, {type:"success"});
+ if (!audios[data.category]) audios[data.category] = {};
+ audios[data.category][data.song] = data.source;
+ BDFDB.DataUtils.save(audios, this, "audios");
+ BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel, collapseStates);
+
+ };
+
+ let settingsPanel, settingsItems = [];
+
settingsItems.push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.CollapseContainer, {
title: "Add new Song",
collapseStates: collapseStates,
@@ -145,20 +259,20 @@ var NotificationSounds = (_ => {
BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Button, {
style: {marginBottom: 1},
onClick: _ => {
- for (let input of settingsPanel.node.querySelectorAll(".input-newsong " + BDFDB.dotCN.input)) if (!input.value || input.value.length == 0 || input.value.trim().length == 0) return BDFDB.NotificationUtils.toast("Fill out all fields to add a new song.", {type:"danger"});
- let category = settingsPanel.node.querySelector(".input-category " + BDFDB.dotCN.input).value.trim();
- let song = settingsPanel.node.querySelector(".input-song " + BDFDB.dotCN.input).value.trim();
- let source = settingsPanel.node.querySelector(".input-source " + BDFDB.dotCN.input).value.trim();
+ for (let input of settingsPanel.querySelectorAll(".input-newsong " + BDFDB.dotCN.input)) if (!input.value || input.value.length == 0 || input.value.trim().length == 0) return BDFDB.NotificationUtils.toast("Fill out all fields to add a new song.", {type:"danger"});
+ let category = settingsPanel.querySelector(".input-category " + BDFDB.dotCN.input).value.trim();
+ let song = settingsPanel.querySelector(".input-song " + BDFDB.dotCN.input).value.trim();
+ let source = settingsPanel.querySelector(".input-source " + BDFDB.dotCN.input).value.trim();
if (source.indexOf("http") == 0) BDFDB.LibraryRequires.request(source, (error, response, result) => {
if (response) {
let type = response.headers["content-type"];
- if (type && (type.indexOf("octet-stream") > -1 || type.indexOf("audio") > -1 || type.indexOf("video") > -1)) return this.successSavedAudio(settingsPanel.node, collapseStates, {category, song, source});
+ if (type && (type.indexOf("octet-stream") > -1 || type.indexOf("audio") > -1 || type.indexOf("video") > -1)) return successSavedAudio({category, song, source});
}
BDFDB.NotificationUtils.toast("Use a valid direct link to a video or audio source. They usually end on something like .mp3, .mp4 or .wav.", {type:"danger"});
});
else BDFDB.LibraryRequires.fs.readFile(source, (error, response) => {
if (error) BDFDB.NotificationUtils.toast("Could not fetch file. Please make sure the file exists.", {type:"danger"});
- else return this.successSavedAudio(settingsPanel.node, collapseStates, {category, song, source:`data:audio/mpeg;base64,${response.toString("base64")}`});
+ else return successSavedAudio({category, song, source:`data:audio/mpeg;base64,${response.toString("base64")}`});
});
},
children: BDFDB.LanguageUtils.LanguageStrings.SAVE
@@ -171,92 +285,43 @@ var NotificationSounds = (_ => {
title: "Implemented Sounds",
collapseStates: collapseStates,
dividertop: true,
- children: Object.keys(BDFDB.ObjectUtils.filter(types, typedata => typedata.implemented)).map(type => this.createSoundCard(type, settingsPanel, collapseStates)).flat(10).filter(n => n)
+ children: Object.keys(BDFDB.ObjectUtils.filter(types, typedata => typedata.implemented)).map(type => createSoundCard(type)).flat(10).filter(n => n)
}));
settingsItems.push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.CollapseContainer, {
title: "Unimplemented Sounds",
collapseStates: collapseStates,
dividertop: true,
- children: Object.keys(BDFDB.ObjectUtils.filter(types, typedata => !typedata.implemented)).map(type => this.createSoundCard(type, settingsPanel, collapseStates)).flat(10).filter(n => n)
+ children: Object.keys(BDFDB.ObjectUtils.filter(types, typedata => !typedata.implemented)).map(type => createSoundCard(type)).flat(10).filter(n => n)
}));
+
+ let removeableAudios = [{value:removeAllKey, label:BDFDB.LanguageUtils.LanguageStrings.FORM_LABEL_ALL}].concat(Object.keys(audios).filter(name => !defaultAudios[name]).map(name => ({value:name, label:name})));
+ let removeableSongs = {};
+ for (let audio of removeableAudios) removeableSongs[audio.value] = [{value:removeAllKey, label:BDFDB.LanguageUtils.LanguageStrings.FORM_LABEL_ALL}].concat(Object.keys(audios[audio.value] || {}).map(name => ({value:name, label:name})));
settingsItems.push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.CollapseContainer, {
title: "Remove Songs",
collapseStates: collapseStates,
dividertop: true,
- children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, {
- type: "Button",
- className: BDFDB.disCN.marginbottom8,
- color: BDFDB.LibraryComponents.Button.Colors.RED,
- label: "Delete all added songs",
- onClick: _ => {
- BDFDB.ModalUtils.confirm(this, "Are you sure you want to delete all added songs?", _ => {
- BDFDB.DataUtils.remove(this, "choices");
- BDFDB.DataUtils.remove(this, "audios");
- this.loadAudios();
- this.loadChoices();
- BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel.node, collapseStates);
- });
- },
- children: BDFDB.LanguageUtils.LanguageStrings.DELETE
- })
- }));
-
- return settingsPanel.node = BDFDB.PluginUtils.createSettingsPanel(this, settingsItems);
- }
-
- createSoundCard (type, settingsPanel, collapseStates) {
- return [
- BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, {
- className: BDFDB.disCN.marginbottom8,
- align: BDFDB.LibraryComponents.Flex.Align.CENTER,
- direction: BDFDB.LibraryComponents.Flex.Direction.HORIZONTAL,
- children: [
- BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsLabel, {
- label: types[type].name
- }),
- types[type].focus != null ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, {
- type: "Switch",
- mini: true,
- grow: 0,
- label: "Mute when Channel focused:",
- value: choices[type].focus,
- onChange: value => {
- choices[type].focus = value;
- this.saveChoice(type, false);
- }
- }) : null,
- BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsItem, {
- type: "Switch",
- mini: true,
- grow: 0,
- label: "Mute in DnD:",
- value: choices[type].mute,
- onChange: value => {
- choices[type].mute = value;
- this.saveChoice(type, false);
- }
- })
- ].filter(n => n)
- }),
- BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, {
- className: BDFDB.disCN.marginbottom8,
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex, {
+ className: BDFDB.disCN.margintop4,
+ align: BDFDB.LibraryComponents.Flex.Align.END,
children: [
BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
grow: 0,
shrink: 0,
- basis: "31%",
+ basis: "35%",
children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
title: "Category",
children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Select, {
- value: choices[type].category,
- options: Object.keys(audios).map(name => {return {value:name, label:name}}),
+ key: "REMOVE_CATEGORY",
+ value: removeAllKey,
+ options: removeableAudios,
searchable: true,
- onChange: category => {
- choices[type].category = category.value;
- choices[type].song = Object.keys(audios[category.value] || {})[0];
- choices[type].src = audios[choices[type].category][choices[type].song] || types[type].src;
- this.saveChoice(type, true);
- BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel.node, collapseStates);
+ onChange: (category, instance) => {
+ let songSelectIns = BDFDB.ReactUtils.findOwner(BDFDB.ReactUtils.findOwner(instance, {name:["BDFDB_Modal", "BDFDB_SettingsPanel"], up:true}), {key:"REMOVE_SONG"});
+ if (songSelectIns && removeableSongs[category.value]) {
+ songSelectIns.props.options = removeableSongs[category.value];
+ BDFDB.ReactUtils.forceUpdate(songSelectIns);
+ }
}
})
})
@@ -264,47 +329,59 @@ var NotificationSounds = (_ => {
BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
grow: 0,
shrink: 0,
- basis: "31%",
+ basis: "35%",
children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
title: "Song",
children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Select, {
- value: choices[type].song,
- options: Object.keys(audios[choices[type].category] || {}).map(name => {return {value:name, label:name}}),
- searchable: true,
- onChange: song => {
- choices[type].song = song.value;
- choices[type].src = audios[choices[type].category][choices[type].song] || types[type].src;
- this.saveChoice(type, true);
- BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel.node, collapseStates);
- }
+ key: "REMOVE_SONG",
+ value: removeAllKey,
+ options: removeableSongs[removeAllKey],
+ searchable: true
})
})
}),
BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Flex.Child, {
grow: 0,
shrink: 0,
- basis: "31%",
- children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormItem, {
- title: "Volume",
- children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Slider, {
- defaultValue: choices[type].volume,
- digits: 1,
- onValueRender: value => {
- return value + "%";
- },
- onValueChange: value => {
- choices[type].volume = value;
- this.saveChoice(type, true);
+ basis: "25%",
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Button, {
+ style: {marginBottom: 1},
+ color: BDFDB.LibraryComponents.Button.Colors.RED,
+ onClick: (event, instance) => {
+ let wrapperIns = BDFDB.ReactUtils.findOwner(instance, {name:["BDFDB_Modal", "BDFDB_SettingsPanel"], up:true});
+ let categorySelectIns = BDFDB.ReactUtils.findOwner(wrapperIns, {key:"REMOVE_CATEGORY"});
+ let songSelectIns = BDFDB.ReactUtils.findOwner(wrapperIns, {key:"REMOVE_SONG"});
+ if (categorySelectIns && songSelectIns) {
+ let songAmount = 0;
+ let catAll = categorySelectIns.props.value == removeAllKey;
+ let songAll = songSelectIns.props.value == removeAllKey;
+ if (catAll) songAmount = BDFDB.ArrayUtils.sum(Object.keys(audios).filter(name => !defaultAudios[name]).map(category => Object.keys(audios[category] || {}).length));
+ else if (songAll) songAmount = Object.keys(audios[categorySelectIns.props.value] || {}).length;
+ else if (audios[categorySelectIns.props.value][songSelectIns.props.value]) songAmount = 1;
+
+ if (songAmount) BDFDB.ModalUtils.confirm(this, `Are you sure you want to delete ${songAmount} added song${songAmount == 1 ? "" : "s"}?`, _ => {
+ if (catAll) BDFDB.DataUtils.remove(this, "audios");
+ else if (songAll) BDFDB.DataUtils.remove(this, "audios", categorySelectIns.props.value);
+ else {
+ delete audios[categorySelectIns.props.value][songSelectIns.props.value];
+ if (BDFDB.ObjectUtils.isEmpty(audios[categorySelectIns.props.value])) delete audios[categorySelectIns.props.value];
+ BDFDB.DataUtils.save(audios, this, "audios");
+ }
+ this.loadAudios();
+ this.loadChoices();
+ BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel, collapseStates);
+ });
+ else BDFDB.NotificationUtils.toast("No songs to delete.", {type:"danger"});
}
- })
+ },
+ children: BDFDB.LanguageUtils.LanguageStrings.DELETE
})
})
]
- }),
- BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.FormComponents.FormDivider, {
- className: BDFDB.disCN.marginbottom8
})
- ];
+ }));
+
+ return settingsPanel = BDFDB.PluginUtils.createSettingsPanel(this, settingsItems);
}
// Legacy
@@ -453,7 +530,7 @@ var NotificationSounds = (_ => {
}
processShakeable (e) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "IncomingCalls"});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name: "IncomingCalls"});
if (index > -1) {
if (repatchIncoming) {
children[index] = null;
@@ -465,15 +542,6 @@ var NotificationSounds = (_ => {
else children[index] = BDFDB.ReactUtils.createElement(children[index].type, {});
}
}
-
- successSavedAudio (settingsPanel, collapseStates, data) {
- BDFDB.NotificationUtils.toast(`Song ${data.song} was added to category ${data.category}.`, {type:"success"});
- if (!audios[data.category]) audios[data.category] = {};
- audios[data.category][data.song] = data.source;
- BDFDB.DataUtils.save(audios, this, "audios");
- BDFDB.PluginUtils.refreshSettingsPanel(this, settingsPanel, collapseStates);
-
- }
forceUpdateAll () {
repatchIncoming = true;
diff --git a/.config/BetterDiscord/plugins/PinDMs.plugin.js b/.config/BetterDiscord/plugins/PinDMs.plugin.js
index 4c5b002..1ec09ea 100644
--- a/.config/BetterDiscord/plugins/PinDMs.plugin.js
+++ b/.config/BetterDiscord/plugins/PinDMs.plugin.js
@@ -1,23 +1,21 @@
//META{"name":"PinDMs","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/PinDMs","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/PinDMs/PinDMs.plugin.js"}*//
var PinDMs = (_ => {
- let hoveredCategory, draggedCategory, releasedCategory;
- let hoveredChannel, draggedChannel, releasedChannel;
+ var hoveredCategory, draggedCategory, releasedCategory;
+ var hoveredChannel, draggedChannel, releasedChannel;
+
+ var settings = {};
return class PinDMs {
getName () {return "PinDMs";}
- getVersion () {return "1.7.2";}
+ getVersion () {return "1.7.3";}
getAuthor () {return "DevilBro";}
getDescription () {return "Allows you to pin DMs, making them appear at the top of your DMs/Guild-list.";}
- constructor () {
- this.changelog = {
- "fixed":[["Context Menu Update","Fixes for the context menu update, yaaaaaay"]]
- };
-
+ constructor () {
this.patchedModules = {
before: {
PrivateChannelsList: "render",
@@ -110,7 +108,6 @@ var PinDMs = (_ => {
getSettingsPanel () {
if (!window.BDFDB || typeof BDFDB != "object" || !BDFDB.loaded || !this.started) return;
- let settings = BDFDB.DataUtils.get(this, "settings");
let settingsPanel, settingsItems = [], innerItems = [];
for (let key in settings) (!this.defaults.settings[key].inner ? settingsItems : innerItems).push(BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SettingsSaveItem, {
@@ -181,7 +178,7 @@ var PinDMs = (_ => {
if (window.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) {
this.stopping = true;
- this.forceUpdateAll(true);
+ this.forceUpdateAll();
let unreadDMsInstance = BDFDB.ReactUtils.findOwner(document.querySelector(BDFDB.dotCN.app), {name:"UnreadDMs", unlimited:true});
if (unreadDMsInstance) {
@@ -197,7 +194,7 @@ var PinDMs = (_ => {
// Begin of own functions
- onSettingsClosed (instance, wrapper, returnvalue) {
+ onSettingsClosed () {
if (this.SettingsUpdated) {
delete this.SettingsUpdated;
this.forceUpdateAll();
@@ -357,136 +354,134 @@ var PinDMs = (_ => {
}
return rowHeightFunc(...args);
};
- }
-
- let settings = BDFDB.DataUtils.get(this, "settings");
- BDFDB.ModuleUtils.unpatch(this, e.instance, "renderSection");
- BDFDB.ModuleUtils.patch(this, e.instance, "renderSection", {after: e2 => {
- if (e2.methodArguments[0].section != 0 && e2.methodArguments[0].section != e.instance.props.listRef.current.props.sections.length - 1) {
- let category = categories[e2.methodArguments[0].section - 1];
- if (category && draggedCategory != category.id) {
- let color = BDFDB.ColorUtils.convert(category.color, "RGBA");
- let foundDMs = this.filterDMs(category.dms);
- let unreadAmount = settings.showCategoryUnread && BDFDB.ArrayUtils.sum(foundDMs.map(id => BDFDB.LibraryModules.UnreadChannelUtils.getMentionCount(id)));
- e2.returnValue = [
- BDFDB.ReactUtils.createElement("h2", {
- className: BDFDB.DOMUtils.formatClassName(BDFDB.disCN.dmchannelheadercontainer, BDFDB.disCN._pindmspinnedchannelsheadercontainer, category.collapsed && BDFDB.disCN._pindmspinnedchannelsheadercollapsed, color && BDFDB.disCN._pindmspinnedchannelsheadercolored, BDFDB.disCN.namecontainernamecontainer),
- categoryId: category.id,
- onMouseDown: event => {
- event = event.nativeEvent || event;
- let node = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmspinnedchannelsheadercontainer, event.target).cloneNode(true);
- let mousemove = event2 => {
- if (Math.sqrt((event.pageX - event2.pageX)**2) > 20 || Math.sqrt((event.pageY - event2.pageY)**2) > 20) {
- BDFDB.ListenerUtils.stopEvent(event);
- draggedCategory = category.id;
- this.updateContainer("dmCategories");
- let dragPreview = this.createDragPreview(node, event2);
+
+ let renderSection = e.returnvalue.props.renderSection;
+ e.returnvalue.props.renderSection = (...args) => {
+ if (args[0].section != 0 && args[0].section != e.returnvalue.props.sections.length - 1) {
+ let category = categories[args[0].section - 1];
+ if (category && draggedCategory != category.id) {
+ let color = BDFDB.ColorUtils.convert(category.color, "RGBA");
+ let foundDMs = this.filterDMs(category.dms);
+ let unreadAmount = settings.showCategoryUnread && BDFDB.ArrayUtils.sum(foundDMs.map(id => BDFDB.LibraryModules.UnreadChannelUtils.getMentionCount(id)));
+ return [
+ BDFDB.ReactUtils.createElement("h2", {
+ className: BDFDB.DOMUtils.formatClassName(BDFDB.disCN.dmchannelheadercontainer, BDFDB.disCN._pindmspinnedchannelsheadercontainer, category.collapsed && BDFDB.disCN._pindmspinnedchannelsheadercollapsed, color && BDFDB.disCN._pindmspinnedchannelsheadercolored, BDFDB.disCN.namecontainernamecontainer),
+ categoryId: category.id,
+ onMouseDown: event => {
+ event = event.nativeEvent || event;
+ let node = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmspinnedchannelsheadercontainer, event.target).cloneNode(true);
+ let mousemove = event2 => {
+ if (Math.sqrt((event.pageX - event2.pageX)**2) > 20 || Math.sqrt((event.pageY - event2.pageY)**2) > 20) {
+ BDFDB.ListenerUtils.stopEvent(event);
+ draggedCategory = category.id;
+ this.updateContainer("dmCategories");
+ let dragPreview = this.createDragPreview(node, event2);
+ document.removeEventListener("mousemove", mousemove);
+ document.removeEventListener("mouseup", mouseup);
+ let dragging = event3 => {
+ this.updateDragPreview(dragPreview, event3);
+ let placeholder = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmsdmchannelplaceholder, event3.target);
+ let categoryNode = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmspinnedchannelsheadercontainer, placeholder ? placeholder.previousSibling : event3.target);
+ let maybeHoveredCategory = categoryNode && categoryNode.getAttribute("categoryId");
+ let update = maybeHoveredCategory != hoveredCategory;
+ if (maybeHoveredCategory) hoveredCategory = maybeHoveredCategory;
+ else hoveredCategory = null;
+ if (update) this.updateContainer("dmCategories");
+ };
+ let releasing = event3 => {
+ BDFDB.DOMUtils.remove(dragPreview);
+ if (hoveredCategory) releasedCategory = hoveredCategory;
+ else draggedCategory = null;
+ hoveredCategory = null;
+ this.updateContainer("dmCategories");
+ document.removeEventListener("mousemove", dragging);
+ document.removeEventListener("mouseup", releasing);
+ };
+ document.addEventListener("mousemove", dragging);
+ document.addEventListener("mouseup", releasing);
+ }
+ };
+ let mouseup = _ => {
document.removeEventListener("mousemove", mousemove);
document.removeEventListener("mouseup", mouseup);
- let dragging = event3 => {
- this.updateDragPreview(dragPreview, event3);
- let placeholder = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmsdmchannelplaceholder, event3.target);
- let categoryNode = BDFDB.DOMUtils.getParent(BDFDB.dotCN._pindmspinnedchannelsheadercontainer, placeholder ? placeholder.previousSibling : event3.target);
- let maybeHoveredCategory = categoryNode && categoryNode.getAttribute("categoryId");
- let update = maybeHoveredCategory != hoveredCategory;
- if (maybeHoveredCategory) hoveredCategory = maybeHoveredCategory;
- else hoveredCategory = null;
- if (update) this.updateContainer("dmCategories");
- };
- let releasing = event3 => {
- BDFDB.DOMUtils.remove(dragPreview);
- if (hoveredCategory) releasedCategory = hoveredCategory;
- else draggedCategory = null;
- hoveredCategory = null;
- this.updateContainer("dmCategories");
- document.removeEventListener("mousemove", dragging);
- document.removeEventListener("mouseup", releasing);
- };
- document.addEventListener("mousemove", dragging);
- document.addEventListener("mouseup", releasing);
+ };
+ document.addEventListener("mousemove", mousemove);
+ document.addEventListener("mouseup", mouseup);
+ },
+ onClick: _ => {
+ if (foundDMs.length || !category.collapsed) {
+ category.collapsed = !category.collapsed;
+ BDFDB.DataUtils.save(category, this, "dmCategories", category.id);
+ this.updateContainer("dmCategories");
}
- };
- let mouseup = _ => {
- document.removeEventListener("mousemove", mousemove);
- document.removeEventListener("mouseup", mouseup);
- };
- document.addEventListener("mousemove", mousemove);
- document.addEventListener("mouseup", mouseup);
- },
- onClick: _ => {
- if (foundDMs.length || !category.collapsed) {
- category.collapsed = !category.collapsed;
- BDFDB.DataUtils.save(category, this, "dmCategories", category.id);
- this.updateContainer("dmCategories");
- }
- },
- onContextMenu: event => {
- BDFDB.ContextMenuUtils.open(this, event, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, {
- children: [
- BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
- label: BDFDB.LanguageUtils.LanguageStrings.CATEGORY_SETTINGS,
- id: BDFDB.ContextMenuUtils.createItemId(this.name, "category-settings"),
- action: event2 => {
- BDFDB.ContextMenuUtils.close(BDFDB.DOMUtils.getParent(BDFDB.dotCN.contextmenu, event2.target));
- this.openCategorySettingsModal(category, "dmCategories");
- }
- }),
- BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
- label: BDFDB.LanguageUtils.LanguageStrings.DELETE_CATEGORY,
- id: BDFDB.ContextMenuUtils.createItemId(this.name, "remove-category"),
- color: BDFDB.LibraryComponents.MenuItems.Colors.DANGER,
- action: event2 => {
- BDFDB.ContextMenuUtils.close(BDFDB.DOMUtils.getParent(BDFDB.dotCN.contextmenu, event2.target));
- BDFDB.DataUtils.remove(this, "dmCategories", category.id);
- this.updateContainer("dmCategories");
- }
+ },
+ onContextMenu: event => {
+ BDFDB.ContextMenuUtils.open(this, event, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, {
+ children: [
+ BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
+ label: BDFDB.LanguageUtils.LanguageStrings.CATEGORY_SETTINGS,
+ id: BDFDB.ContextMenuUtils.createItemId(this.name, "category-settings"),
+ action: event2 => {
+ this.openCategorySettingsModal(category, "dmCategories");
+ }
+ }),
+ BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
+ label: BDFDB.LanguageUtils.LanguageStrings.DELETE_CATEGORY,
+ id: BDFDB.ContextMenuUtils.createItemId(this.name, "remove-category"),
+ color: BDFDB.LibraryComponents.MenuItems.Colors.DANGER,
+ action: event2 => {
+ BDFDB.DataUtils.remove(this, "dmCategories", category.id);
+ this.updateContainer("dmCategories");
+ }
+ })
+ ]
+ }));
+ },
+ children: [
+ BDFDB.ObjectUtils.is(color) ? BDFDB.ReactUtils.createElement("span", {
+ className: BDFDB.disCN.dmchannelheadertext,
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, {
+ gradient: BDFDB.ColorUtils.createGradient(color),
+ children: category.name
+ })
+ }) : BDFDB.ReactUtils.createElement("span", {
+ className: BDFDB.disCN.dmchannelheadertext,
+ style: {color: color},
+ children: category.name,
+ }),
+ unreadAmount ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Badges.NumberBadge, {
+ className: BDFDB.disCN._pindmspinnedchannelsheaderamount,
+ count: unreadAmount,
+ style: {backgroundColor: BDFDB.DiscordConstants.Colors.STATUS_RED}
+ }) : null,
+ settings.showCategoryAmount ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Badges.NumberBadge, {
+ className: BDFDB.disCN._pindmspinnedchannelsheaderamount,
+ count: foundDMs.length,
+ style: {backgroundColor: BDFDB.DiscordConstants.Colors.BRAND}
+ }) : null,
+ BDFDB.ReactUtils.createElement("div", {
+ className: BDFDB.disCNS._pindmspinnedchannelsheaderarrow + BDFDB.disCNS.channelheadericonwrapper + BDFDB.disCN.channelheadericonclickable,
+ children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SvgIcon, {
+ className: BDFDB.disCNS._pindmspinnedchannelsheaderarrow + BDFDB.disCN.channelheadericon,
+ nativeClass: true,
+ iconSVG: `<svg width="24" height="24" viewBox="4 4 16 16"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M16.59 8.59004L12 13.17L7.41 8.59004L6 10L12 16L18 10L16.59 8.59004Z"></path></svg>`
})
- ]
- }));
- },
- children: [
- BDFDB.ObjectUtils.is(color) ? BDFDB.ReactUtils.createElement("span", {
- className: BDFDB.disCN.dmchannelheadertext,
- children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextGradientElement, {
- gradient: BDFDB.ColorUtils.createGradient(color),
- children: category.name
- })
- }) : BDFDB.ReactUtils.createElement("span", {
- className: BDFDB.disCN.dmchannelheadertext,
- style: {color: color},
- children: category.name,
- }),
- unreadAmount ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Badges.NumberBadge, {
- className: BDFDB.disCN._pindmspinnedchannelsheaderamount,
- count: unreadAmount,
- style: {backgroundColor: BDFDB.DiscordConstants.Colors.STATUS_RED}
- }) : null,
- settings.showCategoryAmount ? BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Badges.NumberBadge, {
- className: BDFDB.disCN._pindmspinnedchannelsheaderamount,
- count: foundDMs.length,
- style: {backgroundColor: BDFDB.DiscordConstants.Colors.BRAND}
- }) : null,
- BDFDB.ReactUtils.createElement("div", {
- className: BDFDB.disCNS._pindmspinnedchannelsheaderarrow + BDFDB.disCNS.channelheadericonwrapper + BDFDB.disCN.channelheadericonclickable,
- children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.SvgIcon, {
- className: BDFDB.disCNS._pindmspinnedchannelsheaderarrow + BDFDB.disCN.channelheadericon,
- nativeClass: true,
- iconSVG: `<svg width="24" height="24" viewBox="4 4 16 16"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M16.59 8.59004L12 13.17L7.41 8.59004L6 10L12 16L18 10L16.59 8.59004Z"></path></svg>`
})
+ ].filter(n => n)
+ }),
+ hoveredChannel == "header_" + category.id && BDFDB.ReactUtils.createElement("div", {
+ className: BDFDB.disCNS.dmchannel + BDFDB.disCNS._pindmsdmchannelpinned + BDFDB.disCNS._pindmsdmchannelplaceholder + BDFDB.disCN.namecontainernamecontainer,
+ children: BDFDB.ReactUtils.createElement("div", {
+ className: BDFDB.disCN.namecontainerlayout
})
- ].filter(n => n)
- }),
- hoveredChannel == "header_" + category.id && BDFDB.ReactUtils.createElement("div", {
- className: BDFDB.disCNS.dmchannel + BDFDB.disCNS._pindmsdmchannelpinned + BDFDB.disCNS._pindmsdmchannelplaceholder + BDFDB.disCN.namecontainernamecontainer,
- children: BDFDB.ReactUtils.createElement("div", {
- className: BDFDB.disCN.namecontainerlayout
})
- })
- ].filter(n => n);
+ ].filter(n => n);
+ }
+ else return null;
}
- else e2.returnValue = null;
- }
- }}, {force: true, noCache: true});
+ else return renderSection(...args);
+ };
+ }
let pinnedIds = BDFDB.ObjectUtils.toArray(e.instance.props.pinnedChannelIds).reverse();
BDFDB.ModuleUtils.unpatch(this, e.instance, "renderDM");
@@ -552,11 +547,11 @@ var PinDMs = (_ => {
BDFDB.ReactUtils.forceUpdate(e.instance);
}
if (draggedChannel) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {filter: child => BDFDB.ReactUtils.getValue(child, "props.channel.id") == draggedChannel});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {filter: child => BDFDB.ReactUtils.getValue(child, "props.channel.id") == draggedChannel});
children.splice(index, 1);
}
if (this.hoveredChannel) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {filter: child => BDFDB.ReactUtils.getValue(child, "props.channel.id") == this.hoveredChannel});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {filter: child => BDFDB.ReactUtils.getValue(child, "props.channel.id") == this.hoveredChannel});
children.splice(index + 1, 0, BDFDB.ReactUtils.createElement("div", {
className: BDFDB.disCNS.guildouter + BDFDB.disCN._pindmsrecentplaceholder,
children: BDFDB.ReactUtils.createElement("div", {
@@ -712,7 +707,7 @@ var PinDMs = (_ => {
BDFDB.ModuleUtils.forceAllUpdates(this, "PrivateChannelsList");
}
if (e.returnvalue && this.isPinned(e.instance.props.channel.id, "pinnedRecents") && BDFDB.DataUtils.get(this, "settings", "showPinIcon")) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name:"BlobMask"});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name:"BlobMask"});
if (index > -1) children[index].props.upperLeftBadge = BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.Badges.IconBadge, {
className: BDFDB.disCN.guildiconbadge,
disableColor: true,
@@ -883,7 +878,9 @@ var PinDMs = (_ => {
return this.sortDMsByTime(existingDMs, type);
}
- forceUpdateAll (stopped) {
+ forceUpdateAll () {
+ settings = BDFDB.DataUtils.get(this, "settings");
+
BDFDB.ReactUtils.forceUpdate(BDFDB.ReactUtils.findOwner(document.querySelector(BDFDB.dotCN.app), {name:"FluxContainer(PrivateChannels)", all:true, unlimited:true}));
BDFDB.ModuleUtils.forceAllUpdates(this);
}
diff --git a/.config/BetterDiscord/plugins/SendLargeMessages.plugin.js b/.config/BetterDiscord/plugins/SendLargeMessages.plugin.js
index 3827ee2..110667b 100644
--- a/.config/BetterDiscord/plugins/SendLargeMessages.plugin.js
+++ b/.config/BetterDiscord/plugins/SendLargeMessages.plugin.js
@@ -1,10 +1,12 @@
//META{"name":"SendLargeMessages","authorId":"278543574059057154","invite":"Jx3TjNS","donate":"https://www.paypal.me/MircoWittrien","patreon":"https://www.patreon.com/MircoWittrien","website":"https://github.com/mwittrien/BetterDiscordAddons/tree/master/Plugins/SendLargeMessages","source":"https://raw.githubusercontent.com/mwittrien/BetterDiscordAddons/master/Plugins/SendLargeMessages/SendLargeMessages.plugin.js"}*//
var SendLargeMessages = (_ => {
+ var messageDelay = 1000; //changing at own risk, might result in bans or mutes
+
return class SendLargeMessages {
getName () {return "SendLargeMessages";}
- getVersion () {return "1.6.4";}
+ getVersion () {return "1.6.5";}
getAuthor () {return "DevilBro";}
@@ -23,8 +25,6 @@ var SendLargeMessages = (_ => {
}
initConstructor () {
- this.messageDelay = 1000; //changing at own risk, might result in bans or mutes
-
this.css = `
.${this.name}-modal textarea {
height: 50vh;
@@ -88,7 +88,7 @@ var SendLargeMessages = (_ => {
BDFDB.TimeUtils.timeout(_ => {
e2.originalMethod(message);
if (i >= messages.length-1) BDFDB.NotificationUtils.toast(this.labels.toast_allsent_text, {type:"success"});
- }, this.messageDelay * i);
+ }, messageDelay * i);
});
return Promise.resolve({
shouldClear: true,
@@ -101,7 +101,7 @@ var SendLargeMessages = (_ => {
processChannelTextAreaContainer (e) {
if (e.returnvalue.ref && e.returnvalue.ref.current && BDFDB.DOMUtils.getParent(BDFDB.dotCN.chatform, e.returnvalue.ref.current)) {
- let [children, index] = BDFDB.ReactUtils.findChildren(e.returnvalue, {name: "SlateCharacterCount"});
+ let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name: "SlateCharacterCount"});
if (index > -1) {
let text = BDFDB.LibraryModules.SlateSelectionUtils.serialize(children[index].props.document, "raw");
if (text.length > BDFDB.DiscordConstants.MAX_MESSAGE_LENGTH) children[index] = BDFDB.ReactUtils.createElement("div", {
@@ -123,15 +123,15 @@ var SendLargeMessages = (_ => {
formatText (text) {
text = text.replace(/\t/g, " ");
- let longwords = text.match(/[\S]{1800,}/gm);
- if (longwords) for (let longword of longwords) {
+ let longWords = text.match(new RegExp(`[^ ]{${BDFDB.DiscordConstants.MAX_MESSAGE_LENGTH * (19/20)},}`, "gm"));
+ if (longWords) for (let longWord of longWords) {
let count1 = 0;
- let shortwords = [];
- longword.split("").forEach(c => {
- if (shortwords[count1] && shortwords[count1].length >= BDFDB.DiscordConstants.MAX_MESSAGE_LENGTH * (19/20)) count1++;
- shortwords[count1] = shortwords[count1] ? shortwords[count1] + c : c;
+ let shortWords = [];
+ longWord.split("").forEach(c => {
+ if (shortWords[count1] && (shortWords[count1].length >= BDFDB.DiscordConstants.MAX_MESSAGE_LENGTH * (19/20) || (c == "\n" && shortWords[count1].length >= BDFDB.DiscordConstants.MAX_MESSAGE_LENGTH * (19/20) - 100))) count1++;
+ shortWords[count1] = shortWords[count1] ? shortWords[count1] + c : c;
});
- text = text.replace(longword, shortwords.join(" "));
+ text = text.replace(longWord, shortWords.join(" "));
}
let messages = [];
let count2 = 0;
@@ -163,7 +163,6 @@ var SendLargeMessages = (_ => {
messages[j] = messages[j] + insertCodeLine;
}
}
-
return messages;
}
diff --git a/.config/BetterDiscord/themes/MinimalCord.theme.css b/.config/BetterDiscord/themes/MinimalCord.theme.css
index 87e66f9..1350f84 100644
--- a/.config/BetterDiscord/themes/MinimalCord.theme.css
+++ b/.config/BetterDiscord/themes/MinimalCord.theme.css
@@ -88,7 +88,7 @@
}
.da-username {
- filter: saturate(0.4) brightness(2);
+ filter: saturate(0.4) brightness(1.5);
}
.da-itemCard > div > div {
diff --git a/.config/BetterDiscord/themes/pywal.theme.css b/.config/BetterDiscord/themes/pywal.theme.css
index e4f70a2..2f0f6b5 100644
--- a/.config/BetterDiscord/themes/pywal.theme.css
+++ b/.config/BetterDiscord/themes/pywal.theme.css
@@ -6,70 +6,70 @@
*/
:root {
- --pywal-shade0: #2A2C2D;
- --pywal-shade1: #323536;
- --pywal-shade2: #36393B;
- --pywal-shade3: #3B3E3F;
- --pywal-shade4: #383F41;
+ --pywal-shade0: #15181E;
+ --pywal-shade1: #191C24;
+ --pywal-shade2: #1B1F27;
+ --pywal-shade3: #1D212A;
+ --pywal-shade4: #161F31;
- --accent: 228, 182, 149;
+ --accent: 60, 75, 105;
- --pywal-serverside: #191919;
- --pywal-serverfolder-transparent: hsla(0, 0%, 9.9%, 0.55);
+ --pywal-serverside: #131416;
+ --pywal-serverfolder-transparent: hsla(220, 6.7%, 7.9%, 0.75);
- --pywal-bg0: #1C1C1C;
- --pywal-bg1: #222222;
- --pywal-bg2: #272727;
- --pywal-bg3: #2D2D2D;
+ --pywal-bg0: #151618;
+ --pywal-bg1: #191A1D;
+ --pywal-bg2: #1D1F22;
+ --pywal-bg3: #222326;
- --pywal-color0: #1c1c1c;
- --pywal-color1: #616c71;
- --pywal-color2: #7f8485;
- --pywal-color3: #9099ba;
- --pywal-color4: #c79c95;
- --pywal-color5: #9fc0c8;
- --pywal-color6: #e4b695;
- --pywal-color7: #c6c6c6;
- --pywal-color8: #545454;
- --pywal-color9: #616c71;
- --pywal-color10: #7f8485;
- --pywal-color11: #9099ba;
- --pywal-color12: #c79c95;
- --pywal-color13: #9fc0c8;
- --pywal-color14: #e4b695;
- --pywal-color15: #c6c6c6;
+ --pywal-color0: #151618;
+ --pywal-color1: #131e35;
+ --pywal-color2: #222323;
+ --pywal-color3: #1d2841;
+ --pywal-color4: #2a2929;
+ --pywal-color5: #2a313f;
+ --pywal-color6: #303d57;
+ --pywal-color7: #c4c4c5;
+ --pywal-color8: #4f5051;
+ --pywal-color9: #131e35;
+ --pywal-color10: #222323;
+ --pywal-color11: #1d2841;
+ --pywal-color12: #2a2929;
+ --pywal-color13: #2a313f;
+ --pywal-color14: #303d57;
+ --pywal-color15: #c4c4c5;
- --pywal-readable-color0: #6B6B6B;
- --pywal-readable-color1: #616C71;
- --pywal-readable-color2: #7F8485;
- --pywal-readable-color3: #9099BA;
- --pywal-readable-color4: #C79C95;
- --pywal-readable-color5: #9FC0C8;
- --pywal-readable-color6: #E4B695;
- --pywal-readable-color7: #C6C6C6;
- --pywal-readable-color8: #545454;
- --pywal-readable-color9: #616C71;
- --pywal-readable-color10: #7F8485;
- --pywal-readable-color11: #9099BA;
- --pywal-readable-color12: #C79C95;
- --pywal-readable-color13: #9FC0C8;
- --pywal-readable-color14: #E4B695;
- --pywal-readable-color15: #C6C6C6;
+ --pywal-readable-color0: #676B73;
+ --pywal-readable-color1: #415D96;
+ --pywal-readable-color2: #666969;
+ --pywal-readable-color3: #465A89;
+ --pywal-readable-color4: #656363;
+ --pywal-readable-color5: #505B71;
+ --pywal-readable-color6: #3C4B69;
+ --pywal-readable-color7: #C4C4C5;
+ --pywal-readable-color8: #4F5051;
+ --pywal-readable-color9: #415D96;
+ --pywal-readable-color10: #666969;
+ --pywal-readable-color11: #465A89;
+ --pywal-readable-color12: #656363;
+ --pywal-readable-color13: #505B71;
+ --pywal-readable-color14: #3C4B69;
+ --pywal-readable-color15: #C4C4C5;
- --pywal-readableOn-color0: #c6c6c6;
- --pywal-readableOn-color1: #c6c6c6;
- --pywal-readableOn-color2: #1c1c1c;
- --pywal-readableOn-color3: #1c1c1c;
- --pywal-readableOn-color4: #1c1c1c;
- --pywal-readableOn-color5: #1c1c1c;
- --pywal-readableOn-color6: #1c1c1c;
- --pywal-readableOn-color7: #1c1c1c;
- --pywal-readableOn-color8: #c6c6c6;
- --pywal-readableOn-color9: #c6c6c6;
- --pywal-readableOn-color10: #1c1c1c;
- --pywal-readableOn-color11: #1c1c1c;
- --pywal-readableOn-color12: #1c1c1c;
- --pywal-readableOn-color13: #1c1c1c;
- --pywal-readableOn-color14: #1c1c1c;
- --pywal-readableOn-color15: #1c1c1c;
+ --pywal-readableOn-color0: #c4c4c5;
+ --pywal-readableOn-color1: #c4c4c5;
+ --pywal-readableOn-color2: #c4c4c5;
+ --pywal-readableOn-color3: #c4c4c5;
+ --pywal-readableOn-color4: #c4c4c5;
+ --pywal-readableOn-color5: #c4c4c5;
+ --pywal-readableOn-color6: #c4c4c5;
+ --pywal-readableOn-color7: #151618;
+ --pywal-readableOn-color8: #c4c4c5;
+ --pywal-readableOn-color9: #c4c4c5;
+ --pywal-readableOn-color10: #c4c4c5;
+ --pywal-readableOn-color11: #c4c4c5;
+ --pywal-readableOn-color12: #c4c4c5;
+ --pywal-readableOn-color13: #c4c4c5;
+ --pywal-readableOn-color14: #c4c4c5;
+ --pywal-readableOn-color15: #151618;
} \ No newline at end of file
diff --git a/.config/coc/extensions/package.json b/.config/coc/extensions/package.json
index d7d97b1..0a34f6b 100644
--- a/.config/coc/extensions/package.json
+++ b/.config/coc/extensions/package.json
@@ -1,14 +1,14 @@
{
"dependencies": {
"coc-clangd": ">=0.4.11",
- "coc-css": ">=1.2.3",
- "coc-emmet": ">=1.1.4",
+ "coc-css": ">=1.2.4",
+ "coc-emmet": ">=1.1.6",
"coc-html": ">=1.2.4",
"coc-json": ">=1.2.6",
"coc-neosnippet": ">=1.2.2",
"coc-python": ">=1.2.12",
"coc-snippets": ">=2.1.28",
- "coc-tsserver": ">=1.5.2",
+ "coc-tsserver": ">=1.5.3",
"coc-vimtex": ">=1.0.3"
}
} \ No newline at end of file
diff --git a/.config/coc/snippets-mru b/.config/coc/snippets-mru
index b58504a..edc6b3e 100644
--- a/.config/coc/snippets-mru
+++ b/.config/coc/snippets-mru
@@ -1,6 +1,9 @@
+foreach
+forof
+if
+for
newdocument
newhtml
-for
try/except/else
try/except
\begin
diff --git a/.config/i3/config b/.config/i3/config
index ff63cc0..2aecbbe 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -9,12 +9,12 @@ gaps outer $outer_gaps
# border color
# pywal-start
-client.focused #e4b695 #1c1c1c #c6c6c6 #e4b695 #8E7B6E
-client.focused_inactive #656565 #545454 #c6c6c6 #222222 #1c1c1c
-client.unfocused #1c1c1c #161616 #9E9E9E #1c1c1c #161616
-client.urgent #1c1c1c #e95678 #c6c6c6 #e95678 #e95678
-client.placeholder #000000 #0c0c0c #c6c6c6 #000000 #0c0c0c
-client.background #c6c6c6
+client.focused #303d57 #151618 #c4c4c5 #303d57 #434853
+client.focused_inactive #5F6061 #4f5051 #c4c4c5 #191A1D #151618
+client.unfocused #151618 #111213 #9C9C9E #151618 #111213
+client.urgent #151618 #e95678 #c4c4c5 #e95678 #e95678
+client.placeholder #000000 #0c0c0c #c4c4c5 #000000 #0c0c0c
+client.background #c4c4c5
# pywal-end
@@ -67,7 +67,7 @@ bindsym $mod+d gaps inner current set $inner_gaps; gaps outer current set $outer
# Autostart
exec "polybar main -c ~/.config/polybar/config &"
exec "node ~/.local/share/bin/pywal/wall.js &"
-exec "exec picom --experimental-backends &"
+exec "picom --experimental-backends -b"
exec "node ~/.local/share/bin/pester/index.js &"
exec "flameshot &"
@@ -108,9 +108,6 @@ bindsym $mod+Shift+a focus parent
# focus the child container
#bindsym $mod+d focus child
-# disable mouse teleports
-mouse_warping none
-
# workspaces
set $ws1 "1"
set $ws2 "2"
diff --git a/.config/nvim/ftplugin/tex.vim b/.config/nvim/ftplugin/tex.vim
index 1c78d4b..4e643f1 100644
--- a/.config/nvim/ftplugin/tex.vim
+++ b/.config/nvim/ftplugin/tex.vim
@@ -1,4 +1,5 @@
setlocal cc=86
setlocal textwidth=85
noremap \b c\begin{<C-R>"}<CR>\end{<C-R>"}
+let g:Tex_SmartKeyQuote=0
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
index bd53196..93c2f29 100644
--- a/.config/nvim/init.vim
+++ b/.config/nvim/init.vim
@@ -15,6 +15,7 @@ set conceallevel=0
set mouse=a
set linebreak " set wrap but don't wrap inside words
set viminfo+='1000,n/home/loek/.local/nvim/viminfo
+set guifont=JetBrainsMono\ NF:h10
let g:sneak#label = 1
let g:which_key_map = {}
let g:airline_powerline_fonts = 1
@@ -22,12 +23,12 @@ let g:minimap_highlight='Visual'
hi! link CocFloating SneakScope
cabbrev help tab help
-if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
- echo "Downloading junegunn/vim-plug to manage plugins..."
- silent !mkdir -p ~/.config/nvim/autoload/
- silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
- autocmd VimEnter * PlugInstall
-endif
+" if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
+" echo "Downloading junegunn/vim-plug to manage plugins..."
+" silent !mkdir -p ~/.config/nvim/autoload/
+" silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
+" autocmd VimEnter * PlugInstall
+" endif
" plugged
call plug#begin('~/.config/nvim/plugged')
diff --git a/.config/nvim/pywal/colors.vim b/.config/nvim/pywal/colors.vim
index 67d37a6..ccb5874 100644
--- a/.config/nvim/pywal/colors.vim
+++ b/.config/nvim/pywal/colors.vim
@@ -1,46 +1,46 @@
-hi! Normal guibg=#1c1c1c ctermbg=NONE
-hi! EndOfBuffer guibg=#1c1c1c ctermbg=NONE
-hi! CocInfoFloat guibg=#383838 ctermbg=NONE
+hi! Normal guibg=#151618 ctermbg=NONE
+hi! EndOfBuffer guibg=#151618 ctermbg=NONE
+hi! CocInfoFloat guibg=#2A2C30 ctermbg=NONE
-let s:bg = [ '#1c1c1c', 'NONE' ]
-let s:fg = [ '#c6c6c6', 'NONE' ]
-let s:bg1 = [ '#222222', 'NONE' ]
-let s:bg2 = [ '#272727', 'NONE' ]
-let s:bg3 = [ '#2D2D2D', 'NONE' ]
-let s:bg4 = [ '#323232', 'NONE' ]
-let s:bg5 = [ '#383838', 'NONE' ]
-let s:color0 = [ '#1c1c1c', 'NONE' ]
-let s:color1 = [ '#616c71', 'NONE' ]
-let s:color2 = [ '#7f8485', 'NONE' ]
-let s:color3 = [ '#9099ba', 'NONE' ]
-let s:color4 = [ '#c79c95', 'NONE' ]
-let s:color5 = [ '#9fc0c8', 'NONE' ]
-let s:color6 = [ '#e4b695', 'NONE' ]
-let s:color7 = [ '#c6c6c6', 'NONE' ]
-let s:color8 = [ '#545454', 'NONE' ]
-let s:color9 = [ '#616c71', 'NONE' ]
-let s:color10 = [ '#7f8485', 'NONE' ]
-let s:color11 = [ '#9099ba', 'NONE' ]
-let s:color12 = [ '#c79c95', 'NONE' ]
-let s:color13 = [ '#9fc0c8', 'NONE' ]
-let s:color14 = [ '#e4b695', 'NONE' ]
-let s:color15 = [ '#c6c6c6', 'NONE' ]
-let s:color0readable = [ '#c6c6c6', 'NONE' ]
-let s:color1readable = [ '#c6c6c6', 'NONE' ]
-let s:color2readable = [ '#1c1c1c', 'NONE' ]
-let s:color3readable = [ '#1c1c1c', 'NONE' ]
-let s:color4readable = [ '#1c1c1c', 'NONE' ]
-let s:color5readable = [ '#1c1c1c', 'NONE' ]
-let s:color6readable = [ '#1c1c1c', 'NONE' ]
-let s:color7readable = [ '#1c1c1c', 'NONE' ]
-let s:color8readable = [ '#c6c6c6', 'NONE' ]
-let s:color9readable = [ '#c6c6c6', 'NONE' ]
-let s:color10readable = [ '#1c1c1c', 'NONE' ]
-let s:color11readable = [ '#1c1c1c', 'NONE' ]
-let s:color12readable = [ '#1c1c1c', 'NONE' ]
-let s:color13readable = [ '#1c1c1c', 'NONE' ]
-let s:color14readable = [ '#1c1c1c', 'NONE' ]
-let s:color15readable = [ '#1c1c1c', 'NONE' ]
+let s:bg = [ '#151618', 'NONE' ]
+let s:fg = [ '#c4c4c5', 'NONE' ]
+let s:bg1 = [ '#191A1D', 'NONE' ]
+let s:bg2 = [ '#1D1F22', 'NONE' ]
+let s:bg3 = [ '#222326', 'NONE' ]
+let s:bg4 = [ '#26282B', 'NONE' ]
+let s:bg5 = [ '#2A2C30', 'NONE' ]
+let s:color0 = [ '#151618', 'NONE' ]
+let s:color1 = [ '#131e35', 'NONE' ]
+let s:color2 = [ '#222323', 'NONE' ]
+let s:color3 = [ '#1d2841', 'NONE' ]
+let s:color4 = [ '#2a2929', 'NONE' ]
+let s:color5 = [ '#2a313f', 'NONE' ]
+let s:color6 = [ '#303d57', 'NONE' ]
+let s:color7 = [ '#c4c4c5', 'NONE' ]
+let s:color8 = [ '#4f5051', 'NONE' ]
+let s:color9 = [ '#131e35', 'NONE' ]
+let s:color10 = [ '#222323', 'NONE' ]
+let s:color11 = [ '#1d2841', 'NONE' ]
+let s:color12 = [ '#2a2929', 'NONE' ]
+let s:color13 = [ '#2a313f', 'NONE' ]
+let s:color14 = [ '#303d57', 'NONE' ]
+let s:color15 = [ '#c4c4c5', 'NONE' ]
+let s:color0readable = [ '#c4c4c5', 'NONE' ]
+let s:color1readable = [ '#c4c4c5', 'NONE' ]
+let s:color2readable = [ '#c4c4c5', 'NONE' ]
+let s:color3readable = [ '#c4c4c5', 'NONE' ]
+let s:color4readable = [ '#c4c4c5', 'NONE' ]
+let s:color5readable = [ '#c4c4c5', 'NONE' ]
+let s:color6readable = [ '#c4c4c5', 'NONE' ]
+let s:color7readable = [ '#151618', 'NONE' ]
+let s:color8readable = [ '#c4c4c5', 'NONE' ]
+let s:color9readable = [ '#c4c4c5', 'NONE' ]
+let s:color10readable = [ '#c4c4c5', 'NONE' ]
+let s:color11readable = [ '#c4c4c5', 'NONE' ]
+let s:color12readable = [ '#c4c4c5', 'NONE' ]
+let s:color13readable = [ '#c4c4c5', 'NONE' ]
+let s:color14readable = [ '#c4c4c5', 'NONE' ]
+let s:color15readable = [ '#151618', 'NONE' ]
let s:none = [ 'NONE', 'NONE' ]
let s:test = [ '#ff00ff', 'NONE' ]
diff --git a/.config/nvim/pywal/pywal.vim b/.config/nvim/pywal/pywal.vim
index 3dc509f..05af9be 100644
--- a/.config/nvim/pywal/pywal.vim
+++ b/.config/nvim/pywal/pywal.vim
@@ -1,46 +1,46 @@
-hi! Normal guibg=#1c1c1c ctermbg=NONE
-hi! EndOfBuffer guibg=#1c1c1c ctermbg=NONE
-hi! CocInfoFloat guibg=#383838 ctermbg=NONE
+hi! Normal guibg=#151618 ctermbg=NONE
+hi! EndOfBuffer guibg=#151618 ctermbg=NONE
+hi! CocInfoFloat guibg=#2A2C30 ctermbg=NONE
-let s:bg = [ '#1c1c1c', 'NONE' ]
-let s:fg = [ '#c6c6c6', 'NONE' ]
-let s:bg1 = [ '#222222', 'NONE' ]
-let s:bg2 = [ '#272727', 'NONE' ]
-let s:bg3 = [ '#2D2D2D', 'NONE' ]
-let s:bg4 = [ '#323232', 'NONE' ]
-let s:bg5 = [ '#383838', 'NONE' ]
-let s:color0 = [ '#1c1c1c', 'NONE' ]
-let s:color1 = [ '#616c71', 'NONE' ]
-let s:color2 = [ '#7f8485', 'NONE' ]
-let s:color3 = [ '#9099ba', 'NONE' ]
-let s:color4 = [ '#c79c95', 'NONE' ]
-let s:color5 = [ '#9fc0c8', 'NONE' ]
-let s:color6 = [ '#e4b695', 'NONE' ]
-let s:color7 = [ '#c6c6c6', 'NONE' ]
-let s:color8 = [ '#545454', 'NONE' ]
-let s:color9 = [ '#616c71', 'NONE' ]
-let s:color10 = [ '#7f8485', 'NONE' ]
-let s:color11 = [ '#9099ba', 'NONE' ]
-let s:color12 = [ '#c79c95', 'NONE' ]
-let s:color13 = [ '#9fc0c8', 'NONE' ]
-let s:color14 = [ '#e4b695', 'NONE' ]
-let s:color15 = [ '#c6c6c6', 'NONE' ]
-let s:color0readable = [ '#c6c6c6', 'NONE' ]
-let s:color1readable = [ '#c6c6c6', 'NONE' ]
-let s:color2readable = [ '#1c1c1c', 'NONE' ]
-let s:color3readable = [ '#1c1c1c', 'NONE' ]
-let s:color4readable = [ '#1c1c1c', 'NONE' ]
-let s:color5readable = [ '#1c1c1c', 'NONE' ]
-let s:color6readable = [ '#1c1c1c', 'NONE' ]
-let s:color7readable = [ '#1c1c1c', 'NONE' ]
-let s:color8readable = [ '#c6c6c6', 'NONE' ]
-let s:color9readable = [ '#c6c6c6', 'NONE' ]
-let s:color10readable = [ '#1c1c1c', 'NONE' ]
-let s:color11readable = [ '#1c1c1c', 'NONE' ]
-let s:color12readable = [ '#1c1c1c', 'NONE' ]
-let s:color13readable = [ '#1c1c1c', 'NONE' ]
-let s:color14readable = [ '#1c1c1c', 'NONE' ]
-let s:color15readable = [ '#1c1c1c', 'NONE' ]
+let s:bg = [ '#151618', 'NONE' ]
+let s:fg = [ '#c4c4c5', 'NONE' ]
+let s:bg1 = [ '#191A1D', 'NONE' ]
+let s:bg2 = [ '#1D1F22', 'NONE' ]
+let s:bg3 = [ '#222326', 'NONE' ]
+let s:bg4 = [ '#26282B', 'NONE' ]
+let s:bg5 = [ '#2A2C30', 'NONE' ]
+let s:color0 = [ '#151618', 'NONE' ]
+let s:color1 = [ '#131e35', 'NONE' ]
+let s:color2 = [ '#222323', 'NONE' ]
+let s:color3 = [ '#1d2841', 'NONE' ]
+let s:color4 = [ '#2a2929', 'NONE' ]
+let s:color5 = [ '#2a313f', 'NONE' ]
+let s:color6 = [ '#303d57', 'NONE' ]
+let s:color7 = [ '#c4c4c5', 'NONE' ]
+let s:color8 = [ '#4f5051', 'NONE' ]
+let s:color9 = [ '#131e35', 'NONE' ]
+let s:color10 = [ '#222323', 'NONE' ]
+let s:color11 = [ '#1d2841', 'NONE' ]
+let s:color12 = [ '#2a2929', 'NONE' ]
+let s:color13 = [ '#2a313f', 'NONE' ]
+let s:color14 = [ '#303d57', 'NONE' ]
+let s:color15 = [ '#c4c4c5', 'NONE' ]
+let s:color0readable = [ '#c4c4c5', 'NONE' ]
+let s:color1readable = [ '#c4c4c5', 'NONE' ]
+let s:color2readable = [ '#c4c4c5', 'NONE' ]
+let s:color3readable = [ '#c4c4c5', 'NONE' ]
+let s:color4readable = [ '#c4c4c5', 'NONE' ]
+let s:color5readable = [ '#c4c4c5', 'NONE' ]
+let s:color6readable = [ '#c4c4c5', 'NONE' ]
+let s:color7readable = [ '#151618', 'NONE' ]
+let s:color8readable = [ '#c4c4c5', 'NONE' ]
+let s:color9readable = [ '#c4c4c5', 'NONE' ]
+let s:color10readable = [ '#c4c4c5', 'NONE' ]
+let s:color11readable = [ '#c4c4c5', 'NONE' ]
+let s:color12readable = [ '#c4c4c5', 'NONE' ]
+let s:color13readable = [ '#c4c4c5', 'NONE' ]
+let s:color14readable = [ '#c4c4c5', 'NONE' ]
+let s:color15readable = [ '#151618', 'NONE' ]
let s:none = [ 'NONE', 'NONE' ]
let s:test = [ '#ff00ff', 'NONE' ]
diff --git a/.config/polybar/config b/.config/polybar/config
index 431bc78..4fb7609 100644
--- a/.config/polybar/config
+++ b/.config/polybar/config
@@ -103,18 +103,18 @@ pseudo-transparency = false
[color]
-bg = #1c1c1c
-fg = #c6c6c6
-fg-alt = #1c1c1c
+bg = #151618
+fg = #c4c4c5
+fg-alt = #151618
alpha = #00000000
-shade1 = #C79C95
-shade2 = #D1A595
-shade3 = #DAAD95
-shade4 = #E4B695
+shade1 = #2A2929
+shade2 = #2C3038
+shade3 = #2E3647
+shade4 = #303D57
-shade-fg = #1c1c1c
+shade-fg = #c4c4c5
[module/alsa]
type = internal/alsa
diff --git a/.config/rofi/pywal.rasi b/.config/rofi/pywal.rasi
index 0338dbd..07166f6 100644
--- a/.config/rofi/pywal.rasi
+++ b/.config/rofi/pywal.rasi
@@ -1,6 +1,6 @@
* {
- background-color: #1c1c1c33;
- text-color: #c6c6c6;
+ background-color: #15161833;
+ text-color: #c4c4c5;
spacing: 0;
width: 720px;
}
@@ -15,8 +15,8 @@ prompt {
}
textbox {
- background-color: #1c1c1c;
- border-color: #1c1c1c;
+ background-color: #151618;
+ border-color: #151618;
padding: 8px 16px;
}
@@ -35,6 +35,6 @@ element {
}
element selected {
- background-color: #e4b695;
- text-color: #1c1c1c;
+ background-color: #303d57;
+ text-color: #c4c4c5;
} \ No newline at end of file
diff --git a/.config/spicetify/Themes/Loekaars/color.ini b/.config/spicetify/Themes/Loekaars/color.ini
index 269bb7b..839c3cf 100644
--- a/.config/spicetify/Themes/Loekaars/color.ini
+++ b/.config/spicetify/Themes/Loekaars/color.ini
@@ -1,18 +1,18 @@
[Base]
Base=object Object]
-main_fg=c6c6c6
-secondary_fg=B2B2B2
-main_bg=1c1c1c
-sidebar_and_player_bg=1c1c1c
-cover_overlay_and_shadow=1c1c1c
-indicator_fg_and_button_bg=e4b695
-pressing_fg=e4b695
-slider_bg=36393B
-sidebar_indicator_and_hover_button_bg=e4b695
-scrollbar_fg_and_selected_row_bg=323536
-pressing_button_fg=c6c6c6
-pressing_button_bg=3B3E3F
-selected_button=e4b695
-miscellaneous_bg=323536
-miscellaneous_hover_bg=e4b695
-preserve_1=c6c6c6
+main_fg=c4c4c5
+secondary_fg=B0B0B2
+main_bg=151618
+sidebar_and_player_bg=151618
+cover_overlay_and_shadow=151618
+indicator_fg_and_button_bg=303d57
+pressing_fg=303d57
+slider_bg=1B1F27
+sidebar_indicator_and_hover_button_bg=303d57
+scrollbar_fg_and_selected_row_bg=191C24
+pressing_button_fg=c4c4c5
+pressing_button_bg=1D212A
+selected_button=303d57
+miscellaneous_bg=191C24
+miscellaneous_hover_bg=303d57
+preserve_1=c4c4c5
diff --git a/.config/spicetify/config.ini b/.config/spicetify/config.ini
index c554077..7955dac 100644
--- a/.config/spicetify/config.ini
+++ b/.config/spicetify/config.ini
@@ -16,19 +16,21 @@ lyric_always_show = 0
minimal_ui = 0
[Setting]
-replace_colors = 1
-overwrite_assets = 0
-spotify_path = /opt/spotify
-prefs_path = /home/loek/.config/spotify/prefs
-current_theme = Loekaars
-color_scheme =
-inject_css = 1
+replace_colors = 1
+overwrite_assets = 0
+spotify_path = /opt/spotify
+prefs_path = /home/loek/.config/spotify/prefs
+current_theme = Loekaars
+color_scheme =
+inject_css = 1
+spotify_launch_flags =
[Preprocesses]
-remove_rtl_rule = 1
-expose_apis = 1
-disable_sentry = 1
-disable_ui_logging = 1
+remove_rtl_rule = 1
+expose_apis = 1
+disable_sentry = 1
+disable_ui_logging = 1
+disable_upgrade_check = 1
; DO NOT CHANGE!
[Backup]
diff --git a/.config/startpage/index.html b/.config/startpage/index.html
index 2de34cd..6eb447d 100644
--- a/.config/startpage/index.html
+++ b/.config/startpage/index.html
@@ -20,8 +20,7 @@
<h3 style="color: var(--pywal-readable-color2)">school</h3>
<a href="https://www.montiplaza.nl/">montiplaza</a>
<a href="https://somtoday.nl/">somtoday</a>
- <a href="https://calendar.google.com">google calendar</a>
- <a href="https://client.etesync.com/pim">etesync calendar</a>
+ <a href="https://client.etesync.com/pim">etesync</a>
</div>
<div class="column">
@@ -30,14 +29,23 @@
<a href="https://www.twitter.com/">twitter</a>
<a href="https://www.twitch.com/directory/following">twitch</a>
<a href="https://www.youtube.com/">youtube</a>
+ <a href="https://www.soundcloud.com/">soundcloud</a>
</div>
<div class="column">
<h3 style="color: var(--pywal-readable-color4)">nerd shit</h3>
<a href="https://github.com/lonkaars">github</a>
- <a href="https://10fastfingers.com/typing-test/dutch">typing test</a>
- <a href="https://frikandelbroodje:3000/">private git</a>
+ <a href="https://10fastfingers.com/typing-test/dutch">10fastfingers</a>
+ <a href="https://frikandelbroodje:3000/">gitea</a>
</div>
+
+ <div class="column">
+ <h3 style="color: var(--pywal-readable-color5)">ports</h3>
+ <a href="https://localhost:443">bitwarden</a>
+ <a href="http://localhost:8384">syncthing</a>
+ <a href="http://frikandelbroodje:8096">jellyfin</a>
+ <a href="http://localhost:9091">transmission</a>
+ </div>
</div>
</div>
</div>
diff --git a/.config/startpage/pywal.css b/.config/startpage/pywal.css
index 4e47a7e..57c907b 100644
--- a/.config/startpage/pywal.css
+++ b/.config/startpage/pywal.css
@@ -1,63 +1,63 @@
:root {
- --pywal-shade0: #2A2C2D;
- --pywal-shade1: #323536;
- --pywal-shade2: #36393B;
- --pywal-shade3: #3B3E3F;
- --pywal-shade4: #383F41;
+ --pywal-shade0: #15181E;
+ --pywal-shade1: #191C24;
+ --pywal-shade2: #1B1F27;
+ --pywal-shade3: #1D212A;
+ --pywal-shade4: #161F31;
- --pywal-bg0: #1C1C1C;
- --pywal-bg1: #222222;
- --pywal-bg2: #272727;
- --pywal-bg3: #2D2D2D;
+ --pywal-bg0: #151618;
+ --pywal-bg1: #191A1D;
+ --pywal-bg2: #1D1F22;
+ --pywal-bg3: #222326;
- --pywal-color0: #1c1c1c;
- --pywal-color1: #616c71;
- --pywal-color2: #7f8485;
- --pywal-color3: #9099ba;
- --pywal-color4: #c79c95;
- --pywal-color5: #9fc0c8;
- --pywal-color6: #e4b695;
- --pywal-color7: #c6c6c6;
- --pywal-color8: #545454;
- --pywal-color9: #616c71;
- --pywal-color10: #7f8485;
- --pywal-color11: #9099ba;
- --pywal-color12: #c79c95;
- --pywal-color13: #9fc0c8;
- --pywal-color14: #e4b695;
- --pywal-color15: #c6c6c6;
+ --pywal-color0: #151618;
+ --pywal-color1: #131e35;
+ --pywal-color2: #222323;
+ --pywal-color3: #1d2841;
+ --pywal-color4: #2a2929;
+ --pywal-color5: #2a313f;
+ --pywal-color6: #303d57;
+ --pywal-color7: #c4c4c5;
+ --pywal-color8: #4f5051;
+ --pywal-color9: #131e35;
+ --pywal-color10: #222323;
+ --pywal-color11: #1d2841;
+ --pywal-color12: #2a2929;
+ --pywal-color13: #2a313f;
+ --pywal-color14: #303d57;
+ --pywal-color15: #c4c4c5;
- --pywal-readable-color0: #6B6B6B;
- --pywal-readable-color1: #616C71;
- --pywal-readable-color2: #7F8485;
- --pywal-readable-color3: #9099BA;
- --pywal-readable-color4: #C79C95;
- --pywal-readable-color5: #9FC0C8;
- --pywal-readable-color6: #E4B695;
- --pywal-readable-color7: #C6C6C6;
- --pywal-readable-color8: #545454;
- --pywal-readable-color9: #616C71;
- --pywal-readable-color10: #7F8485;
- --pywal-readable-color11: #9099BA;
- --pywal-readable-color12: #C79C95;
- --pywal-readable-color13: #9FC0C8;
- --pywal-readable-color14: #E4B695;
- --pywal-readable-color15: #C6C6C6;
+ --pywal-readable-color0: #676B73;
+ --pywal-readable-color1: #415D96;
+ --pywal-readable-color2: #666969;
+ --pywal-readable-color3: #465A89;
+ --pywal-readable-color4: #656363;
+ --pywal-readable-color5: #505B71;
+ --pywal-readable-color6: #3C4B69;
+ --pywal-readable-color7: #C4C4C5;
+ --pywal-readable-color8: #4F5051;
+ --pywal-readable-color9: #415D96;
+ --pywal-readable-color10: #666969;
+ --pywal-readable-color11: #465A89;
+ --pywal-readable-color12: #656363;
+ --pywal-readable-color13: #505B71;
+ --pywal-readable-color14: #3C4B69;
+ --pywal-readable-color15: #C4C4C5;
- --pywal-readableOn-color0: #c6c6c6;
- --pywal-readableOn-color1: #c6c6c6;
- --pywal-readableOn-color2: #1c1c1c;
- --pywal-readableOn-color3: #1c1c1c;
- --pywal-readableOn-color4: #1c1c1c;
- --pywal-readableOn-color5: #1c1c1c;
- --pywal-readableOn-color6: #1c1c1c;
- --pywal-readableOn-color7: #1c1c1c;
- --pywal-readableOn-color8: #c6c6c6;
- --pywal-readableOn-color9: #c6c6c6;
- --pywal-readableOn-color10: #1c1c1c;
- --pywal-readableOn-color11: #1c1c1c;
- --pywal-readableOn-color12: #1c1c1c;
- --pywal-readableOn-color13: #1c1c1c;
- --pywal-readableOn-color14: #1c1c1c;
- --pywal-readableOn-color15: #1c1c1c;
+ --pywal-readableOn-color0: #c4c4c5;
+ --pywal-readableOn-color1: #c4c4c5;
+ --pywal-readableOn-color2: #c4c4c5;
+ --pywal-readableOn-color3: #c4c4c5;
+ --pywal-readableOn-color4: #c4c4c5;
+ --pywal-readableOn-color5: #c4c4c5;
+ --pywal-readableOn-color6: #c4c4c5;
+ --pywal-readableOn-color7: #151618;
+ --pywal-readableOn-color8: #c4c4c5;
+ --pywal-readableOn-color9: #c4c4c5;
+ --pywal-readableOn-color10: #c4c4c5;
+ --pywal-readableOn-color11: #c4c4c5;
+ --pywal-readableOn-color12: #c4c4c5;
+ --pywal-readableOn-color13: #c4c4c5;
+ --pywal-readableOn-color14: #c4c4c5;
+ --pywal-readableOn-color15: #151618;
} \ No newline at end of file
diff --git a/.config/startpage/style.css b/.config/startpage/style.css
index f6eea2d..28c0556 100644
--- a/.config/startpage/style.css
+++ b/.config/startpage/style.css
@@ -52,7 +52,7 @@ h3 {
.columns {
display: grid;
- grid-template-columns: repeat(3, 1fr);
+ grid-template-columns: repeat(4, 1fr);
}
.columns .column {
@@ -69,23 +69,26 @@ a {
text-decoration: none;
color: var(--pywal-color15);
position: relative;
- left: 0;
- transition: left .3s;
+ padding: 0;
+ transition: padding .3s;
+}
+
+a:hover {
+ padding-left: 15px;
}
a::before {
- content: '➜';
+ content: '>';
position: absolute;
- left: -30px;
+ left: -20px;
opacity: 0;
- transition: left .3s, opacity .3s;
-}
-
-a:hover {
- left: 15px;
+ transform: scaleX(0);
+ transition-property: left, transform, opacity;
+ transition-duration: .3s;
}
a:hover::before {
- left: -15px;
+ left: 0px;
+ transform: scaleX(1);
opacity: 1;
}
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
index 91cdc25..4f3a4dd 100644
--- a/.config/zathura/zathurarc
+++ b/.config/zathura/zathurarc
@@ -3,13 +3,14 @@ set smooth-scroll "true"
set scroll-full-overlap 0.01
set scroll-step 100
set font "JetBrainsMono NF 10"
+set selection-clipboard clipboard
# recolor (dark mode)
map <C-i> recolor
set recolor "true"
-set default-bg rgba(28,28,28,0.92)
-set recolor-lightcolor rgba(198,198,198,0)
+set default-bg rgba(21,22,24,0.92)
+set recolor-lightcolor rgba(196,196,197,0)
set recolor-reverse-video "true"
set recolor-keephue "true"
diff --git a/.zshrc b/.zshrc
index d6c21e5..3258758 100644
--- a/.zshrc
+++ b/.zshrc
@@ -43,8 +43,7 @@ export jsbeautify_indent_with_tabs=true
export NODE_EXTRA_CA_CERTS=/usr/share/ca-certificates/bitwarden.crt
# NVM
-export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+source /usr/share/nvm/init-nvm.sh
# mkcd
function mkcd {
@@ -59,6 +58,11 @@ function clone {
# gitignore
function gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}
+# gnvim
+function gnvim {
+ i3-swallow /bin/gnvim -- "$@"
+}
+
# ueberzug
source "`ueberzug library`"
@@ -73,8 +77,8 @@ alias patchmc="node /home/loek/.local/share/bin/patch_minecraft_profiles.js"
alias cls="clear"
alias lowerpolybar="xdo lower -n Polybar -n tray && xdo lower -N Polybar"
alias timesync="sudo ntpd -qg && sudo hwclock --systohc"
-alias v="nvim"
-alias vim="nvim"
+alias v="gnvim"
+alias vim="gnvim"
alias copy="xclip -selection c"
alias sdl="spotifydl"
alias sctl="systemctl"