geany / geany-themes

A collection of color schemes for Geany
Other
356 stars 125 forks source link

Flatpak directory location #47

Closed myfirstnameispaul closed 5 months ago

myfirstnameispaul commented 2 years ago

The location to place themes when Geany has been installed from flatpak is:

/var/lib/flatpak/app/org.geany.Geany/x86_64/stable/<stringofcharacters>/files/share/geany/colorschemes/
anconrad commented 1 year ago

Thank you for this, you could also use the active symlink to have a fixed location /var/lib/flatpak/app/org.geany.Geany/x86_64/stable/active/share/geany/colorschemes/

AtomicRobotMan0101 commented 5 months ago

Linux Mint 21.3 here.

Seems to be in a slightly different place.... /active/files/share

/var/lib/flatpak/app/org.geany.Geany/current/active/files/share/geany/colorschemes

Be nice if the colourschemes might be imported via the application rather than have users dig through such a deep hierarchy. WORSE for ordinary users is that files must be copied from (wherever) into the deep directory as sudo or su. Some organisations (and users) may feel this is a bit odd.... or can the flatpak also look in the traditional ~/.config/geany/colorshemes? (do the flatpak rules allow this?)

PROPOSAL - mod Geany to suck colourschemes out of its traditional place, if present, and copy/plonk them into the correct flatpak directory... or have an Import button with a directory selector.

PROPOSAL 2 - rather than going to the website, downloading and then copying it to the correct place, the colour scheme chooser has all available schemes as a list?

elextr commented 5 months ago

Can a flatpack access the internet?

Anyway Geany itself does not perform any internet access and does not contain the libraries to do that.

A couple of the plugins in the Geany plugins collection do, so maybe "somebody" could add a plugin to read colour schemes from the repository if a flatpack is allowed to do it, although be warned the ones in geany-themes are individual contributions and do not seem to be maintained very well.

Or the flatpack creators could simply add the colour schemes in the flatpack.

And remember the Geany project itself does not create the flatpacks and can't help with that.

AtomicRobotMan0101 commented 5 months ago

For others who may stumble upon this, attached is a silly little script I made to automate the process.

For one-off ill-remembered esoterica, I often have these in directory called /Linux_software and it saves me remembering anything :)

Simply create a directory called colorschemes and run the file.

#!/bin/bash
##############################
#
# GEANY - colour schemes add
# 4 May 2024
# Ver 1.0.0
#
##############################

# https://github.com/geany/geany-themes
# https://www.geany.org/download/themes/
# put them in colorschemes/ (note USA spelling)

sudo cp colorschemes/*.conf /var/lib/flatpak/app/org.geany.Geany/current/active/files/share/geany/colorschemes
AtomicRobotMan0101 commented 5 months ago

Can a flatpack access the internet?

Chrome is a Flatpak, so the answer must be yes, at some level.

I was thinking of whether a flatpak can access the local filesystem, or whether it is all sandboxed/VM'd up....

(I love Geany, but dont have the skills to do this work)

eht16 commented 5 months ago

Why do you use Geany as Flatpak at all? I don't understand why users go this way and then wonder why things won't work.

This issue is clearly caused by the Flatpak package and should be reported to the maintainers of this package - whoever this is, it is very well hidden on FlatHub and falsely marked as "by Geany Team".

AtomicRobotMan0101 commented 5 months ago

@eht16 be polite. I did the groundwork beforehand. The archive sure does look official - https://flathub.org/apps/org.geany.Geany

Thanks for letting me know the Flatpak isn't official.

I'll report it there and ask the Flatpak team what the process is to ensure it isn't being passed off.

edit - https://github.com/flathub/org.geany.Geany

elextr commented 5 months ago

@AtomicRobotMan0101 since you mentioned LM maybe you should read their blog on the topic of flatpack verifications, its a ways down but there is no direct link AFAICT. Note that (at least on the website) the "Geany team" on the Geany flatpack is marked " :warning: Unverified ".

AtomicRobotMan0101 commented 5 months ago

Thank you @elextr

I'm have to admit that previously I thought, now I realise naively, that Flatpaks were pretty excellent.

Now they seem very un-excellent. In fact, they seem like an absolutely astounding security risk.

For example, when I pointed out the fact another user was maintaining your flatpak repo with the bullshit "by" notation, the FP team gave me a very polite, but definite, "fuck off".

Well! Clutch my pearls!

Now after reading that most excellent blog post you suggested, it seems the Flatpak team have created a monster. Not only do they ignore the protestations of official Github project devs, but they dismiss reports from users. It is opaque and as trustworthy as a Wall-Street Banker.

Keep up the good work Team Geany. Its a ripper project!

eht16 commented 5 months ago

@eht16 be polite. I did the groundwork beforehand. The archive sure does look official - https://flathub.org/apps/org.geany.Geany

My post wasn't meant to sound that rude, sorry for that. But I guess you got my point.

Probably not necessary to say after your last post (https://github.com/geany/geany-themes/issues/47#issuecomment-2094799789) but apart from the political issues, there is probably less to no benefit from a technical point of view to use Geany as Flatpak for most users.

So, as long as there is no real indication or reason to use a Flatpak, I'd say you are better and easier when using Geany as a normal, native application.

elextr commented 5 months ago

I am not an expert, but my understanding is that technically there is not much wrong with the flatpack format if a project depends on bleeding edge components but wants to run on an older OS, it can contain/download the newer parts it needs without overwriting the original versions on the OS, for example its an LLVM project and because LLVM changes its API regularly its users are tied to specific versions. So a project flatpack can set the version of LLVM it needs, and if that version of LLVM is not available on the target system it will be installed in a sandbox just for that application.

As a consequence of the isolation flatpack can also provide sandboxing of applications so users can be assured that applications cannot do things they do not expect (see for example the recent XZ compression code doing network spying).

But neither of those use-cases apply to applications like Geany, it is pretty lenient in its dependencies (plugins maybe less so) and its inherent that an IDE does dangerous things like writing files, and running dangerous code (like stuff I wrote :grin:) so sandboxing will break at least some of its functionality, or of plugins that might need more capabilities, eg network access.

So as @eht16 says, flatpacks don't give any technical advantages for Geany.

One thing it might do is make newer versions available on long term stable distros. So project created flatpacks might be useful, but the process of creating flatpacks of Geany seems to be complex, or at least previous people who tried have not been able to contribute an appropriately automated build process so far. The Geany project does not have the resources to do it itself or support it or to add any effort to releases, it has to be automated and work correctly and reliably.

The real problem is anonymous internet sources of flatpacks, like flathub, or Ubuntu private repositories or ... etc. That has always been the problem for any format when posted online, it happened on Sourceforge decades ago, spyware was added to software there. Sorry I don't have a solution to that or I would retire a billionaire, just be careful.