diff options
53 files changed, 1318 insertions, 1128 deletions
diff --git a/.cache/wal/chromium/Cached Theme.pak b/.cache/wal/chromium/Cached Theme.pak Binary files differindex f794a6e..a21eb8d 100644 --- a/.cache/wal/chromium/Cached Theme.pak +++ b/.cache/wal/chromium/Cached Theme.pak diff --git a/.cache/wal/chromium/bg.png b/.cache/wal/chromium/bg.png Binary files differindex 42546ae..5ee6acc 100644 --- a/.cache/wal/chromium/bg.png +++ b/.cache/wal/chromium/bg.png 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" @@ -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" |