this post was submitted on 26 Oct 2023
138 points (96.0% liked)
Linux
46734 readers
1614 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I would say it is customizable, but I think it is relatively difficult to customize compared to a lot of other editors (e.g. Emacs). I think Geany is a nice, free/libre alternative to VSCode, and about as difficult to customize as VSCode, but does not have quite as many extensions available for it due to the fact that unlike VSCode, Geany is not supported by a multi-billion dollar company with the goal of embracing, extending, and extinguishing all other competing editors.
Geany Extensions are written in C which is not a scripting language and so unlike in Emacs you can't just write a quick 2 or 3 line script like you would in Emacs to solve some unique text-editing problem.
Geany does have extensions for Python and Lua scripting, but there is almost no ecosystem of Lua or Python scripts, and trying to access the editor features from Lua or Python requires deep knowledge of the Geany Gtk3 API. Compare this to something like the "Lite" text editor which has the whole user interface written in Lua, and therefore you can write fairly elaborate text editing scripts and user interfaces entirely in Lua. You just cannot do this with Geany.
In what world is Vscode not customizable? I guess the overall UI structure is fairly static but you can move bits left to right, hide and show stuff, colour themes, set your own shortcuts etc
When I think of "easy to customize," I am thinking about Emacs in particular, but really any editor that includes a scripting engine which is used to program the entire editor user interface.
With editors like VSCode or Geany that I would say are "hard to customize," you can't just write a snippet of TypeScript or C++ into a file which you can just run right there in the editor process. You can write extensions in TypeScript, but they have to be properly compiled, linked against the editor libraries, and properly installed with a manifest and everything, in order to write your own code that runs in a way that modifies the editor's behavior. That or you have to run your TypeScript code as a text filter in an external Node.js process.
Geany does have Lua and Python scripting engines as extensions, but you have to understand the Geany API pretty well in order to do anything elaborate, it was never really designed for people to be able to script the entire GUI or define their own whole unique workflows.
With Emacs, or any scriptable text editor, you just write a few lines of code and run it (even without saving a file), and the code actually alters the state of the editor itself. While you could write an entire app, like a Matrix or Mastodon client, as you would like a VSCode or Geany extension, you can also easily write a few lines of code to do any random thing at all. You can write code to suit any workflow imaginable, no matter how ridiculous: code that changes the color theme of the whole editor at certain times of the day, or code that opens certain kinds of files always in 3 separate windows, each window scrolled to a particular section of the file. You can run processes or alter the filesystem or transform entire batches of files in response to any event.
And you can do all of this without compiling or installing extensions of any kind, and often with no more than a dozen lines of code. There are no limitations. This is what I consider to be "easily customizable."
Every time I read about emacs it sounds really cool. I have tried a few times to sit down and get myself into it but I can never get past the initial learning curve.
I think a word like "easy" is the wrong choice when you consider the large amount of perquisite knowledge needed to "write a few lines of code to do any random thing at all". My impression from reading what its users say, is that it is elegantly and endlessly customizable. If you have the foundational knowledge already. But when you consider what is required to obtain that position, "easy" is not how I would describe it.
But then, out of all the people who probably could use it, it seems that very few of them do. I cannot have any insight on why that is.
these are examples some of some fair criticism of geany
Honestly the best alternative to VScode is VSCodium
Man it would be killer if someone made an adapter to run vscode extensions in Geany
Geany would need to have support for VSX. That could happen, but I'm sure that it wouldn't be a small project.