The Linux Thread - The Autist's OS of Choice

  • 🔧 At about Midnight EST I am going to completely fuck up the site trying to fix something.
Going full ricer with tint2 and a custom little RPG style day indicator that updates with the current time and weather.
2022-02-28-224237_116x190_scrot.png

Windows are for suckers.
 
Could you share how you did this? This the first I heard about indicator & I am sucker for pixel art stuff considering how much I enjoy dungeon fighter online.
tint2 let's you run custom commands and if the first line that it outputs is an image path, it will display that image.
So I took this sprite sheet I found (which motivated me to do this in the first place):
clock.png

And wrote a little script that creates a composite using ImageMagick:
Bash:
#!/bin/sh

#COORDS="51.507,-0.128" # London
COORDS="40.73,73.99" # NY


SUNS="160+144 160+160 160+176 160+192 160+208 160+224 16+144 16+160 16+176 16+192 16+208 16+224 64+144 64+160 64+176 64+192 64+208 64+224 112+144 112+160 112+176 112+192 112+208 112+224"
SKIES="160+256 160+272 160+288 160+304 160+320 160+336 16+256 16+272 16+288 16+304 16+320 16+336 64+256 64+272 64+288 64+304 64+320 64+336 112+256 112+272 112+288 112+304 112+320 112+336"

HOUR="$(expr $(date +%H) + 1)"

SUN="$(echo $SUNS | cut -d " " -f $HOUR)"
SKY="$(echo $SKIES | cut -d " " -f $HOUR)"

WEATHER="$(curl -s "https://api.weather.com/v3/wx/observations/current?apiKey=e1f10a1e78da46f5b10a1e78da96f525&geocode=$COORDS&units=m&language=en-US&format=json")"

RAINY="$(echo "$WEATHER" | grep -Po "(?<=precip1Hour\":)[^\.]+")"
CLOUDS="$(echo "$WEATHER" | grep -Po "(?<=cloudCoverPhrase\":\")[^\"]+")"
#snow1Hour
#echo "$WEATHER" | grep -Po "(?<=sunriseTimeUtc\":\")[^\"]+"
#echo "$WEATHER" | grep -Po "(?<=sunsetTimeUtc\":\")[^\"]+"
#TODO lightning, moon phases


dayRedNight() {
    if [ "$HOUR" -eq 7 ] || [ "$HOUR" -eq 18 ] || [ "$HOUR" -eq 19 ]; then
        printf "$2"
    elif [ $HOUR -gt 19 ] || [ $HOUR -lt 7 ]; then
        printf "$3"
    else
        printf "$1"
    fi
}
if [ "$CLOUDS" = "Clear" ]; then
    CLOUD=160+64
elif [ "$CLOUDS" = "Partly Cloudy" ]; then
    CLOUD=$(dayRedNight 0 32 64)+368
elif [ "$CLOUDS" = "Cloudy" ]; then
    CLOUD=$(dayRedNight 96 128 160)+368
elif [ "$CLOUDS" = "Mostly Cloudy" ]; then
    CLOUD=$(dayRedNight 0 32 64)+384
fi

if [ $RAINY -eq 0 ]; then
    RAIN=160+64
elif [ $RAINY -gt 0 ]; then
    if [ $HOUR -gt 19 ]; then
        RAIN=112+400
    else
        RAIN=80+400
    fi
# TODO HEAVY RAIN 16+400
fi

DIR="$(dirname "$0")"
DIR="$(cd "$DIR"; pwd)"

convert "$DIR/clock.png" -write mpr:src +delete \
    \( mpr:src -crop 32x16+$SKY \) \
    \( mpr:src -crop 32x16+32+16 \) \
    -composite \
    \( mpr:src -crop 32x16+$SUN \) \
    -composite \
    \( mpr:src -crop 32x16+$CLOUD \) \
    -composite \
    \( mpr:src -crop 32x16+$RAIN \) \
    -composite \
    +write "$DIR/tint-clock.png" null:

