The officially official Devuan Forum!

You are not logged in.

#1 Re: DIY » A Survey of User-made Content » Today 13:26:30

well, technically in the keybinds overrides you could do something like this:

     │ ! keybind overrides
     │ UXTerm*VT100.Translations: #override \
     │     Prior <KeyPress>:scroll-back(1,halfpage) \n\
     │     Next <KeyPress>:scroll-forw(1,halfpage) \n\
     │     Shift <KeyPress> Insert: insert-selection(CLIPBOARD) \
     │     Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \
     │     Ctrl Shift <Key>C:    copy-selection(CLIPBOARD) \

which would work and make the xterm buffer scroll up and down with just the next and prior key, but that is going to cause problems with the tui programs like vim that map functions to the next and prior keys, say in vim instead of scrolling in the vim buffer you'll scroll the xterm buffer which will also show terminal history... and that is without mentioning that you have to unmap the default xterm keybinds that add the half page scroll function cuz otherwise you just duplicated the same function without a keychord for a worse user experience...

    ! xterm default keybinds, see full list with man xterm
        Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\
        Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\

#2 Re: DIY » A Survey of User-made Content » Today 04:46:24

ah, that is configuring xterm through command line, i configure xterm through xresources.

i got this file structure for my x11 related configs

  [$HOME/.config/x11/]
 ├──  dynamset*
 ├──  xinitrc*
 ├──  xprofile*
 ├──  xresources
 └──  Xresources.d/
    ├──  colors
    ├──  nsxiv
    ├──  nsxiv-colors
    └──  xterm

the file .Xdefaults is just a symlink to the xresources file inside .config/x11

[ ed  Pro  ~ ] namei  .Xdefaults
f: .Xdefaults
 l .Xdefaults -> .config/x11/xresources

with these contents:

 
  File │  .Xdefaults
───────────────────────────────────────────────────────────────────────────
     1 │ !*dpmsEnabled:         False
     2 │ Xcursor.theme: breeze-pywal
     3 │ Xft.antialias: 1
     4 │ !Xft.dpi:      96.1025390625
     5 │ Xft.dpi:  86
     6 │ Xft.hinting:   1
     7 │ Xft.hintstyle: hintslight
     8 │ Xft.lcdfilter: lcddefault
     9 │ Xft.rgba:      rgb
    10 │
    11 │ #include "Xresources.d/xterm"
    12 │ #include "Xresources.d/colors"
    13 │ #include "Xresources.d/nsxiv"
    14 │ #include "Xresources.d/nsxiv-colors" 

that is because my color definitions are generated by a script

my actual xterm config is this:

 
  File │  .config/x11/Xresources.d/xterm  
─────────────────────────────────────────────────────────────────────
     1 │ ! text font
     2 │ UXTerm*faceName: BlexMono Nerd Font Mono:size=9
     3 │ UXTerm.vt100.scaleHeight: 1.0
     4 │ ! Unreadable
     5 │ UXTerm*faceSize1: 3
     6 │ ! Tiny:
     7 │ UXTerm*faceSize2: 6
     8 │ ! Small:
     9 │ UXTerm*faceSize3: 10
    10 │ ! Medium:
    11 │ UXTerm*faceSize4: 12
    12 │ ! Large:
    13 │ UXTerm*faceSize5: 15
    14 │ ! Huge:
    15 │ UXTerm*faceSize6: 18
    16 │ ! Enormous:
    17 │ UXTerm*faceSize7: 24
    18 │ ! do not compare bold to normal font
    19 │ UXTerm*freeBoldBox: true
    20 │ ! set term name
    21 │ UXTerm.termName:xterm-256color
    22 │ ! set saved lines
    23 │ UXTerm*saveLines: 999999
    24 │ ! double-click to select whole URLs :D
    25 │ UXTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48
    26 │ ! Allow sixel graphics. (Try: "convert -colors 16 foo.jpg sixel:-").
    27 │ UXTerm*decTerminalID : vt340
    28 │ UXTerm*eightBitInput: false
    29 │ UXTerm.vt100.internalBorder: 2
    30 │ UXTerm*jumpScroll:      true
    31 │ UXTerm*multiScroll:     true
    32 │ UXTerm*alternateScroll: true
    33 │ ! ops
    34 │ UXTerm*.vt100.allowTitleOps: true
    35 │ UXTerm*.vt100.allowFontOpts: true
    36 │ UXTerm*.vt100.allowWindowOps: true
    37 │ ! cursor
    38 │ UXTerm*selectToClipboard: true
    39 │ ! select without mouse
    40 │ UXTerm*printerCommand: sh -c 'xterm-copyout <&3' 3<&0
    41 │ ! print with ansi colors
    42 │ UXTerm*printAttributes: 2
    43 │ ! keybind overrides
    44 │ UXTerm*VT100.Translations: #override \
    45 │     Ctrl <Key>slash: print-everything() \
    46 │     Ctrl <Key> -: smaller-vt-font() \
    47 │     Ctrl <Key> +: larger-vt-font() \
    48 │     Ctrl <Key> 0: set-vt-font(d) \
    49 │     Shift Ctrl <Key>T: spawn-new-terminal() \
    50 │     <BtnUp>:select-end(SELECT, CUT_BUFFER0, PRIMARY) \
    51 │     Ctrl Shift <Key>H: set-altscreen(toggle) \
    52 │     Shift <KeyPress> Home : scroll-to(begin) \
    53 │     Shift <KeyPress> End  : scroll-to(end) \
    54 │     Shift <KeyPress> Insert: insert-selection(CLIPBOARD) \
    55 │     Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \
    56 │     Ctrl Shift <Key>C:    copy-selection(CLIPBOARD) \

