wayBetter

(FOSS) Alles is nu een app.

De apps die je gebruikt, veel beter.

wayBetter zet de apps die je al gebruikt in een licht, native venster en breidt ze ter plekke uit, zoals BetterDiscord dat met Discord doet. Tabbladen, gesplitste vensters, al je accounts naast elkaar, thema’s, plug-ins en reparaties voor de bugs van de app zelf. Iedereen kan een thema of een plug-in maken. Iedereen kan de volgende app bouwen.

Haal wayBetter for X

Download wayBetter for X voor Windows · gratis · GPL-3.0-or-later · geen telemetrie over wat je leest of post

  • 14 thema’s in wayBetter for X
  • 14 meegeleverde plug-ins
  • 9 reparaties voor bugs van X zelf
  • 7.9 MB download
  • 0.23 s om te openen
  • 0 afhankelijkheden in waybetter
  • $0 voor altijd

01 Het probleem

Elke app levert maar de helft van wat je nodig hebt.

De rest krijg je niet: de app bepaalt hoeveel accounts je hebt, hoe hij eruitziet en wanneer zijn bugs worden opgelost. wayBetter houdt de app en voegt de andere helft toe.

  1. A

    Eén account per venster. Uitloggen, inloggen, en opnieuw.

    Al je accounts, naast elkaar, allemaal tegelijk ingelogd.

  2. B

    Een bug in de app? Wacht maar tot zij hem oplossen.

    Opgelost op jouw computer, ter plekke, vandaag.

  3. C

    Het uiterlijk dat zij kozen. De functies die zij uitbrachten.

    Thema’s en plug-ins die iedereen kan schrijven.

  4. D

    Een complete browser meegebakken in elke desktopclient.

    Eén licht native venster, op de WebView van het systeem.

Licht van opzet

Alles is nu een app. En een lichte.

Een native venster op de WebView die je systeem al heeft, niet nog een browser die in elke app is meegebakken.

7.9 MBhet hele Windows-installatieprogramma
0.23 svan starten tot het venster op je scherm
17 mstot thema’s, reparaties en plug-ins in de pagina geladen zijn
0lange taken toegevoegd aan de pagina

Gemeten op Windows 11 met wayBetter for X 1.0: grootte van het installatieprogramma van de gepubliceerde download; mediaan van 3 keer starten; evaluatie van de runtime en lange taken (>50 ms) gemeten met en zonder wayBetter.

02 Eén systeem

Drie lagen rond de echte app.

Elke wayBetter-app is hetzelfde systeem: een native Shell, een Runtime in de pagina en één kleine Adapter die de app kent. De app zelf blijft doen wat hij doet. Niets loopt via een proxy of wordt elders gehost; het verandert alleen op jouw computer.

01 · Shell

Een licht native venster.

Tauri 2, op de WebView van het systeem. Het kader dat je elke app zou gunnen:

  • Tabbladen, vastgezette tabbladen en gesplitste vensters: sleep een tabblad of een link naar een rand
  • Elk account in zijn eigen profiel, naast elkaar ingelogd
  • Linkroutering: openen in hetzelfde tabblad, ernaast, in een nieuw tabblad of in je browser
  • Adresbalk en opdrachtenpalet Ctrl K
  • Ondertekende updates die zich stil installeren

02 · Runtime

Thema’s en plug-ins, in de pagina.

Ingevoegd in de pagina’s van de app zelf, gedeeld door elke wayBetter-app:

  • Thema’s op één kleurfundament (een OKLab-model van het palet van de app)
  • JavaScript-plug-ins in BetterDiscord-stijl met een kleine helper-API
  • Eén DOM-hub en één request-hub, zodat functies licht blijven
  • Je eigen CSS, toegepast na het thema

03 · Adapter

Eén klein onderdeel per app.

Het enige deel dat de app kent: zijn hosts, zijn indeling, zijn accountknop en de gegevens die hij toch al laadt.

  • Een native SiteSpec en een SiteAdapter in de pagina
  • Een korte, nagekeken lijst van wat de tabbladen van de app mogen aanroepen
  • Al het andere komt uit het systeem

03 De eerste app

wayBetter for X.

Het echte x.com in tabbladen en gesplitste vensters, al je accounts naast elkaar, veertien thema's, acht gebiedsplug-ins en fixes voor de bugs die X meelevert: likes en follows die elkaar inhalen, concepten die verdwijnen, een tijdlijn die verspringt. Nu beschikbaar voor Windows, macOS en Linux.

