Fediverse RSS
Fosstodon
If you prefer to follow my posts on Fosstodon via RSS, then here is the link: fosstodon.org/users/xgqt.rss.
If you prefer to follow my posts on Fosstodon via RSS, then here is the link: fosstodon.org/users/xgqt.rss.
Force web UI dark mode
1 |
--enable-features=WebUIDarkMode --force-dark-mode |
Accelerated video decoding and GPU support
1 |
--enable-accelerated-video-decode --enable-gpu
|
1 |
--enable-reader-mode |
Use the cache directory /run/user/1000/chrome/cache
1 |
--disk-cache-dir=${XDG_RUNTIME_DIR}/chrome/cache |
Sawn a window of size 1200x900
1 |
--window-size=1200,900 |
The file /etc/chromium/default
is sourced by the Chromium launcher, that's why we can sue bash syntax here.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/env bash # Dark interface # Force web UI dark mode CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --enable-features=WebUIDarkMode --force-dark-mode" # Hardware acceleration # Accelerated video decoding and GPU support CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --enable-accelerated-video-decode --enable-gpu" # Reader mode CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --enable-reader-mode" # Runtime cache # Use the cache directory /run/user/1000/chrome/cache CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --disk-cache-dir=${XDG_RUNTIME_DIR}/chrome/cache" # Window size # Sawn a window of size 1200x900 CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --window-size=1200,900" |
If you use www-client/chromium-bin
, then the config is located at /etc/chromium/default
and CHROMIUM_FLAGS
is CHROMIUM_BIN_FLAGS
.
Sometimes while the Emacs GUI window is tiled to a side or maximized small gaps may appear around the window. This "bug" can be worked around by:
Emacs daemon can help with that. But before you run emacs --daemon
, I need You to know that there might be a better way:
1 2 |
(unless (or noninteractive (server-running-p)) (server-start)) |
Adding the above to Your Emacs config will cause Emacs to start a daemon after it is opened (and no other Emacs servers are running), this also does not require --daemon
flag.
After the daemon is started You can open files by right-clicking on them and selecting to open them in "Emacsclient".
Furthermore: You also utilize --iconic
and add emacs --iconic
to your Plasma startup. This is way better than using emacs --daemon
because you can just click on your taskbar to open the minimized Emacs window. Also, Emacs will load all Your graphical libraries and configurations so Your theme will look properly and not as if Emacs was being used on the console.
Sadly I have not found any theme that would look like Plasma. I use the spacemacs theme which looks a little bit similar, especially the background color comes close to Breeze's dark background color.
Note that the theme which You load with the function load-theme
is a different thing that the GTK theme Emacs uses.
The GTK theme should be enabled if Your Emacs version is built with GTK support. On Gentoo this setting is controlled with the gtk
USE flag. Also the flag toolkit-scroll-bars
can be enabled for a look of scroll-bars consistent with the selected toolkit.
There is a different approach to theming Your Emacs that loading a theme defined in ELisp - You can use a ~/.Xresource
file.
If you do not load any theme in your configuration Emacs will by default read the .Xresources file, unless the --no-x-resources
flag is used.
Here are a few Xresources config files that come close to the default Breeze theme:
Emacs can be built with FreeDesktop's D-Bus support to communicate over the dbus protocol. This can come handy when using ERC as it has a setting to enable desktop notifications on mentions (erc-desktop-notifications.el).
The dbus interface can also be utilized to query desktop-oriented daemons, for example this library talks to the Bluetooth daemon.
Those are some ELisp libraries that I found while browsing GitHub, they might be useful for somebody who delves into KDE app development.
In addition to async-shell-command
and start-process-shell-command
I wrote this small library that may come handy.
Sadly the KDE team did not add support to emulate Emacs-like keys in Plasma itself, but some applications like, for example Kate have configuration options to customize the key bindings. This is a repository explaining how to setup Kate's bindings.
With this commit first GNU Emacs integration was merged into the pkgcheck repository.
Huge thanks to Sam James and Arthur Zamarin for support and interest in getting this feature done.
The Flycheck integration is unreleased as of now, this will (hopefully) change in the future, but for now You need live versions of snakeoil
, pkgcore
and pkgcheck
.
File: /etc/portage/package.accept_keywords/pkgcore.conf
1 2 3 |
dev-python/snakeoil ** sys-apps/pkgcore ** dev-util/pkgcheck ** |
Also You will need to unmask app-emacs/flycheck
and its dependencies.
File: /etc/portage/package.accept_keywords/emacs.conf
1 2 3 |
app-emacs/epl app-emacs/pkg-info app-emacs/flycheck |
Install pkgcheck with the emacs
USE flag enabled.
File: /etc/portage/package.use/pkgcore.conf
1 |
dev-util/pkgcheck emacs |
Afterwards run:
1 2 |
emerge -1av dev-python/snakeoil sys-apps/pkgcore dev-util/pkgcheck emerge -av --noreplace dev-util/pkgcheck |
Following is what I would suggest to put into your Emacs config file:
1 2 3 4 5 6 7 8 |
(require 'ebuild-mode) (require 'flycheck) (require 'flycheck-pkgcheck) (setq flycheck-pkgcheck-enable t) (add-hook 'ebuild-mode-hook 'flycheck-mode) (add-hook 'ebuild-mode-hook 'flycheck-pkgcheck-setup) |
If You are using use-package
:
1 2 3 4 5 6 7 8 9 10 11 |
(use-package flycheck :ensure nil) (use-package ebuild-mode :ensure nil :hook ((ebuild-mode . flycheck-mode))) (use-package flycheck-pkgcheck :ensure nil :custom ((flycheck-pkgcheck-enable t)) :hook ((ebuild-mode . flycheck-pkgcheck-setup))) |
The lines with :ensure nil
are there to prevent use-package
from trying to download the particular package from Elpa (because we use system packages for this configuration).
Instead of changing CSS style for Your Racket projects documentation, You may be interested in compiling Markdown files generated form Scribble source into HTML documentation website.
Create docs
directory and mkdocs.yml
config file in current directory, along with a dummy index.md
file in docs
folder.
1 |
mkdocs new . |
Edit the name of the project.
Replace Racket-Project
with your project name.
1 2 |
--- site_name: Racket-Project |
Generate markdown files form scribble documentation.
Replace Racket-Project.scrbl
with path to your scribble documentation main source file.
1 |
scribble --markdown --dest ./docs --dest-name index.md Racket-Project.scrbl |
Compile HTML documentation from the markdown source.
1 |
mkdocs build
|
HTML files should appear in the site
directory.
Some features, like search for example are only available when running the mkdocs server.
1 |
mkdocs serve
|
Some scribble functions do not look good or work correctly for markdown-to-HTML compilation by MkDocs.
table-of-contents
- looks like a source block
index-section
- letter links do not work
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
site_name: Racket-Ebuild site_author: xgqt@riseup.net site_description: library to ease ebuild creation site_url: https://gitlab.com/gentoo-racket/racket-ebuild repo_name: gentoo-racket/racket-ebuild repo_url: https://gitlab.com/gentoo-racket/racket-ebuild plugins: - search theme: name: material extra: social: - icon: fontawesome/brands/gitlab link: https://gitlab.com/gentoo-racket/racket-ebuild |
First using a needle or a toothpick click a button on the right side of the laptop (indicated by a bent arrow), this will start the machine up in BIOS selection menu where you choose the BIOS setup option.
Then, in the BIOS menu disable option to check laptop charge level while it is shut down. If not disabled it will interfere with key combination that has to be pressed while laptop is shut down. This can be turned back after the advanced BIOS menu is enabled.
After that "Exit saving changes" and shutdown.
I thought it was a joke at first but it really is true that a special combination of keys has to be pressed depending on the laptop model (while it is shut down).
For my laptop it is as follows:
1 2 3 |
F4 4 r f v F5 5 t g b F6 6 y h n |
File: /etc/systemd/system/APP.service
1 2 3 4 5 6 7 8 9 10 11 12 |
[Unit] Description=Run APP application [Service] Type=simple ExecStart=/usr/bin/LANG APP_DIR/APP APP_ARGS Restart=on-failure User=root WorkingDirectory=APP_DIR [Install] WantedBy=multi-user.target |
Also, the application might need to reference a PID file, let systemD know abut it via PIDFile
.
1 |
PIDFile=/tmp/APP.pid |
File: /etc/systemd/system/julia_dash_app.service
1 2 3 4 5 6 7 8 9 10 11 12 |
[Unit] Description=Run Julia Dash application [Service] Type=simple ExecStart=/usr/bin/julia /root/julia_dash_app/main.jl Restart=on-failure User=root WorkingDirectory=/root/julia_dash_app [Install] WantedBy=multi-user.target |