yes, i do use uxterm rather than xterm, tho that is because the command i actually use to start a terminal is x-terminal-emulator, which is symlinked to the xterm lxterm (locale xterm) which detects the locale charmap, in my case UTF-8, and calls the uxterm wrapper script

#3 Re: Documentation » HOW TO: Install XLibre on Devuan » 2025-08-31 18:05:49

any specific feature that makes it a "worth installing right now" over waiting for it to be added onto either debian or devuan experimental for your daily driver? cuz for testing environments and providing feedback onto the project i do consider an install now if you can spare a "testing machine"

#4 Re: DIY » A Survey of User-made Content » 2025-08-31 07:25:17

eh, well tmux does have a copy mode to copy any arbitrary text from the terminal buffer with just the keyboard alone and can use vim keys for movement, hence why i wrote the script to use tmux and optionally work without tmux.

as far as the terminal goes, that is up to preference for the user, personally i like ancient old xterm against all nice modern terminals that sport the bells and whistles out front, xterm does have the option to enable scrollbar but i do not use that one, however being able to copy text with the keyboard alone is a nice thing to have, for which i cobbled this script to extend the functionality of xterm so that i can get a new xterm (xterm with xterm) running an fzf instance that shows a dump of the whole xterm history buffer, thanks to fzf the lines are searchable by content and multiple lines can be selected, upon pressing enter every selected line is copied into the clipboard, so eh it may not be the fancier thing but the functionality is nice https://github.com/eylles/xterm-copyout

#5 Re: DIY » A Survey of User-made Content » 2025-08-31 01:25:31

well, more shell slop crudely typed by my hands, this time a handful of scripts that aim to wrap neovim and a terminal emulator into a makeshift gnvim program to better integrate with GUI programs and desktop environments

https://github.com/eylles/xterm-nvim

will try to create a .deb package for it tho.

#6 Re: Other Issues » amd64-microcode update for transient scheduler attacks » 2025-08-31 01:22:51

if i'm not mistake that is a firmware update, either your need to wait until your board vendor releases an update and install manually, or wait a while and check if it is going to be added to the LVFS database to update with fwupd, mind you not all OEM vendors upload every firmware and microcode updates to LVFS nor upload them in a short time from releaseing the updates, could be anything from days to even a year it all depends on how well the vendor, in this case AMD supports the Linux Vendor Firmware Service.

in my experience the support is not great not terrible, in a couple of ocassions i've had firmware updates for my HP ProBook 445 G7 that runs on an AMD ryzen 7 4700U installable via fwupd, for many others however i've had to install the updates from HP via the uefi update menu

https://wiki.debian.org/Firmware/Updates

#7 Re: Off-topic » Opinions about keypassXC » 2025-08-26 23:54:04