14ingebouwde thema’s, plus die van jou
14meegeleverde plug-ins, uit tot jij ze aanzet
9reparaties voor bugs van X zelf
36aanpassingen om X te verbergen, te tonen en te veranderen
  • 01
    Al je accounts, naast elkaar

    Tabbladen en gesplitste vensters op het echte x.com, elk account tegelijk ingelogd in zijn eigen profiel.

  • 02
    De bugs van X, opgelost

    Likes en volgacties die aankomen, je plek behouden bij Terug, geen tijdlijnsprongen, uploads die opnieuw worden geprobeerd.

  • 03
    Een conceptenkluis

    Elk concept lokaal bewaard met zijn versiegeschiedenis, en teruggezet wanneer X het kwijtraakt.

  • 04
    Veertien thema's, acht gebiedsplug-ins

    Volledige herontwerpen, niet alleen kleuren. Reader+, Chat+, Media+ en nog vijf gebiedsplug-ins, een schakelaar voor elke functie.

  • 05
    Ctrl+K voor alles

    Een opdrachtenpalet voor tabbladen, accounts, instellingen en zoeken op X met operator-chips.

  • 06
    Deck

    Een deck in TweetDeck-stijl: kolommen van X naast elkaar, elk in het account dat jij kiest, met filters en tellers voor ongelezen.

wayBetter for X

Gratis · open source · werkt zich stil bij

Downloaden voor Windows Alles bekijken

Windows · macOS · Linux

04 Maak het van jou

Iedereen kan thema’s en plug-ins maken.

Een thema is één JSON-bestand. Een plug-in is één JavaScript-bestand. Geen beoordelingswachtrij en geen account om er een te gebruiken: schrijf het, zet het in de map, deel het bestand of publiceer het in de Winkel. Als je CSS kunt schrijven, kun je een app een nieuw uiterlijk geven. Als je een beetje JavaScript kunt schrijven, kun je de functie toevoegen die er nooit kwam.

Thema’s

Kleuren, lettertypen, vorm, indeling, achtergrond, effecten.

Importeer en exporteer JSON in het paneel Weergave. Het contrast wordt voor je gecontroleerd: tekst blijft leesbaar op elk oppervlak.

HomePost
Voor jouVolgend
wayBetter@CRTkafa · 2m

Er worden veertien thema’s meegeleverd. Het vijftiende is van jou.

1248♥ 101
playfishies@playfishies · 9m

Eén JSON-bestand. Zet het neer in Weergave → Importeren.

Night Ink
deep-sea.theme.json
{
  "name": "Deep Sea",
  "author": "@you",
  "mode": "dark",
  "colors": { "bg": "#06141b", "text": "#e6f4f1", "accent": "#2ee6c5" },
  "font": { "family": ["Geist"], "scale": 1.02 },
  "shape": { "radius": 14, "button": 9999, "avatar": "rounded" },
  "layout": { "density": "compact", "cards": true },
  "background": { "kind": "pattern", "pattern": "grid",
                  "ink": "#2ee6c5", "opacity": 0.08, "size": 28 },
  "effects": { "hover": "glow" }
}
Plug-ins

Eén bestand. start() en stop().

*.plugin.js in BetterDiscord-stijl, neergezet in de pluginmap en aangezet in Instellingen. Een helper-API doet het priegelwerk.

copy-quote.plugin.js
/**
 * @name Copy Quote
 * @description y on a focused post copies "@handle: text".
 * @version 1.0.0
 * @author @you
 */
module.exports = class CopyQuote {
  start() {
    const api = window.wayBetter.api;
    this.scope = api.scope();
    this.scope.onKey((event, post) => {
      if (event.key !== 'y' || !post) return;
      const t = api.tweet(post);
      if (t) api.copyText(`@${t.handle}: ${t.text}`)
        .then(() => api.toast('Copied'));
    });
  }
  stop() { this.scope.dispose(); }
};

Helper-API

  • storage(ns)
  • observe(sel, fn)
  • onRouteChange(fn)
  • onKey(fn)
  • tweet(el)
  • copyText(s)
  • toast(msg)
  • injectCSS(id, css)
  • waitFor(sel)
  • scope()

Veertien worden meegeleverd met wayBetter for X

  • Thread Reader
  • Exact Timestamps
  • Clean Links
  • Copy as Markdown
  • Alt-text Reminder
  • User Notes
  • Muted Regex
  • Reading Time
  • Media Grid Focus
  • Keyboard Plus
  • Emoji Picker
  • Hide Blue Checks
  • Focus Mode
  • Reply Guard

05 Bouw erop voort

Het hele systeem is één pakket.

