From ecb4960d4585dbd48a0f36abcad6bef692d10150 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Sat, 3 Jan 2026 21:17:58 +0000 Subject: [PATCH] extension: update icon to blue-ish which looks fine both in dark and light/remove dark mode detection This is a bit nicer as the whole thing is hacky (there are no good standard apis to detect dark mode), and in firefox such content scripts implicitly grant extension permissions to open all urls, which is inconsistent with chrome --- extension/README.md | 3 +++ extension/generate_manifest.js | 6 ------ extension/rollup.config.js | 1 - extension/src/background.ts | 7 ------- extension/src/detect_dark_mode.ts | 10 ---------- extension/src/img/unicorn.png | Bin 3269 -> 13987 bytes extension/src/img/unicorn_dark.png | Bin 6495 -> 0 bytes 7 files changed, 3 insertions(+), 24 deletions(-) delete mode 100644 extension/src/detect_dark_mode.ts delete mode 100644 extension/src/img/unicorn_dark.png diff --git a/extension/README.md b/extension/README.md index 0961173..9cedf60 100644 --- a/extension/README.md +++ b/extension/README.md @@ -1,5 +1,8 @@ - manifest version: both chrome and firefox store versions are on manifest v3 now +# Icon +Icon is from https://www.freepik.com/icon/unicorn_14284894, scaled a bit up with `convert unicorn.png -resize 110% -gravity center -background none -extent 128x128 unicorn2.png` + # permissions used See main `README.md`. diff --git a/extension/generate_manifest.js b/extension/generate_manifest.js index 697123a..eb5ec04 100644 --- a/extension/generate_manifest.js +++ b/extension/generate_manifest.js @@ -109,12 +109,6 @@ export function generateManifest({ content_scripts.push({"matches": [""], "js": ["selenium_bridge.js"]}) } - // FIXME ugh... - // this will basically require "Reads data on all sites" permission - // and seems like all other methods for detecting it (e.g. listener on popup page/offscreen page don't work reliably) - // https://stackoverflow.com/a/77806811/706389/ - content_scripts.push({"matches": [""], "js": ["detect_dark_mode.js"]}) - const manifest = { name: pkg.name + (release ? '' : ' [dev]'), version: pkg.version, diff --git a/extension/rollup.config.js b/extension/rollup.config.js index dcdeda3..75195fa 100644 --- a/extension/rollup.config.js +++ b/extension/rollup.config.js @@ -113,6 +113,5 @@ export default [ path.join(srcDir, 'background.ts'), path.join(srcDir, 'options_page.ts'), path.join(srcDir, 'popup.ts'), - path.join(srcDir, 'detect_dark_mode.ts'), ]), ] diff --git a/extension/src/background.ts b/extension/src/background.ts index 6d379da..a167ccf 100644 --- a/extension/src/background.ts +++ b/extension/src/background.ts @@ -186,13 +186,6 @@ browser.runtime.onMessage.addListener((_message: unknown, sender: Runtime.Messag }) return true // means 'async response' } - if (message.method == 'DARK_MODE') { - const icon_path = message.hasDarkMode ? 'img/unicorn_dark.png' : 'img/unicorn.png' - - // manifest v2 doesn't have browser.action - const action = browser.action ? browser.action : browser.browserAction - action.setIcon({path: icon_path}) - } }) diff --git a/extension/src/detect_dark_mode.ts b/extension/src/detect_dark_mode.ts deleted file mode 100644 index ee8642c..0000000 --- a/extension/src/detect_dark_mode.ts +++ /dev/null @@ -1,10 +0,0 @@ -const hasDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches - -// TODO this won't be typechecked though.. maybe need to make it TS aware only? -// or maybe fine to import browser here, just remove unused stuff to keep content script small? - -// @ts-expect-error browser should be available in browser context -chrome.runtime.sendMessage({ - method: 'DARK_MODE', - hasDarkMode: hasDarkMode, -}) diff --git a/extension/src/img/unicorn.png b/extension/src/img/unicorn.png index 1e97bbc41325cbb5ac5e7fdfae5c3cd726a7f352..2cf807ed2404cf3c0cb8cd18aa5f762bdeddc82e 100644 GIT binary patch literal 13987 zcmW+-1z1z>+a6=U=z)~vXpkQ*EuGRKpma$p3??Zt8fj1@9NjHl(jpzg=tjD`*f5WZGX&_%C^|GmN3=+AB`%R%%4wN}y9004a0 z(BFpu0Jr};zYPGm^8o<6765>F3IIR}LpJNYLZ864Qd3qyujto}d`kd&!TI!BLlI{e z1M`_6`2;uu{X^mBuN7q9c+DO7d8W|zx^GpAYj|p9%+4YyTOwNe$e3gyLu6k$`1=PE z71I?m?O%JgoxKw-hi84bDbqXdug^RBrqchd?<@B^Hcs6 z<96z7DwYZpsYyip(fkpnPje~P{cWpZrCBR*>Ce&2-*8h5K;!nF$rtV>o&p6UxrE24 z$XUO3@oD|rbPTa+^6jR3E#~?JGY86o>Di`SD+jA9`OeEE*4Fn>PRH!^)y$_*c*UNV zl)U&fIjsEteNQg$a=O^@TM=+zQP>kos0Jry2UEJH`q@>8k4Ws@k7Tk*FVEGn_Q#WX z8_{mjtrrNmM`}7v%dC*V(vzv)&uVLaYo8}-TbiTf^X&@-GHXqL0ZuIH)01qP*Z$Y9 zeJb|++E$RyI+lOg2-T<=iuc&Wh_8WGnBd&A{aU|OzqU*_Ds3vU&iqn6zOgGqb#`;_ zNvq45IweTo?>9Mj{rV$jh!HsTK6i-U4D09mjJcR791GC=^#`gZbX}q+fpV(!r0oE3 zV~2Pm>zE(6kg`7hN?ds^ z0!&IOKh4;7?g&mK*5t=JG}>Sn6?IqGoO5-w#W`gjCDs|s&|dyy7?sOQKH?reA`+qL zv5d_weUHTza4kNaVr0phdGsy)8<}JKxr*x=?%i;ag755P46^3Jc2}Dg04B*2I?wSN zWGC5a2OC*oM63rJs|L^Zoa)gI@v|Pzr4RA^hoQ_gR`1rpU&roOA>l413!2%e5Q2w0 zsYecRmRO8H>uf0+ZC_CDHoN)u-(`-*N_$VgOTy;kj{EG8+tJ!)BU*Vk-?b|Pn#?#&76$JtH!iLVE^YJ6S(3p`@r`X|?MA`#QW$LrL@^UxPTbYcxUeoSG>eKd}_pUJh$l~{Tik-x5%tJ?Sx6ko5+MRO5-ARvkm# z&)yFIn_r*l>M(X5OC0IUx%ei{%ROcb2VlY+b)7Sq_2+Yml+y@6_FUFwU%BYB zWZ4i$*@9?_H4uI*f@tB<#e^vJ z2TF;6>$sS8wdvW=?qrDUZ3G9-5+PHWM>J=h=m||X<#s$;ph?=j8)c#=zm1oa8G$mF zD}I`JSGTnsIQkNvFji5Cir@$_??uj-N;1FOji562)Fk?go@r65E1XsJS6)WsH~prb zC)!)8rsKKO?{*USM41859e&VU*a|-TZirqTMs?VBhr!z>SE_!@3=p7WKe3NC*LeJ2 zxh}_vnt9%0ouKmaPx=ExDVg(vy2KpTPmUX(-f1mpmZ$Pk6lOg5!ELt$9P=-#Lzs}W zK~Cy-<@cTRTrEeWn&rf*ZO5M@wvA;DD>7dP4pSlM23yGG_t5Bi)5Jo7zr{rgbS;^5%OJ4h_; zN7q3PfZ^#y5PXpTY2D+>3Ruwqu?PVICah8fm9^6r1n+3vKRIst_^#GNWHJQo!s1$T zsElFOU3CH?GYGDTrcMR3 z1Bb@l!(V8~TfNh_qgcNbMJE?z_zxC^HTPtVqx952z7=MEvFbXVGS^W|=QV7G(~-*T z>d3m^)u($%CVXuytP#%Zx1!>@WjIs(#&)gYX}>SqmIn2}Aq0QXXsG@ZP8jr&i&3TR zpOo@ISRk!Eg8E~4k|Z9pch;?7VeGQdIA%`HRcX~Bd-;%kQc*h1qjM6eeLLLt$uF}% z=9O=`9yNoFW_F;UT5(Y}9;y#OP0`B0%_SZDyK7m#=zxjiQ5b-5D$suFgdy|-1(mmk z96m+&V<|b_`S3Y8W&Ml%WZ!wm9+ms#I+ENF_m1$x!nI*^#IB`iXpwQ6NndKN;b+}= z#ut|096ZfI4|2PeAtL_iZTHAr`44MV^>2?_>>~BFG?1#H=f4qJs4fw-w{Y0;V4&5& z1d=e2xl}ek6C06a;#j3nF(NbYAv3sDsoPzs!$k311pig6QWUXeHWm560+Gs~^FGE@ z^0|6nAyyYL*90#7uC3<7R06L5AoFiLF59&~oMfk&^zqN+acFb4(rtE6GSf^oefDKk zwj!lGL|GE_VMI()7NglA1`IURsN@O=&&_Jjv*7{&NNd;;h47}ghk3oj|_zR{ScD= zBSZ}DvNRvak6dDi`>umP})M3a1&N9MZkYsKW+KNv44YEy%h3s#Bx#Gp=Bb0f;1Ik!E>r`M?9oaIdU%8z8>a}B%oF35@6zVg{4HYb0_zOgviIwEE z+-c}4m7awrZc>l9CSke`oDm*57&)N@%9WgkaZA0l$}^M7zH$B3NfCoEF`$}X>P_Xs zKv3_*9lPWsVyv|97MLJLw%NG?r)BMO+IJTNr41%BPmd~)|5c_<1 z&a`OA*mi8dLeWN9wN#p=bjuj=qJvY^PCrSHe%x)AHitHZ`Y=ek3eU(F;%I~6+sOk? z#NH+AT+qGX-24vO{4U7CBV^7z*p521C`#7j5>*d3}f2(DZLi!rh zCPgj)2Ts`d=Ou7>FX8PeqlzjRX#^W)dBL(egbjBiL`qP?950)ds;SJbS3h}mepFiR z8#PM?SLGWzKy8d4``}Sx?lu5zYtxAT8X-nGckZ~_%D~rw6h}czjSy5{*T9H)lv$0S zjWm$kiR5qwo4bAtF4lrA>J9}9fOIfO6n=Sdu;SQ}g#Z$%gQfXHEC#Xd6GG!_L0}Tu za$2f7Z3i%%Fk!BV2j(eM2X~dMdPOkvY1s*Ai)fw

