Frewacom / pywalfox

Dynamic theming of Firefox (and Thunderbird) using your Pywal colors
https://addons.mozilla.org/en-US/firefox/addon/pywalfox/
Mozilla Public License 2.0
582 stars 12 forks source link

The extension can't read generated colors.json Windows 10 #81

Closed rakinishraq closed 2 years ago

rakinishraq commented 2 years ago

Hey, man. Real quick, this extension is great and worked perfectly on all my Linux builds so thanks a ton for your work.

Unfortunately, the extension fails to read colors.json on my Windows build and gives this message when clicking the Fetch button: "Pywal colors: Could not read colors from: C:\Users\alexa.cache\wal\colors.json"

I'm not sure what info is relevant so I'll list everything I can. The themes menu in Firefox doesn't have a Pywalfox entry so I have the default Dark enabled. I have legacy stylesheets enabled in about:config. I started manually running the win.bat daemon after I got a daemon connection error in normal CMD and administrator PS and both got that same colors.json error. My python version is 3.9.6 which is listed to be supported.

Thanks again for your work and I'm excited to try this with DarkReader.

Frewacom commented 2 years ago

The missing file is created by pywal. Have you generated a colorscheme using pywal?

rakinishraq commented 2 years ago

Yep, sorry for not mentioning that. Here are the contents of that file:

{
    "wallpaper": "C:\Users\alexa\Pictures\wallpaper.png",
    "alpha": "100",

    "special": {
        "background": "#161919",
        "foreground": "#bee0e8",
        "cursor": "#bee0e8"
    },
    "colors": {
        "color0": "#161919",
        "color1": "#7D807F",
        "color2": "#58A3B0",
        "color3": "#5DA4B1",
        "color4": "#6FB9C7",
        "color5": "#7AC4D2",
        "color6": "#BEA69F",
        "color7": "#bee0e8",
        "color8": "#859ca2",
        "color9": "#7D807F",
        "color10": "#58A3B0",
        "color11": "#5DA4B1",
        "color12": "#6FB9C7",
        "color13": "#7AC4D2",
        "color14": "#BEA69F",
        "color15": "#bee0e8"
    }
}

Also, I noticed that the error message's path shows without one of the slashes. It actually says "C:\Users\alexa\.cache\wal\colors.json"

Frewacom commented 2 years ago

I can reproduce this locally, so it seems to be some sort of issue with the native messenger on Windows.

Frewacom commented 2 years ago

FYI, I will not have access to my Windows-machine for another two weeks, so it won’t be fixed until then.

rakinishraq commented 2 years ago

Gotcha. Thanks in advance.

rakinishraq commented 2 years ago

By the way, I found that making a json file from the pywal python module using json.dumps and setting PYWAL_COLORS_PATH to this new json file works fine. Python can't read pywal's normal colors.json for some reason.

danielphan2003 commented 2 years ago

I know what the problem is. Pywal uses plain Windows path in colors.wallpaper, and that causes Pywalfox fail to parse colors.json

ghost commented 2 years ago

Just to add on to this, I believe when trying to fetch the userChrome file path, Pywalfox runs into the same issue. I can use the pywal colours just fine through importing the generated css into my userChrome.css, but Pywalfox just can't seem to find the file (which again, I think is due to it looking for the files using the wrong path). Perhaps a simple change from "\" to "/" might work?

danielphan2003 commented 2 years ago

I tried this at first, but pywal still uses "\" for Windows path.

On Fri, Mar 4, 2022 at 3:22 PM SmoofBrane @.***> wrote:

Just to add on to this, I believe when trying to fetch the userChrome file path, Pywalfox runs into the same issue. I can use the pywal colours just fine through importing the generated css into my userChrome.css, but Pywalfox just can't seem to find the file (which again, I think is due to it looking for the files using the wrong path). Perhaps a simple change from "" to "/" might work?

— Reply to this email directly, view it on GitHub https://github.com/Frewacom/pywalfox/issues/81#issuecomment-1058941090, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIIQJKKDPF2F6UAIMJMBCVLU6HB4ZANCNFSM5KB5EOUA . You are receiving this because you commented.Message ID: @.***>

ghost commented 2 years ago

I tried this at first, but pywal still uses "\" for Windows path. On Fri, Mar 4, 2022 at 3:22 PM SmoofBrane @.> wrote: Just to add on to this, I believe when trying to fetch the userChrome file path, Pywalfox runs into the same issue. I can use the pywal colours just fine through importing the generated css into my userChrome.css, but Pywalfox just can't seem to find the file (which again, I think is due to it looking for the files using the wrong path). Perhaps a simple change from "" to "/" might work? — Reply to this email directly, view it on GitHub <#81 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIIQJKKDPF2F6UAIMJMBCVLU6HB4ZANCNFSM5KB5EOUA . You are receiving this because you commented.Message ID: @.>

The main branch of Pywal has this fixed. What I did to fix the issue within Pywal itself was as follows.

To remove the "broken" version of Pywal: pip uninstall pywal (or I guess pip3 uninstall pywal if you installed it with pip3)

And then to get the "fixed" version of Pywal: git clone https://github.com/dylanaraps/pywal (download the updated branch) cd pywal (go into the downloaded folder) pip install --user . (install the new version (pip3 breaks things for me for some reason, so I just used pip)) In the last line, don't forget to add the period . at the end to actually install the darn thing.

Now you should have the updated version of Pywal installed with the appropriate Windows path fix.

danielphan2003 commented 2 years ago

Oh, I forgot that I installed the stable version of pywal on scoop. Will switch to main branch later.

On Fri, Mar 4, 2022 at 6:07 PM SmoofBrane @.***> wrote:

I tried this at first, but pywal still uses "" for Windows path. … <#m-6291144256821374264> On Fri, Mar 4, 2022 at 3:22 PM SmoofBrane @.> wrote: Just to add on to this, I believe when trying to fetch the userChrome file path, Pywalfox runs into the same issue. I can use the pywal colours just fine through importing the generated css into my userChrome.css, but Pywalfox just can't seem to find the file (which again, I think is due to it looking for the files using the wrong path). Perhaps a simple change from "" to "/" might work? — Reply to this email directly, view it on GitHub <#81 (comment) https://github.com/Frewacom/pywalfox/issues/81#issuecomment-1058941090>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIIQJKKDPF2F6UAIMJMBCVLU6HB4ZANCNFSM5KB5EOUA https://github.com/notifications/unsubscribe-auth/AIIQJKKDPF2F6UAIMJMBCVLU6HB4ZANCNFSM5KB5EOUA . You are receiving this because you commented.Message ID: @.>

The main branch of Pywal has this fixed. What I did to fix the issue within Pywal itself was as follows.

To remove the "broken" version of Pywal: pip uninstall pywal (or I guess pip3 uninstall pywal if you installed it with pip3)

And then to get the "fixed" version of Pywal: git clone https://github.com/dylanaraps/pywal (download the updated branch) cd pywal (go into the downloaded folder) pip install --user . (install the new version (pip3 breaks things for me for some reason, so I just used pip)) In the last line, don't forget to add the period . at the end to actually install the darn thing.

Now you should have the updated version of Pywal installed with the appropriate Windows path fix.

— Reply to this email directly, view it on GitHub https://github.com/Frewacom/pywalfox/issues/81#issuecomment-1059064899, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIIQJKIOWQVZYAML5B4GQZDU6HVGBANCNFSM5KB5EOUA . You are receiving this because you commented.Message ID: @.***>