userstyles: update messenger-dynamic-sidebar
This commit is contained in:
parent
92c0e0ee6c
commit
d3449eaddd
@ -5,4 +5,6 @@ Contains random UserStyles.
|
||||
## UserStyles list
|
||||
|
||||
- [Messenger Dynamic Sidebar](./messenger-dynamic-sidebar.user.css): [reizumi](https://codeberg.org/reizumi)'s Messenger Dynamic Sidebar ported to pure CSS for Ferdium support
|
||||
> Ported from commit [`1cb2a5b12ad2d04d8c3932892108b6be05528c6f`](https://codeberg.org/reizumi/userstyles/commit/1cb2a5b12ad2d04d8c3932892108b6be05528c6f)
|
||||
> Ported from commit [`9df0607a9c709ba5a1e8e3d12e98c36e64928981`](https://codeberg.org/reizumi/userstyles/commit/9df0607a9c709ba5a1e8e3d12e98c36e64928981) using [update-messenger-dynamic-sidebar.py](./scripts/update-messenger-dynamic-sidebar.py)
|
||||
|
||||
> If the CSS isn't working as expected, try pasting it into `darkmode.css` and Enable Dark mode in Ferdium.
|
||||
|
@ -5,21 +5,20 @@
|
||||
--sidebarEase: "ease";
|
||||
--sidebarWidth: 360px;
|
||||
}
|
||||
|
||||
.bdao358l.om3e55n1.g4tp4svg.alzwoclg.cqf1kptm.jez8cy9q.gvxzyvdx.aeinzg81.qp72b3h3.oxkhqvkx.nch0832m.srn514ro.rl78xhln {
|
||||
/* Hide action bar */
|
||||
.x9f619.x1n2onr6.x1ja2u2z.x78zum5.xdt5ytf.x2lah0s.x193iq5w.xeuugli.x1y71gwh.xu3j5b3.xm81vs4.xexx8yu.x18d9i69.xkhd6sd.x4uap5 {
|
||||
max-width: 0;
|
||||
overflow: hidden;
|
||||
border-right-color: var(--web-wash);
|
||||
transition: max-width var(--sidebarSpeed);
|
||||
transition-delay: var(--actionBarDelay);
|
||||
}
|
||||
.bdao358l.om3e55n1.g4tp4svg.alzwoclg.cqf1kptm.jez8cy9q.gvxzyvdx.aeinzg81.qp72b3h3.oxkhqvkx.nch0832m.srn514ro.rl78xhln:hover {
|
||||
.x9f619.x1n2onr6.x1ja2u2z.x78zum5.xdt5ytf.x2lah0s.x193iq5w.xeuugli.x1y71gwh.xu3j5b3.xm81vs4.xexx8yu.x18d9i69.xkhd6sd.x4uap5:hover {
|
||||
max-width: 211px;
|
||||
border-right-color: var(--media-inner-border);
|
||||
}
|
||||
/* Header */
|
||||
.mm98tyaj
|
||||
.bdao358l.om3e55n1.g4tp4svg.alzwoclg.jez8cy9q.sl27f92c.i85zmo3j.sr926ui1.jl2a5g8c.anf3k8p9.rj0o91l8.qjfq86k5.p9ctufpz.lth9pzmp {
|
||||
.x9f619.x1n2onr6.x1ja2u2z.x78zum5.x2lah0s.x1qughib.x6s0dn4.xozqiw3.x1q0g3np.x1sy10c2.xktsk01.xod5an3.x1d52u69 {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
margin: 0 16px;
|
||||
@ -27,78 +26,75 @@
|
||||
transition: var(--sidebarSpeed);
|
||||
}
|
||||
/* Search */
|
||||
.mm98tyaj .bdao358l.om3e55n1.g4tp4svg.r227ecj6.gt60zsk1.rj2hsocd.f9xcifuu {
|
||||
.x9f619.x1n2onr6.x1ja2u2z.xsag5q8.x1yrsyyn {
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
transition: var(--sidebarSpeed);
|
||||
}
|
||||
/* Text Header */
|
||||
.mm98tyaj .jxuftiz4.jwegzro5.hl4rid49.icdlwmnq {
|
||||
.x1cvmir6 .x1heor9g.x1qlqyl8.x1pd3egz.x1a2a7pz {
|
||||
width: 150px;
|
||||
}
|
||||
/* Unread Message Indicator */
|
||||
.mm98tyaj .nmlomj2f[data-visualcompletion="ignore"] {
|
||||
.x1cvmir6 .x1fsd2vl[data-visualcompletion="ignore"] {
|
||||
position: relative;
|
||||
right: 83px;
|
||||
transition-delay: var(--sidebarDelay);
|
||||
}
|
||||
/* Notification bell */
|
||||
.mm98tyaj .sr926ui1.alzwoclg.i85zmo3j svg,
|
||||
.mm98tyaj .sr926ui1.alzwoclg.i85zmo3j .i1ozlmoo {
|
||||
.x1cvmir6 .xozqiw3.x78zum5.x6s0dn4 svg {
|
||||
display: none;
|
||||
}
|
||||
/* Scrollbar */
|
||||
.mm98tyaj
|
||||
.alzwoclg.cqf1kptm.cgu29s5g.i15ihif8.sl4bvocy.lq84ybu9.efm7ts3d.om3e55n1.mfclru0v {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
/* Hide contents (workaround) */
|
||||
.i85zmo3j.alzwoclg.rtxb060y.p4zypb3t {
|
||||
/* Hide contents */
|
||||
.x9f619.x1n2onr6.x1ja2u2z.x78zum5.x1iyjqo2.xs83m0k.xeuugli.x1qughib.x6s0dn4.x1a02dak.x1q0g3np.xdl72j9 {
|
||||
overflow: hidden;
|
||||
}
|
||||
/* Sidebar (not focused) */
|
||||
.mm98tyaj {
|
||||
.x1cvmir6 {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
transition: width var(--sidebarSpeed) var(--sidebarEase);
|
||||
transition-delay: var(--sidebarDelay);
|
||||
}
|
||||
@media only screen and (min-width: 900px) {
|
||||
/* Sidebar (focused) */
|
||||
.b0ur3jhr:hover .mm98tyaj {
|
||||
.x1vjfegm:hover .x1cvmir6 {
|
||||
width: var(--sidebarWidth);
|
||||
transition-delay: 0s;
|
||||
}
|
||||
/* Header (focused) */
|
||||
.b0ur3jhr:hover
|
||||
.mm98tyaj
|
||||
.bdao358l.om3e55n1.g4tp4svg.alzwoclg.jez8cy9q.sl27f92c.i85zmo3j.sr926ui1.jl2a5g8c.anf3k8p9.rj0o91l8.qjfq86k5.p9ctufpz.lth9pzmp {
|
||||
.x1vjfegm:hover .x1cvmir6 .x9f619.x1n2onr6.x1ja2u2z.x78zum5.x2lah0s.x1qughib.x6s0dn4.xozqiw3.x1q0g3np.x1sy10c2.xktsk01.xod5an3.x1d52u69 {
|
||||
opacity: 1;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
margin: 20px 16px 12px 16px;
|
||||
}
|
||||
/* Search (focused) */
|
||||
.b0ur3jhr:hover
|
||||
.mm98tyaj
|
||||
.bdao358l.om3e55n1.g4tp4svg.r227ecj6.gt60zsk1.rj2hsocd.f9xcifuu {
|
||||
.x1vjfegm:hover .x9f619.x1n2onr6.x1ja2u2z.xsag5q8.x1yrsyyn {
|
||||
opacity: 1;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
}
|
||||
/* Unread Message Indicator (focused) */
|
||||
.b0ur3jhr:hover .mm98tyaj .nmlomj2f[data-visualcompletion="ignore"] {
|
||||
.x1vjfegm:hover .x1cvmir6 .x1fsd2vl[data-visualcompletion="ignore"] {
|
||||
right: 0;
|
||||
transition-delay: 0s;
|
||||
}
|
||||
/* Notification bell (focused) */
|
||||
.b0ur3jhr:hover .mm98tyaj .sr926ui1.alzwoclg.i85zmo3j svg,
|
||||
.b0ur3jhr:hover .mm98tyaj .sr926ui1.alzwoclg.i85zmo3j .i1ozlmoo {
|
||||
.x1vjfegm:hover .x1cvmir6 .xozqiw3.x78zum5.x6s0dn4 svg {
|
||||
display: block;
|
||||
}
|
||||
/* Scrollbar */
|
||||
.x1cvmir6 .x78zum5.xdt5ytf.x1iyjqo2.xs83m0k.x1xzczws.x6ikm8r.x1rife3k.x1n2onr6.xh8yej3 {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
/* Scrollbar (focused) */
|
||||
.b0ur3jhr:hover
|
||||
.mm98tyaj
|
||||
.alzwoclg.cqf1kptm.cgu29s5g.i15ihif8.sl4bvocy.lq84ybu9.efm7ts3d.om3e55n1.mfclru0v {
|
||||
.x1vjfegm:hover .x78zum5.xdt5ytf.x1iyjqo2.xs83m0k.x1xzczws.x6ikm8r.x1rife3k.x1n2onr6.xh8yej3 {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
/* Hide contents (focused) */
|
||||
.x1vjfegm:hover .x1cvmir6 .x9f619.x1n2onr6.x1ja2u2z.x78zum5.x1iyjqo2.xs83m0k.xeuugli.x1qughib.x6s0dn4.x1a02dak.x1q0g3np.xdl72j9 {
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
|
68
userstyles/scripts/update-messenger-dynamic-sidebar.py
Normal file
68
userstyles/scripts/update-messenger-dynamic-sidebar.py
Normal file
@ -0,0 +1,68 @@
|
||||
import requests
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
URL = "https://codeberg.org/reizumi/userstyles/raw/branch/master/messenger-dynamic-sidebar.user.css"
|
||||
|
||||
|
||||
def find_line(source: str, content: str) -> int:
|
||||
for line, text in enumerate(source.splitlines()):
|
||||
if content in text:
|
||||
return line
|
||||
return -1
|
||||
|
||||
|
||||
def main():
|
||||
print("Reading our CSS file...")
|
||||
my_css = (Path.cwd() / "messenger-dynamic-sidebar.user.css").read_text()
|
||||
my_css_lines = my_css.splitlines()
|
||||
print("Reading the source CSS file...")
|
||||
r = requests.get(URL)
|
||||
r.raise_for_status()
|
||||
source_css = r.text
|
||||
source_css_lines = source_css.splitlines()
|
||||
my_new_css = ""
|
||||
# Update CSS addresses
|
||||
skip_lines = []
|
||||
for line, text in enumerate(my_css_lines):
|
||||
if line in skip_lines:
|
||||
print("Skipping line", line)
|
||||
continue
|
||||
elif text.strip() == "/* Hide action bar */":
|
||||
print("Fixing hide action bar CSS...")
|
||||
hide_action_line = find_line(source_css, "if hideActionBar {")
|
||||
if hide_action_line != -1:
|
||||
my_new_css += text + "\n" + source_css_lines[hide_action_line + 1].strip() + "\n"
|
||||
hover_line = hide_action_line + 8
|
||||
skip_lines.append(line + 1)
|
||||
for i in range(2, 8):
|
||||
my_new_css += my_css_lines[line + i] + "\n"
|
||||
skip_lines.append(line + i)
|
||||
my_new_css += source_css_lines[hover_line].strip() + "\n"
|
||||
skip_lines.append(line + 8)
|
||||
elif text.strip().startswith("/*"):
|
||||
source_line = find_line(source_css, text)
|
||||
if source_line != -1:
|
||||
my_new_css += text + "\n" + source_css_lines[source_line + 1].strip() + "\n"
|
||||
next_line = line + 1
|
||||
skip_lines.append(next_line)
|
||||
while not my_css_lines[next_line].endswith("{"):
|
||||
next_line += 1
|
||||
skip_lines.append(next_line)
|
||||
else:
|
||||
print(f"Couldn't find line for {text}")
|
||||
my_new_css += text + "\n"
|
||||
else:
|
||||
my_new_css += text + "\n"
|
||||
print()
|
||||
print("=== OUTPUT CSS ===")
|
||||
print()
|
||||
print(my_new_css)
|
||||
print("=== END OUTPUT CSS ===")
|
||||
print()
|
||||
print("Writing new CSS file...")
|
||||
(Path.cwd() / "messenger-dynamic-sidebar.user.css").write_text(my_new_css)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user