echo "$DIR/tint-clock.png"
 
Last edited:
tint2 let's you run custom commands and if the first line that it outputs is an image path, it will display that image.
So I took this sprite sheet I found (which motivated me to do this in the first place):
View attachment 3028931

And wrote a little script that creates a composite using ImageMagick:
Bash:
#!/bin/sh

#COORDS="51.507,-0.128" # London
COORDS="40.73,73.99" # NY


SUNS="160+144 160+160 160+176 160+192 160+208 160+224 16+144 16+160 16+176 16+192 16+208 16+224 64+144 64+160 64+176 64+192 64+208 64+224 112+144 112+160 112+176 112+192 112+208 112+224"
SKIES="160+256 160+272 160+288 160+304 160+320 160+336 16+256 16+272 16+288 16+304 16+320 16+336 64+256 64+272 64+288 64+304 64+320 64+336 112+256 112+272 112+288 112+304 112+320 112+336"

HOUR="$(expr $(date +%H) + 1)"

SUN="$(echo $SUNS | cut -d " " -f $HOUR)"
SKY="$(echo $SKIES | cut -d " " -f $HOUR)"

WEATHER="$(curl -s "https://api.weather.com/v3/wx/observations/current?apiKey=e1f10a1e78da46f5b10a1e78da96f525&geocode=$COORDS&units=m&language=en-US&format=json")"

RAINY="$(echo "$WEATHER" | grep -Po "(?<=precip1Hour\":)[^\.]+")"
CLOUDS="$(echo "$WEATHER" | grep -Po "(?<=cloudCoverPhrase\":\")[^\"]+")"
#snow1Hour
#echo "$WEATHER" | grep -Po "(?<=sunriseTimeUtc\":\")[^\"]+"
#echo "$WEATHER" | grep -Po "(?<=sunsetTimeUtc\":\")[^\"]+"
#TODO lightning, moon phases


dayRedNight() {
    if [ "$HOUR" -eq 7 ] || [ "$HOUR" -eq 18 ] || [ "$HOUR" -eq 19 ]; then
        printf "$2"
    elif [ $HOUR -gt 19 ] || [ $HOUR -lt 7 ]; then
        printf "$3"
    else
        printf "$1"
    fi
}
if [ "$CLOUDS" = "Clear" ]; then
    CLOUD=160+64
elif [ "$CLOUDS" = "Partly Cloudy" ]; then
    CLOUD=$(dayRedNight 0 32 64)+368
elif [ "$CLOUDS" = "Cloudy" ]; then
    CLOUD=$(dayRedNight 96 128 160)+368
elif [ "$CLOUDS" = "Mostly Cloudy" ]; then
    CLOUD=$(dayRedNight 0 32 64)+384
fi

if [ $RAINY -eq 0 ]; then
    RAIN=160+64
elif [ $RAINY -gt 0 ]; then
    if [ $HOUR -gt 19 ]; then
        RAIN=112+400
    else
        RAIN=80+400
    fi
# TODO HEAVY RAIN 16+400
fi

convert clock.png -write mpr:src +delete \
    \( mpr:src -crop 32x16+$SKY \) \
    \( mpr:src -crop 32x16+32+16 \) \
    -composite \
    \( mpr:src -crop 32x16+$SUN \) \
    -composite \
    \( mpr:src -crop 32x16+$CLOUD \) \
    -composite \
    \( mpr:src -crop 32x16+$RAIN \) \
    -composite \
    +write tint-clock.png null:

DIR="$(dirname "$0")"
DIR="$(cd "$DIR"; pwd)"
echo "$DIR/tint-clock.png"
This is pretty cool. I kind of want to see if I can make a decent pixel themed resource monitor out of this idea.
 
The Linux tubers I follow have started talking about i3 again lately, so I gave it a shot.