De paginaruntime en de shell-modellen achter wayBetter for X staan op npm als waybetter: gewoon ESM met types, elke module onder een eigen subpad, nul afhankelijkheden. Neem de onderdelen die je nodig hebt, of bouw een hele app.

terminal

npm i waybetter

nul afhankelijkhedenESM + .d.tsruntime/* en shell/*GPL-3.0-or-later
adapter.ts · uit de README, ingekort
import { configureRuntime, type SiteAdapter }
  from 'waybetter/runtime/site';

export const KICK: SiteAdapter = {
  product: 'wayBetter for Kick',
  hosts: ['kick.com'],
  runtimeGlobal: 'WayBetterKick',
  apiMarks: ['/api/'],
  // plugins, rail, account, links, themeSources …
};
configureRuntime(KICK);

waybetter/runtime/*

  • sitede compositiewortel van de adapter
  • domHubéén MutationObserver, één frame
  • netHubéén fetch/XHR-hook voor elke functie
  • pluginApihelpers voor plug-ins van gebruikers
  • themeTokenshet OKLab-kleurmodel
  • paneNavéén navigatie in gesplitste weergave
  • linkRoutingernaast, tabblad of browser
  • accountReportwelk account is ingelogd

waybetter/shell/*

  • addressModelchips in de adresbalk
  • paneModelgesplitste vensters, links ernaast
  • linkDroplaat een link los, krijg een venster
  • paletterangschikking van het opdrachtenpalet
  • profileModelaccountprofielen
  • updateModelde update-chip
  • windowControlstitelbalk en vensterknoppen
  • chromeafmetingen van titelbalk en werkbalk

06 Wat volgt

X was de eerste. Jij bouwt de volgende.

Elke app met een webversie kan hetzelfde venster, dezelfde thema’s en plug-ins krijgen. Dit zouden de volgende kunnen zijn. Geen ervan is aangekondigd en geen ervan heeft een datum: ze wachten tot iemand de adapter schrijft. Het adaptervoorbeeld in de README zelf is Kick.

mogelijk

wayBetter forYouTube?

Tabbladen en gesplitste vensters voor video’s, elk kanaalaccount naast elkaar, thema’s, plug-ins.

mogelijk

wayBetter forKick?

Streams naast elkaar in één licht venster, jouw chat-plug-ins, jouw thema.

mogelijk

wayBetter forTwitch?

Gesplitste vensters voor meerdere streams, elk account ingelogd, plug-ins voor de chat.

mogelijk

wayBetter forDiscord?

De webapp in een licht Tauri-venster in plaats van de zware client. Dezelfde shell, dezelfde plug-ins.

wayBetter forde app die jij gebruikt.

Schrijf de adapter. De shell, runtime, thema’s en plug-ins krijg je erbij.

npm i waybetter

Bouw de volgende.

Begin met het pakket en het adaptervoorbeeld uit de README. Iets gebouwd? Zet het met een pull request op de lijst “Projecten die wayBetter gebruiken”.

Begin met bouwen

Mogelijke volgende apps, geen aangekondigde producten. YouTube, Kick, Twitch en Discord zijn handelsmerken van hun respectieve eigenaren; hun logo’s worden alleen getoond om de diensten te benoemen. wayBetter is aan geen van hen gelieerd en wordt door geen van hen onderschreven of gesponsord.

07 Gratis en open source

Geen addertje. Lees elke regel.

  1. i.

    Gratis

    Geen betaald abonnement, geen advertenties, geen upsell. Niet nu en niet “na de bèta”.

  2. ii.

    Open

    GPL-3.0-or-later. Het framework en de apps zijn openbare broncode op git.crt.fyi.

  3. iii.

    Privé

    Geen analytics, geen telemetrie over wat je leest of post. Concepten, instellingen en plug-ins blijven op jouw computer.

  4. iv.

    Van jou

    Fork het, geef het een thema, schrijf plug-ins, bouw de volgende app. De licentie houdt het ook voor de volgende open.

08 Principes

Beter, niet anders.

De echte app, ter plekke

Je logt in bij de app zelf. Niets loopt via een proxy of wordt elders gehost; het wordt alleen op jouw computer veranderd.

Licht, niet nog een browser

Een Tauri-venster op de WebView van het systeem, één per app, met al je accounts erin.

Handelt nooit namens jou

Reparaties zorgen dat jouw eigen klikken aankomen. wayBetter post, volgt of verwijdert nooit iets uit zichzelf.

Stilletjes bij de tijd

Updates zijn ondertekend en installeren zich stil, dus reparaties komen binnen zonder nieuw installatieprogramma.

Begin met X.
Bouw wat volgt.

Bekijk wayBetter for X