!BW4-!zSNCz1122tq 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 literal 3269 zcmeHJ`#%#77oLdO8m75TZb`Nw(L{3HTxPj$6BcDOxz?~;DiMaRq)noq{NFdoZ1NEQ+2=NumN$ zQ&V@u9F0qkq|m54jwKx_pLc)*02@~Qy-DsenQZ<3-}={q|2GH7PqwVA|NMte@FfD| zHpnY%R8#^ggTR|0DynKw_02F1O)YI5xb7A`eFH#!MeG7c;dY9`@DU8{rm$6L{i}Xpx_YlfzYsnhr%flk%y^KN1|h5 z?3`RiUVg#ZbLTHyyi{0px%di`RdTiTT3Pw^ z8x=R%oXV&H8$PnKlo2`OKaQ1_D7GObPBqf@(r$>*8bxi8ZBuM3OczW-QSUitZJ_4nGJzlpB_ z-vIz1+RM$Aq^%?E1k+(da*7j~w&gyC+tjinfY}c5Y8=EHm$*jIRtp3$8$_xesw6P; zO=9-ogg~}OW3|;h#dguR2VDlZjuD!i6{wnNs zY+uYHRR|m%y&yBwQ$}hxhrcX)=6OW?B{c9yV%_2SA^qss<}wjyu^v|{Y3pT9WBPJq z%bdREbyvSzv+`jG6ODPdj=64FYyMgp=-e{$pg86GnviLg=q!yAbnq_lTW#p*-@OzM zGI(UvdX#f}g8cH@Gaac}%kB!%Eedf(q-LJGH=*KI&6Ocqf(63|P{yl_ao3!^Dw6a)M=~P#2GUqa^Nc`Spr@ugZA>kK8{{)+>7YCcAdr0zpA5K z((CrPHm)tC~Y`(({A$rJClKRHgpgT)6eK}zAc1Gs^wp>~TZ;~wSX zsnv4PLB2Cp^cLF-0?olzDGZ`?()iplx>bUc-lwjZm@$Oj91wB^Va{+bbVLvOW{0h| zIP%jo?# z=6-R|$xdNwvB<-K-|iL~(y9HvU z+UP)s(R{>8K&$R*1$U=>$SREl%93`T|*h#rLo|8i#2@5rOM7Fj*pStA)pfudHFv5vg*aL+Z}GU2;^#z9FCkugTufk_($k^_7QFO- z*t~xVoZ@t?Xu;q2dTjl+JTPtYIhubiZ|LIX()mFCn`_FDx4JRGAF-7Ussp5NuzQ?4 zifi>+lxwc5H@ zK_@?_mmU`cbqd?d1o)PTjIzAU2f6xvR^&Um^#zzZZS44mg zRU2M9zd}_0a50xDjF2;*XQLGwGh_(X6X3Qez#LQ3S-A)WeKo8(Iz&SKHV)|Pr-S38 z2(xFjMJfKsxwE;y3?KwMd-W7v9I`!2J1XF9D)hBSpNULmB))tEbh*SI_)*Z$Fv9mp zrsAoqVzw!FhDKN7_U^%z_`p|kpEYU1%n_ult#t}7(-#~6FuF?jEx(`j*z-q)* zoMzS-l4F&*qfWRAKjfDsBk~Fg|LGU5?2tcPMF}fl;>(Of;H-c&Rp0sACMS*O);R<} zyYz||m~HzGW(m~o79V4&*2PpS#^^9j6k*F1KEM@kz!wSvBvVXOn~~T1Dq6Ra=bs$r zqxiEQwSDUWub&d%UcXemAm#3aS~*~;%EghI3~E8=iajg82$q9jZY`-e7T+`NdcJ@m`!0( z&Ysn;H0VvTztglxWyZ#WyGwHTGX|Xv1HMoFZ7dCzVh>;`3bTtHv3O5=LF|8(;V7*~ z!5-xcaT)%F62t>cMqWNr8n1XI)uS{I(&|#x*ux)l+73yCDInuL{?rgcBsrqBo9Ny} z@uoh%_w2Bl9EoAcZZ31Rlc7})b8S0p3kft1pZ!)#iHj-SXigU}Oh!sQb>3RYcFj?g&HV*$ws8vn TNxd`iPk8il_jPN)glGQ`E}@+^ diff --git a/extension/src/img/unicorn_dark.png b/extension/src/img/unicorn_dark.png deleted file mode 100644 index 3ec03a92c0c9d0eee819884771482b30777a8766..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6495 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 aAPoN*7PlM!P89gUz-uKfMU=cn$o~KdFnP-W