Then, yes, the big categories for work environments come in:
- docked or not
- light or dark
I have a few more points:
1. automatic updates. If git is installed on the target pc, this would be absolutely trivial. Even in a pre existing lazarus directory you can do:
git -C LazarusDir init
git -C LazarusDir remote add origin https://gitlab.com/freepascal.org/lazarus/lazarus.git
git -C LazarusDir fetch -v --all
git -C LazarusDir reset --hard tags/lazarus_3_6 # or whatever version you want
git -C LazarusDir checkout tags/lazaurs_3_6
Then just do a clean rebuild and you have updated Lazarus. The list of tags (and thereby versions) can be easily fetched from the gitlab API. To get all the lazarus versions available in order just run
curl https://gitlab.com/api/v4/projects/28419588/repository/tags 2> /dev/null | grep -oP 'lazarus_\d+_\d+(_\d+|_RC_\d+)?' | sort -r
And if I can do it with bash, it should certainly be possible in Pascal.
2. Missing is an easy userscheme browser. Because the standard editor scheme is so color less it's depression inducing. I built my userschemes some time ago manually and sync them across my devices with nextcloud, again look at most other editors, just google intellij or VSCode, click on images and see how colorful these editors are (case in point, first image of intellij that came up that showed code:
https://www.jetbrains.com/idea/features/screenshots/java-and-kotlin-support-2.png)
And 3. the lack of automatic dependency fetching. When opening up a project that uses BGRA Bitmap on my clean new lazarus I don't want to get scremead at that it can't find certain units and packages, I want a pop up message: This project requires BGRABitmap, do you want to download and install the required packages?
For this post I just downloaded one of the BGRA demo projects and tried to open it. I get flooded by 8 error messages, with a loud sound big error icon, I have to click away one by one, thinking everythings broken now, and the best thing, if I would be a beginner, panic and close Lazarus, it remembers the last project, and I get flooded with 8 error messages every single time I open the IDE, thinking I permanently broke Lazarus.
The first one has on been addressed. Users do get ask on first start.
So that is solved, or well, no it is not. It will all depend, will it lead to new users that will become contributors and help us maintain it? Because if it does not, then it may backfire big time.
I can see roughly the following scenarios
- It brings in new contributors, they help maintain it. It will be good.
- Or the additional work required will mean...
- It isn't well maintained, it does not work well, those who would have turned away when it wasn't advertised will still turn away. And additionally those who would have used undocked, but decided to go for docked because it was advertised will also be disappointed. We loose more that we would have lost without.
- It is maintained by the current team, and other important fixes wont happen. Also not good.
The user gets asked in the beginning, but I would still argue that the default configuration is very lacking. There is no project window in the default docked layout. As I posted in the video in the last thread of my Lazarus setup, the first thing I have to do is to add the project inspector window together with some more debugging windows.
And the Project Inspector is absolutely essential. I do not know a sinlge IDE where the Project Window or File Tree (depending on the kind of editor) is not in there by default. Visual Studio, Eclipse, VSCode, IntelliJ, like all the Editors I have used for the past 20 years have this as default. I even looked up a screenshot of rad studio and they have the project inspector in there.
The other stuff is more debatable, for example why is the local variables debug window not in there by default, or on Linux the console output? Those are more "niche" applications, but the Project/File tree is absolutely essential.
Also, there are still a few kinks to be ironed out, e.g. when switching between monitors of different DPI scaling, subwindows to the right of the editor can be initialized with a size of 0, making them inaccessible, and can only be retrieved again by not touching anything (so the config is not rewritten to make it permanent for this resolution), but to close Lazarus immediately, reset the DPI scaling to the value where it worked correctly, open lazarus again, increase the size of the windows, close lazarus, reset dpi scaling to what's desired and then use them again.
This dance takes around 5 minutes every time I hook my laptop up to my 4k monitor, it's fun :j
With respect to maintainers, it's probably also people using. I can tell so far. WIthout docking, I would have stopped using Lazarus and Pascal probably years ago. I need all the windows always in the same place and same sizes. Floating windows that can be overlapping is completely unusable for me. Granted I'm not neurotypical, so I may have different requirements for my editors than others, but after all lazarus and fpc are just tools for me. If I can't make myself comfortable with them I won't be using them. With dark mode and Docking Lazarus is great, but without I'd probably be gone by now.
And on Windows that also sums up the dark theme. (Which currently is 3rd party / So maintained by contributor. Good. But then can't be pre-installed)
Yes and no. I mean independently that one could ask zamtmn if they want to contribute the code to the Lazarus project (after all theyre quite an active member in this forum iirc), but also there is nothing stopping lazarus from popping up a window on first start informing the user about this third party package and help them install it if they agree to.
This is wrong. It does not prevent visual fatigue.
Unless you have some rare medical condition. (Yes it be good to have support for people with those conditions, as would it be to support people relaying on screen readers, and other tools for special needs / Actually that should be way more important)
A dark background means your eyes need to work much harder to focus. If you look at a lighter (not an overly bright / see below) image, your eye's pupils will contract. That means that the range of distance in which things are in focus will be larger. Your lens does not need to be adjust as exact as in front of a darker image. And your eye's muscles will have less work if they don't constantly need to adjust.
However, in order for a light theme to work, your entire workplace must be correctly setup.
- Your monitor must likely be tuned down to a less bright mode (a lot of monitors come in some "movie mode" that is ultra bright). Most better monitors have presets. But otherwise brightness and contrast can be used.
- Your room must be well lit, so your eyes also react to the surrounding light, and your pupils contract.
- The room lightning must be set up, so it does not cause reflection of your screen.
- Ideally your screen does not have a glaring surface. It should be for work, not for entertainment. (After all, if you spend enough time in front of it, to even have to consider fatigue, then its worth it).
If you have been using dark mode for long, you need to give your brain a few days to adjust.
Dark mode can help if you have issues falling asleep after having been on the computer late in the evening. Suggestions about reducing just the blue channel may or may not work...
Just quickly, because this comes up very often, there have been tons of claims and a lot of research into that topic and the conclusion is, neither light nor dark mode has any real medical or technological menefits, it's just a matter of taste, simple as that.
That said when I say taste, I don't necessarily mean subjective taste, because taste as everything is of course a result of a lot of things. In software design it has pretty much established itself that dark theme means "pro-environment". There is no objective benefit of dark theme, but it's culturually reinforced that it's not some random subjective taste anymore, but just some form of common oppinion. And most programming environments come in a dark theme by default, or at least switch to the theme the user has chosen on their machine. Note that this is exactly also the reason why MS office, even tho it has a dark theme, does not use it by default, because MSOffice wants to seem casual friendly. Like someone working all day with Excel sheets and writing cell formulas to have afully automated spreadsheet is as much a programmer as a hardcore C crack writing code in Emacs in their tmux session, but they don't think of themselves as that, so the design of the app reflects that.
The other thing is that bright theme was the default until like 10 years ago. So when you see an editor which does not have an option for dark theme at least on setup, it just looks dated. Not because dark theme is any better by any objective metric, but just because it's not doing what all the other editors are doing for the past decade. Thats just how humans see things. If something is different from the rest, it's usually interpreted as something being off, and not in a good way. Yes it's not rational, but humans aren't rational.