Jens Kristoffersson
7 objekt
Bilder 9 dagar sedan
Widgets 9 dagar sedan
README.md 13,2 kB · 3 dagar sedan
ERFARENHET.md 767 B · 9 dagar sedan
KONTAKT.md 11,7 kB · 9 dagar sedan
LÄNKAR.md 388 B · 29 dagar sedan
PROJEKT.md 7,2 kB · 29 dagar sedan
PROJEKT.md

Personliga Projekt

En samling av egna projekt — verktyg, applikationer och konfigurationer byggda för praktiska behov och personligt bruk. Allt hostat på git.kristoffersson.info.


TransTUI

C · ncurses

En terminalbaserad klient för Transmission BitTorrent-daemon. Byggd i C med ncurses och kommunicerar direkt med Transmissions JSON-RPC API utan tunga beroenden som libcurl eller jansson — bara libncursesw.

Funktioner: filtrera torrents efter status (alla, laddar ned, laddar upp, pausade, klara), se namn, storlek, framsteg och hastigheter i realtid, hantera torrents med add/remove/start/stop, samt sökning och sortering. Konfigureras via config.ini och kommandoradsflaggor.


ytmdl

C · Python · ncurses

Terminal-UI för att ladda ned ljud från YouTube, YouTube Music, spellistor och album. Startade som en Python + Textual-implementation och skrevs sedan om i C med ncurses för bättre prestanda — båda versionerna kan köras.

Stödjer samtidiga nedladdningar, köhantering, mappval, separata undermappar per spellista samt inbäddning av miniatyrbilder och metadata. Använder yt-dlp som backend.


sxbar

C · Xlib

En lätt och modulär statusrad för Xorg. Alla moduler — inbyggda såväl som egna — löses via skalskript, vilket gör anpassning möjlig utan omkompilering.

Levereras med elva moduler: klocka, batteri, volym, CPU, nätverk, mediaspelarkontroller, aktivitetsfält med mera. Stödjer flera skärmar, sekundär rad på motsatt skärmkant, automatisk textscrollning, sliderpopups för ljusstyrka/volym och ett komplett menyramverk med bilder och knappar. Konfigureras via ~/.config/sxbarc.

Binar: ~36 KB (minimal) till ~220 KB (med bildstöd). Beroenden: Xlib, Xinerama, Xft, libm.


screen (xrantui)

C · ncurses · Xrandr

Interaktiv terminal-UI för att hantera multiskärmskonfigurationer på Linux X11. Visar en skalad kanvas med alla anslutna skärmar och låter dig flytta dem med piltangenter med automatisk kantsnappning.

Funktioner: cykla upplösningar per skärm, välja primär skärm, tillämpa ändringar direkt via xrandr, spara layout för omstart via XDG autostart, och ångra till startposition.


FORTIS

TypeScript · React Native · Expo

En personlig träningsapp byggd med React Native och Expo, fokuserad på offline-drift och anpassningsbara teman. Spårar träning, näring, vikt och framsteg utan behov av serverinfrastruktur.

Innehåller: femstegs-onboarding med TDEE-beräkning (Mifflin-St Jeor), kalorispårning med SVG-visualisering, makrografer, vattenintag, träningsschema per vecka, aktivt träningsgränssnitt med set/reps/vikter/vilotimer, bibliotek med 75 övningar, nutritionslogg med 30 förinlästa livsmedel, viktgraf för sju dagar, tio prestationer och fem färgteman.

Tillståndshantering med Zustand och lokal lagring via AsyncStorage.


Subtitles (SubTok)

Python · FastAPI · HTML

Lokal webbapplikation för att transkribera video och audio och generera stiliserade undertexter — med fokus på kortformat för sociala medier. Kör OpenAI Whisper lokalt, ingen API-nyckel krävs.

Exporterar till SRT och ASS med ordnivåtiming för karaoke-liknande animering, kan bränna in undertexter i video via ffmpeg, detekterar optimala videosegment och beskär till valfritt bildförhållande (9:16, 1:1, 4:5, 16:9). GIF-sökning via Giphy API ingår. Valfri Claude AI-integration för förbättrad segmentdetektering.


infodisplay

Python · Flask · JavaScript · SQLite

Digitalt skyltningssystem för Linux (Debian 13) som hanterar kioskskärmar. Styr Chromium i helskärm under Sway/Wayland och exponerar ett webbaserat adminpanel för konfiguration.

Stödjer URL:er, inbäddad YouTube, videofiler (mp4, webm, avi, mkv, mov), bilder, PDF:er och lokala HTML-filer. Schemaläggning med roterande jobb och automatisk videoläng­dsdetektering. Visuella overlay-moduler: scrollande ticker med RSS, klocka (digital/analog), livechatt och BBCode-text med effekter. Systemhantering: Wi-Fi, ljud, sömnläge och omstart från adminpanelen.

Modulärt addon-ramverk via Flask Blueprints.


nfo

HTML · JavaScript

Webbläsarbaserad editor och visare för NFO-, ANS- och ANSI-konstfiler. Ingen installation behövs — öppna bara index.html.

Renderar autentiska CP437-tecken med IBM VGA 8×16 bitmappsfont, tolkar ANSI escape-koder för färger och markörpositionering. Redigeringslägen: textinmatning, ritläge (klick/dra) och markeringsbaserade operationer. Teckenpanel med hela CP437-uppsättningen, eyedropper, 256-färgpalett, rad-infogning/borttagning och 50 steg ångra/gör om.

Konverterar bilder till ANSI-konst med flera renderingslägen (ASCII-densitet, halvblock, helblock, 256-färg) och Floyd–Steinberg dithering. Exporterar till .ANS, .NFO plain och .HTML. Flerfliksläge med sessionsbeständighet.


screensaver

Shell · tte (terminaltexteffects)

En skärmsläckare för X11/sxwm som animerar ASCII-konst i ett helskärmsterminalfönster. Inspirerad av Omarchys terminalskärmsläckare, anpassad för sxwm istället för Hyprland.

Daemonen övervakar inaktivitet via xssstate och är mediakänslig — aktiveras inte medan något spelas upp (via playerctl och MPRIS). Stödjer flera skärmar, konfigurerbar tidsgräns och pausning/återupptagning via en toggle-skript.


dotfiles

Shell · C

Personliga konfigurationsfiler för en minimal, tangentbordsdriven X11-skrivbordsmiljö. Bygger på:

  • sxwm — tilingfönsterhanterare med fem egna patchar (DPI-skalning, multiskärm, helskärmsstöd)
  • sxbar — statusrad (klocka, batteri, volym, CPU, ljusstyrka, Bluetooth, nätverk, media)
  • st — suckless terminal med 11 patchar: scrollback, urklipp, box-drawing, transparens, blinkande markör och inline-bildvisning via kitty-grafikprotokollet
  • dmenu — applikationsväljare (Super + P) Inkluderar install.sh för automatiserad installation, JetBrainsMono Nerd Font, PipeWire-ljud, skärmblankning efter 5 minuter, svensk tangentbordslayout och automatisk X-sessionstart på TTY1.

foxygit

PHP · Shell · CSS

Det webbgränssnitt du just bläddrade i. En liten, läsbar PHP-frontend för att visa och klona bare git-repon — utan databas, utan ramverk.

Kräver bara PHP och git. Stödjer SSH- och anonym HTTPS-klokning, flera teman (mörkt/ljust) och är designad för att vara lätt att drifta på en vanlig webbserver.


mkm3u8

TUI

Ett terminalverktyg för att skapa och hantera M3U8-spellistor. Aktivt under utveckling.

Python Flask SocketIO

Tillbaka till README