One of my major objectives for setting up Arch Linux was to get into KDE development and learn some bits about how Linux works. That and the fact that I had an old Lenovo Ideapad Z500 2013 lying around. This is an account of my experiences doing the same, the issues I faced and possibly someone could face in the future.
The first time ever I got to setup Arch Linux was using this install script provided by picodotdev. Here is the GitHub link: https://github.com/picodotdev/alis.
The installation is quite straightforward:
- Download the Arch installer ISO image from here: https://www.archlinux.org/download/
- Make a bootable USB and boot from it. An easy tool do this job is Etcher, and its available for Windows, Mac and Linux.
- Here are the installation instructions in the repo (Won’t take too long to read): https://github.com/picodotdev/alis#installation
- Clone the repository once you enter the booted environment. Obviously, you need to make sure the system is connected to the internet before that. Once the repository is cloned, go ahead and edit
alis.confas per your requirements.
I decided to use zsh shell along with the powerlevel9k theme. I still get a bit of black on the arrow, but its fine.
So, right off the bat:
- Dolphin is a fantastic file manager, that serves most of the base use-cases for me.
- It also includes Git integration (works for base cases, if required).
- File and folder previews is a feature I missed in any other DE and is a useful feature for me.
- Extract context menu includes a useful option: Extract archive here, autodetect subfolder. Such a delight!
- Gwenview works fine for viewing pictures and performing basic image edits like crop, resize, flip etc. I don’t use my laptop for image viewing much though.
- Okular: Works fine for opening PDFs, ePubs and to my surprise, Markdown. Although rendering could be definitely improved.
- VLC: The media player that will play almost anything you throw at it.
- VSCodium: A fork of VS Code, without telemetry. A nice editor to work with. I use it for writing Rust and managing my blog site. Comes with Git integration and markdown viewer.
Here are some points where I was stuck, and it took me a while to figure things out:
- Latte Dock and Active-Window-Control plasmoid have certain settings in common, and Latte Dock overrides settings at Logout. Specifically, I got stuck on the removing the titlebar of maximized windows. The setting was always changed after I logged out of my system. And then, I found this from Latte Dock’s FAQ.
1 2 3 4 5 6 7 Q: Latte v0.8 deactivates Borderless Maximized Windows from Active Window Control plasmoid, what can I do ? A: Latte v0.8 supports BorderLess Maximized Windows per layout simultaneously. In order for this to work it had to support that feature internally. You can try the following: Disable BorderLess Maximized Windows from "Active Window Control" Go to Latte Settings -> Layouts -> Choose tab (Preferences) and enable "Support borderless maximized windows in different layouts" Return to your layouts and a new column called "Borderless" must have been added, add a check mark in that column for the layout you want that feature and click Apply
It would be nice if either the plasmoid or Latte Dock could give a warning that there may be conflicting settings from the other program. Or better still, Latte Dock could enable the borderless maximized windows in current layout if it has been enabled in KWin already. After all, even if a person didn’t configure borderless maximized windows in Latte Dock layout, but it was done already in KWin from somewhere else, stands to reason that the user indeed wants a borderless maximized layout, don’t they?
- Configuring the “Win” key as shortcut to open Application Menu or Application Dashboard. This was a problem I wasn’t expecting to have with KDE 5.17+ versions.
- File copying on USB drives. File copy is ridiculously slow. It took 4 minutes to copy a 1.5GB file from my SSD to USB 3.0 drive. Not entirely sure whose fault is that - KDE or Linux.
- Root applications can’t display global menus - a deliberate design flaw that exists for security reasons, in almost all global menu implementations.