Anyway, more on topic, password management really has got me thinking for a while that there is not a real "good" generic way to do password management on a unix like environment, seeing all the threads about complains on password managers like keepass, local secre/password access stuff via gnome-keyring-daemon, and browser/mobile password management where the only good solution is bitwarden as you can host your own server and there are at least 3 implementations of the bitwarden server, not to mention the need for OTP codes and all the problems that the gnome-authenticator package had at one point being removed from testing and how difficult it was for the maintainers to package the newer version of the project after it was rewritten from scratch in rust because the rust model of managing it's own dependencies with cargo has a lot of friction with how packages are built in debian...

All that to say, i've been thinking of looking into writing a set of programs for addressing that madness:

  • password-keyring-daemon: a daemon to replace the secret store functionality of the gnome-keyring-daemon,will however not provide d-bus functionality by default, all the actual storing of secrets and passwords would be done with pass as a pluggable backend, so whoever doesn't like pass can roll his own password manager and backend wrapper to be used with this daemon.

  • password-keyring-daemon-dbus-plugin: an optional plugin for said daemon to add the d-bus functionality for those who need it, this would include the org.freedesktop.secrets portal interface.

  • password-bw-imexporter: a plugin to import-export to/from bitwarden, would use a config file to set the bitwarden server and account credentials so users can still self host bitwarden, the idea is to allow the daemon to fetch the passwords csv, merge with the local password store through the backend and then get a merged csv from the backend to export onto the bitwarden server, this would be one of the pieces of this whole set with network access to sync the password stores.

  • password-keyring-favicon-fetcher: just a "dumb" program to fetch the favicons, the second program of this set to have net code and would serve to prevent the need of net access in the other programs.

  • password-keyring-authenticator-lib: a library to handle all the OTP stuff, not something that would directly be called by the daemon.

  • password-keyring-authenticator: a gui program to manage OTP authentication, be it just copy the OTP code to clipboard or add a new authentication entry be it by qr code image or a token.

  • password-keyring-manager-lib: a thin client library to retrieve passwords from the password-keyring daemon, to be used by a gui program.

  • password-keyring-manager: a gui program to actually manage the locally stored passwords, if the favicon fetcher is present it will show favicons, if the bw-imexporter is present will sync the password store on start and upon changes.

consider those names as placeholders, and for the actual development i would probably use python to have a fast development cycle as besides the very core daemon none of the other programs are "performance critical" to NEED be written in C, and even then re-writing the daemon in C would be something to consider for the time when everything else is working good enouhg..

Tho i got no timeframe whatsoever to do any of this, nor it is for sure i will with my history of starting cobbling together daemons and other programs then taking forever to add basic features...

#8 Re: Off-topic » Opinions about keypassXC » 2025-08-26 21:03:39

i once tried to compile and package newer versions of both imlib and libconfig, autohell really is without a doubt the single bad piece of software created by the gnu project, successful compilation may as well depend on the planets aligning with your zodiac sign.

#9 DIY » afreq.sh a small daemon to auto adjust cpu frequency » 2025-08-22 03:58:15

EDX-0
Replies: 0

it is a small(er) alternative to tools like auto-cpufreq, it is written purely on shell script for added masochism.

https://github.com/eylles/afreq.sh

it does apply some battery optimizations when running on battery, tho does not work with the p_state driver for either amd or intel but will work nice enough for anything else, i hope...

feedback is welcome

#11 Re: Off-topic » Why writing init scripts was so scary and people needed systemd for? » 2025-08-17 04:28:41

if you don't like where linux is headed then write software to help prevent that path or at the very least keep the existing path running

#12 Re: Off-topic » Why writing init scripts was so scary and people needed systemd for? » 2025-08-16 04:19:45

worth noting tho, that my critcism in that post is to the way that service definition is implemented in systemd, there's a huge lot to pick on about systemd and criticize the ideas and execution, however the IDEA of defining a service in a simple key=val file that contains commands, arguments and other config parameters for starting a daemon is not inherently bad, and is a simple paradigm so long as there's a layer that can guarantee good abstraction and provide a system by which the service definition can be tweaked

and fun as it turns out, a similar paradigm not only exists, but was rolled out before systemd and as it happens it was based on shell script and works better than the systemd units paradigm