I can see why this gets so much praise; it just works fantastically as a tiler. It's more of a container-slash-re-parenting window manager with tiling functionality on the side. The stack and tab layouts are more useful than spirals and these other weird squeezebox layouts whose use cases baffle me. I've tried multiple drop-down/scratchpad functions and implementations, but i3 does it best. I tried getting an agnostic drop-down tool called tdrop to work in i3, but it wasn't wanting to work at all on BSPWM. Speaking of which, BSPWM has some of the worst documentation out there of all the manual tilers, and SpectrWM is even worse since the manpages are horribly out of sync with the actual configuration syntax. i3 and Xmonad are the only ones I've seen that have decent official, first-party documentation.
 
Last edited:
Is this a joke? If not, then you find that out at LowEndMac, the only useful Apple hardware resource.

View attachment 3033542


View attachment 3033543
It's over.
Disgusting
 

View attachment 3033542
But how far can she squirt? Nobody is asking relevant questions anymore.
 
How viable would be setting up a pure gaming gentoo machine be? Obviously it can be done

compared to a clean Arch+custom kernal I feel like I'd get 0.1 more FPS out of it even if I didn't mess anything up

I wish I had the free time for this lmao
 
Last edited:
  • Like
Reactions: Pushing Up Tiddies
compared to a clean Arch+custom kernal I feel like I'd get 0.1 more FPS out of it even if I didn't mess anything up

I wish I had the free time for this lmao
If you install gentoo with dwm you get a full OS that uses 50MB of RAM, the difference in speeds is significant given Arch is bloated as hell.
 
If you install gentoo with dwm you get a full OS that uses 50MB of RAM, the difference in speeds is significant given Arch is bloated as hell.
Never heard of dwm. Gotta check it out now when I get some free time. What's your thought on endeavour os & just using icewm at that point? Also what makes arch bloated?
 
Never heard of dwm. Gotta check it out now when I get some free time. What's your thought on endeavour os & just using icewm at that point? Also what makes arch bloated?
endeavour is manjaro but not shit. its just arch with yay and an installer that comes with pre-riced DE's and a tastey selection of them.

its pretty great, my gaming os of choice is Endeavor/Zen at the moment but plain arch/xanmod might be more fitting
 
  • Like
Reactions: Basil Julep

View attachment 3033542


View attachment 3033543
It's over.
She doesn’t code and she looks like she isn’t autistic enough to use a 2006 ThinkPad for Debian GNU/Hurd.

Can’t wait to see more corporate friendly GPL licensing.

Edit: she may use emacs after all...
Emacs shirt three quarter.jpg
 
Last edited:
Never heard of dwm. Gotta check it out now when I get some free time. What's your thought on endeavour os & just using icewm at that point? Also what makes arch bloated?
Never heard of endevour, I had heard of Antergos however (Which apparently endevour is the spiritual successor of). It has versions with window managers rather than desktop environments which I quite like but it has Arch as a base which I don't like.

I have honestly never used Icewm before but looking at its' documentation it seems pretty simple to config and it has a built-in panel. However given it's a floating window manager I probably wouldn't use it simply because I'm a slave to openbox. But hey, if you're looking to build a lightweight distro from scratch using a binary distro as a base knock yourself out.

As for why I believe Arch to be bloated it's simply because just like debian it's a binary distro with systemd and gnu utils pre-installed, which adds quite a bit to the resource usage in the background. I've legit never gotten an arch install with less than 128 MB of RAM usage, the least I've gotten is around 250 with dwm installed, which is quite bad in my eyes given I grew up with getto-tier hardware. Bear in mind that I don't hate Arch (I hate its' userbase though) and I don't hate other binary distros either, I use debian as a daily driver and I don't see a problem with that; ultimately the best distro is the one you make your own, bloat or not.
 
Last edited:
To be fair you also won't go from clean shaven to full beard by the time you're done installing Arch, unlike Gentoo

~50mb VS ~500mb is a huge difference up until you have 16gb+ ram like any modern machine has
That's not because installing gentoo is that slow, it just emits eerie radiation that causes you to grow a gigantic neckbeard and start eating things you picked out of your toenails.
 
Back