enter the "init-d-script" a generic initscript framework that tackles the most common service type, the daemon, you can check it now in /lib/init/init-d-script and not only does it have the mechanisms to handle bad behaved daemons (daemons that do not background themselves, do not create a pidfile and/or do not delete their pidfile upon termination) but even provides the ability to add overrides for the start, stop and status commands, allowing for supporting not just daemons but also oneshot services

and all that while still maintaining full compatibility with the lsb spec and keeping the script easy to debug

not to mention that a minimal init-d-script can look like this:

#!/bin/sh

# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi

### BEGIN INIT INFO
# Provides:       acpufreq
# Required-Start: $remote_fs
# Required-Stop:  $remote_fs
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    acpufreq - Auto CPU Frequency Daemon
### END INIT INFO

DESC="acpufreq"
DAEMON=/usr/local/sbin/afreq
PIDFILE=/var/run/acpufreq.pid
START_ARGS="--user root --chuid root --background --pidfile ${PIDFILE} --make-pidfile"
STOP_ARGS="--user root --pidfile ${PIDFILE} --remove-pidfile"

which at a high level comes out not any more complex than a sytemd unit file...

but oh the horrors of shell script like this were too many and systemd had to save the world from the opressive tyranny of shell...

#13 Re: Off-topic » Why writing init scripts was so scary and people needed systemd for? » 2025-08-16 00:01:57

the madness of initscripts was/is that they allow for daemons to have subpar behaviour that is abstracted from the init system, and systemd was "sold" as the solution as it could handle some of those badly behaved daemons that needed complex initscripts which were "hard to debug", but developers managed to defeat that idea and re-invent initscripts in a worse language. here's an extract from a conversation i had on this a while ago, should probably put it in my github along other stuff from my vimwiki or use some static site generator to make a blog of sorts

in the unix world we have services and daemons, while many equate "services" with running a web server (or ftp server, or ssh server) of some sort, a "service" in the unix world is not a web server, but just a process that is managed, started, stopped and maybe even monitored by another process.
a daemon is a "long running process", could be one that runs for as long as a user is logged in or for a long as the computer is on, but in spite of daemons mostly being services, they aren't always services, and services aren't always necessarely daemons
there are 2 basic types of services from which all others are but variations of:

daemon: the most basic type of service as it is just a daemon that will run, it can run for multiple runlevels or it can run for as long as a user is logged in, it has a process identification digit (PID), a PID file, it runs with the priviledges of some user, the PID file can be used to monitor the service.

oneshot: a process that will be ran and not linger nor have a PID, it will run, do something and then terminate, maybe with an exit status, whatever command is ran to "start" the service can have a "stop" counterpart, or not.

the "traditional" manner to handle that madness was with initscripts, which are nothing more than just shell scripts that can accept the "start", "stop", "status", "restart" and optionally the "reload" and "force-reload" arguments, the init system needs not to know how the initscript handles those as whatever madness and witchcraft is needed to get the service running is done in the initscript
most inits use the initscript or a similar paradigm of abstracting the sorcery from the init system

systemd has the units system, the paradigm is that the madness is not necessary to abstract from systemd and can be thrown into the multiple options of the systemd unit so long as the systemd unit options can handle said madness... the main options are:
ExecStartPre=
ExecStart=
ExecStartPost=
ExecStopPre=
ExecStop=
ExecStopPost=
ExecReloadPre=
ExecReload=
ExecReloadPost=

now there is nothing bad with those, systemd allows you to just write commands in there and it will evaluate said commands to run them
and then ya got stuff like this, because systemd had to allow multi line commands in some way, and what better and more natural way than to do so with shell style line breaks
ExecReload=busctl call org.freedesktop.DBus \
        /org/freedesktop/DBus org.freedesktop.DBus \
        ReloadConfig
until now there is nothing bad in how units are defined
but that applies for simple commands
the problem starts when people start to abuse the systemd units and treat them like a fully fledged shell-like scripting language just because the documentation says you can throw some madness into the unit file
and you wound up with systemd unit files which are over 50 lines long where at least 40 of those lines are some Exec*Pre/Exec*Post command that juggles values to and from tmp files...

at that point it is just re-inventing initscripts but with a way worse "scripting" language that only got support for a form of conditionals in version 243...
and then someone comes in with some sense to put all that madness of pre and post exec commands inside scripts...
which was what the paradigm that systemd was trying to prevent from happening in the first place because "initscripts are hard to debug" (if you don't know bash)

so the proper way would be to split the initscript to multiple scripts handling start, stop, restart etc. respectively and the define then unit using these scripts?

not really, the "proper" way would be that services should not need much wizardry to be started and stopped, but since that ain't happening... then the less bad way would be to have a (or multiple) script(s) to handle the madness needed by the service and then let both .service unit files and initscripts for whatever init needs them be "dumb" files that deal only with an abstracted and simple interface with a predictable behaviour

#14 Re: Installation » any way to obtain Excalibur ISO? » 2025-08-13 01:27:34

I'm not thrilled about changing sources.list

fair, kinda the reason why i wrote this script to add mirrors so i would never have to manually edit the sources list

https://github.com/eylles/devuan-script … mirrors.sh

mind you i have not updated it yet to reflect the current stable and testing suite names as devuan's excalibur suite is not yet the stable release, usually devuan lags weeks to months behind a debian release to make the next suite stable as it takes some time to not just refresh the patches from forked projects but also check that all the work done to keep systemd outside devuan works as intended even if testing is usable at the time (been using devuan testing on my main machine since late 2023)

you can use the script to update your sources list (add mirrors is always good), then upgrade, i have to eventually add support for the deb822 format for those that do want that it.

#15 Re: Freedom Hacks » How to Disable the New Apt Pager » 2025-08-10 23:41:57

Isn't the idea that 'apt' can change on a whim for the nice front end experience and 'apt-get', 'apt-cache' etc. are the proper stable commands (which I use)?

yes, apt-get is intended to be the stable APT interface intended to be used in scripts while apt is understood to be the interactive friendly and ever changing interface.

#17 Re: DIY » New Project, a simple music player. And now a video player!! » 2025-07-25 04:27:17

i liked your metadata viewer but did some modifications

#!/bin/sh

# Name: metaview
# Copyleft: greenjeans 2025, use as you see fit.
# This script when combined with a .desktop file, 
# is to give you a "view metadata" option for a given file 
# when you right click on audio/video files in the file manager.
# Depends: ffmpeg, yad, libimage-exiftool-perl

c=0
sep="_"
separator="$sep"
while [ "$c" -lt 80 ]; do
    separator="${separator}${sep}"
    c=$(( c + 1 ))
done

# basename? we don't need that!
filename="${1##*/}"

thumbnail="preview-file"

encode_thumbnail () {
    filepath=$(realpath "$1")
    # ah perl, what would we do without ya and what can we do with ya...
    perl -MURI::file -MDigest::MD5=md5_hex \
        -e 'printf "%s.png\n", md5_hex(URI::file->new(shift))' "$filepath"
}

find_thumbnail () {
    thumbdir="${XDG_CACHE_HOME:-$HOME/.cache}/thumbnails/normal"
    thumbpath=$(encode_thumbnail "$1")
    thumbpath="$thumbdir/$thumbpath"
    if [ -r "$thumbpath" ]; then
        thumbnail="$thumbpath"
    fi
}

find_thumbnail "$1"

# no idea if this will work on a multi-display setup
geometry=$(xdpyinfo | grep 'dimensions:' | cut -d' ' -f7)
w="${geometry%x*}"
h="${geometry#*x}"
w=$(( w - 400 ))
h=$(( h - 200 ))

{
  printf '\n---- %s ----\n' "Metadata for $filename"
  printf '\n%s\n\n' "$separator"
  printf '\n---- %s ----\n' "FFprobe"
  ffprobe -hide_banner "$1" 2>&1
  printf '\n%s\n\n' "$separator"
  exiftool -a -u -g1 "$1"
} | yad \
    --text-info --borders=10 --title="Metadata" --width="$w" --height="$h" \
    --center --window-icon=preview-file --image="$thumbnail" --margins=10 \
    --button=gtk-close:0

the changes are:
make the underline separators 80 columns wide
show the thumbnail of the file if it exists
make the window size depend on the display geometr

#18 Re: Other Issues » I seem to crash when I go to a certain website... » 2025-07-24 12:49:50

the way that things look anubis is the way forward to stop the uncountable number of web scraping bots without having to dump money onto cloudflare and prepend a captcha to every website, well that is unless those who don't like it stops saying "i hate this thing that wastes my cpu cycles and breaks 'The WEB'" and come up with a better solution

#20 Re: Other Issues » I seem to crash when I go to a certain website... » 2025-07-19 23:41:27

first of all to get this out of the way, anubis is not a bot but an implementation of the hashcash system for websites instead of e-mail https://en.wikipedia.org/wiki/Hashcash

that outta the way, could be that the version of anubis used by git.devuan.org is one of the versions that triggers a bug with the JS engine, similar to what was happening with the anubis author's blog (uses anubis from git main) causing Firefox v115-ESR to freeze some times, palemoon being a hard fork of older firefox is possible that it is hitting a similar if not the same bug on the JS engine that has existed in the codebase of firefox for who knows how long and only got fixed somewhere along firefox v116 to v120

that is if the bug was not something introduced either during the partial redesign of the js engine during palemoon v28.7 OR more recently in the js engine changes during v33.3

but that is just throwing ideas of what could it be out in the air not something really useful, i'd try to get some logs and report the bug upstream as the author does test on both firefox and palemoon, hell palemoon is even featured in a screenshot passing the anubis test

012.avif

#21 Re: Installation » Daedalus: why so many keyrings? » 2025-07-13 00:31:41

not every "keyring" is the same type, this stems from the miss labeling of keyring packages

the debian and devuan keyrings would be the "true" keyrings as those contains the keys to authenticate the packages in fact come from debian or devuan

the gnome keyring is misslabeled as it should be the gnome-keyring-daemon, what it does is store your passwords and secrets, provide the dbus interface so that other programs can use the passwords and secrets (so that for example upon login your browser does not ask for your local user password to unlock it's password store and allow you to login onto websites), it also implements the gpg and ssh agents to load the user keys and ask for passphrases only when needed, so for example if you are staging a commit with git and want to sign the commit with a gpg key, the gnome keyring daemon loads the key so that you don't need to enter the key's passphrase every time, then when you push that commit, if you do it through ssh the keyring daemon loads the ssh key so that you don't have to enter the passphrase for that one too

as for replacing the gnome keyring daemon with keepass, you need to install a plugin because that functionality is not part of the main keepassxc program, the pass passoword manager also has a similar plugin https://github.com/mdellweg/pass_secret_service

personally i use bitwarden as my password manager so the gnome keyring daemon is what integrates the best with my environment, if i was invested with either pass or keepassxc then i'd consider replacing functionality of the keyring daemon with plugins for either of those.

#22 Re: Desktop and Multimedia » XLibre: The New Xorg Fork » 2025-07-05 18:51:48

well, for the time being xorg on de**an is stable enough for daily driver, anyone who can spare a machine for building and testing xlibre should to submit feedback and issues onto the repo.

#23 Re: Off-topic » To shell or not to shell everything ? » 2025-07-02 23:29:53

yes, shed is pretty much a "per user session" sysvinit-like program, that is what i took as a base when i wrote it or well rather my understanding of how sysvinit works is what served as the base for shed tho that is the long term goal for now it is gearing more towards being a generic session process that can provide the debian x-session-manager spec, that is why i wrote about the problems with a fully shell script written service manager as with shed i am stuck in the refactoring purgatory planning multiple refactorings of various functions, a pair of interfaces, shared code and even the build system just so that the features from the todo list are painless to implement once i eventually get there...

#24 Re: Off-topic » To shell or not to shell everything ? » 2025-07-01 20:57:27

writing an init (or parts of an init), service supervision suite/system, or even an init-like daemon with it's client sounds like a good idea, shell even allows you to do some of the needed tasks trivially like gathering the pid of a process started with &, however once you face some of the less trivial and more complex tasks you start to stumble upon walls that you could not have seen purely from having a naive initial design/architecture for the driving daemon and then enter the refactoring purgatory where you can't just simply start refactoring code and changing program architecture but have to plan out every refactor and change so that later down the line when it is finally time to implement the feature no new roadblock will appear from thin air...

https://github.com/eylles/shed

#25 Re: Desktop and Multimedia » XLibre: The New Xorg Fork » 2025-06-23 19:05:48

now fedora of all distros has a proposal to ditch xorg for x11libre: https://fedoraproject.org/wiki/Changes/X11Libre

Board footer

Forum Software