wayBetter

(FOSS) كل شيء صار تطبيقًا الآن.

التطبيقات التي تستخدمها، أفضل بكثير.

يضع wayBetter التطبيقات التي تستخدمها أصلًا في نافذة أصلية خفيفة ويوسّعها في مكانها، كما يوسّع BetterDiscord تطبيق Discord. علامات تبويب، وأجزاء مقسّمة، وكل حساباتك جنبًا إلى جنب، وسمات، وإضافات، وإصلاحات لأخطاء التطبيق نفسه. يستطيع أي شخص صنع سمة أو إضافة. ويستطيع أي شخص بناء التطبيق التالي.

احصل على wayBetter for X

نزّل wayBetter for X لنظام Windows · مجاني · GPL-3.0-or-later · بلا أي تتبّع لما تقرأ أو تنشر

  • 14 سمة في wayBetter for X
  • 14 إضافة مرفقة
  • 9 إصلاحات لأخطاء X نفسه
  • حجم التنزيل 7.9 MB
  • 0.23 s حتى يفتح
  • 0 اعتماديات في waybetter
  • $0 إلى الأبد

01 المشكلة

كل تطبيق يقدّم لك نصف ما تحتاجه فقط.

أما الباقي فلا تستطيع الحصول عليه: التطبيق هو من يقرّر عدد حساباتك، وشكله، وموعد إصلاح أخطائه. wayBetter يُبقي التطبيق كما هو ويضيف النصف الآخر.

  1. A

    حساب واحد لكل نافذة. سجّل الخروج، سجّل الدخول، وكرّر.

    كل حساباتك جنبًا إلى جنب، مسجَّلة الدخول كلها في آن واحد.

  2. B

    خطأ في التطبيق؟ انتظر حتى يصلحوه.

    يُصلَح على جهازك، في مكانه، اليوم.

  3. C

    الشكل الذي اختاروه هم. والمزايا التي أطلقوها هم.

    سمات وإضافات يستطيع أي شخص كتابتها.

  4. D

    متصفح كامل مدمج في كل تطبيق سطح مكتب.

    نافذة أصلية خفيفة واحدة، على WebView النظام.

خفيف بطبيعته

كل شيء صار تطبيقًا الآن. وتطبيقًا خفيفًا.

نافذة أصلية على WebView الموجود أصلًا في نظامك، لا متصفحًا آخر مدمجًا في كل تطبيق.

7.9 MBحجم مثبّت Windows كاملًا
0.23 sمن التشغيل حتى ظهور النافذة على الشاشة
17 msلتحميل السمات والإصلاحات والإضافات في الصفحة
0مهام طويلة مضافة إلى الصفحة

قيست على Windows 11 مع wayBetter for X 1.0: حجم المثبّت هو حجم التنزيل المنشور؛ والزمن هو وسيط 3 مرات تشغيل؛ وتقييم بيئة التشغيل والمهام الطويلة (>50 ms) قيسا مع wayBetter وبدونه.

02 نظام واحد

ثلاث طبقات حول التطبيق الحقيقي.

كل تطبيق من wayBetter هو النظام نفسه: غلاف أصلي، وبيئة تشغيل داخل الصفحة، ومحوّل صغير واحد يعرف التطبيق. التطبيق نفسه يواصل عمله كما هو. لا شيء يمرّ عبر وسيط ولا يُستضاف في مكان آخر؛ التغيير يحدث على جهازك فقط.

01 · الغلاف

نافذة أصلية خفيفة.

Tauri 2، على WebView النظام. الإطار الذي تتمنى لو كان في كل تطبيق:

  • علامات تبويب، وعلامات تبويب مثبّتة، وأجزاء مقسّمة: اسحب علامة تبويب أو رابطًا إلى الحافة
  • كل حساب في ملفه الشخصي الخاص، وكلها مسجَّلة الدخول جنبًا إلى جنب
  • توجيه الروابط: افتحها في علامة التبويب نفسها، أو بجانبها، أو في علامة تبويب جديدة، أو في متصفحك
  • شريط العنوان ولوحة الأوامر Ctrl K
  • تحديثات موقَّعة تُثبَّت بصمت

02 · بيئة التشغيل

السمات والإضافات، داخل الصفحة.

يُحقَن في صفحات التطبيق نفسه، وتتشاركه كل تطبيقات wayBetter:

  • سمات على أساس لوني واحد (نموذج OKLab للوحة ألوان التطبيق)
  • إضافات JavaScript على طريقة BetterDiscord مع واجهة API مساعدة صغيرة
  • مركز واحد لـ DOM ومركز واحد للطلبات، لتبقى المزايا خفيفة
  • ملف CSS خاص بك، يُطبَّق بعد السمة

03 · المحوّل

قطعة صغيرة واحدة لكل تطبيق.

الجزء الوحيد الذي يعرف التطبيق: نطاقاته، وتخطيطه، وزر الحساب فيه، والبيانات التي يحمّلها أصلًا.

  • SiteSpec أصلي وSiteAdapter داخل الصفحة
  • قائمة قصيرة ومُراجَعة بما يُسمح لعلامات تبويب التطبيق باستدعائه
  • وكل ما عدا ذلك يأتي من النظام

03 التطبيق الأول

wayBetter for X.

x.com الحقيقي في تبويبات وأجزاء مقسّمة، كل حساباتك جنبًا إلى جنب، أربع عشرة سمة، ثماني إضافات مناطق، وإصلاحات لأخطاء يأتي بها X: إعجابات ومتابعات تتسابق، ومسودات تختفي، وخلاصة تقفز. متاح الآن لـ Windows وmacOS وLinux.

14سمة مدمجة، وسماتك أنت
14إضافة مرفقة، متوقفة حتى تفعّلها
9إصلاحات لأخطاء X نفسه
36تعديلًا لإخفاء أجزاء X وإظهارها وتغييرها
  • 01
    كل حساباتك، جنبًا إلى جنب

    علامات تبويب وأجزاء مقسّمة على x.com الحقيقي، وكل حساب مسجَّل الدخول في الوقت نفسه في ملفه الشخصي الخاص.

  • 02
    أخطاء X، وقد أُصلحت

    إعجابات ومتابعات تصل فعلًا، وموضعك محفوظ عند الرجوع، وخلاصة لا تقفز، ورفع يُعاد عند الفشل.

  • 03
    خزنة مسودات

    تُحفَظ كل مسودة على جهازك مع سجل مراجعاتها، وتُعاد حين يضيّعها X.

  • 04
    أربع عشرة سمة، وثماني إضافات مناطق

    إعادة تصميم كاملة، لا مجرد ألوان. Reader+ وChat+ وMedia+ وخمس إضافات مناطق أخرى، ومفتاح لكل ميزة.

  • 05
    Ctrl+K لكل شيء

    لوحة أوامر لعلامات التبويب والحسابات والإعدادات وبحث X مع أزرار المعاملات.

  • 06
    Deck

    Deck على طريقة TweetDeck: أعمدة من X جنبًا إلى جنب، كل عمود بالحساب الذي تختاره، مع فلاتر وعدّادات لغير المقروء.

wayBetter for X

مجاني · مفتوح المصدر · يتحدّث بصمت

نزّل لنظام Windows شاهد كل شيء

Windows · macOS · Linux

04 اجعله لك

يستطيع أي شخص صنع سمات وإضافات.

السمة ملف JSON واحد. والإضافة ملف JavaScript واحد. لا طابور مراجعة ولا حساب لاستخدامها: اكتبها، ضعها في المجلد، شارك الملف، أو انشرها في المتجر. إن كنت تكتب CSS فبإمكانك تغيير مظهر تطبيق كامل. وإن كنت تكتب قليلًا من JavaScript فبإمكانك إضافة الميزة التي لم تصدر قط.

السمات

ألوان، خطوط، شكل، تخطيط، خلفية، تأثيرات.

استورد وصدّر JSON من لوحة المظهر. التباين يُفحَص عنك: يبقى النص مقروءًا على كل سطح.

الرئيسيةنشر
لكالمتابَعون
wayBetter@CRTkafa · 2m

تأتي معه أربع عشرة سمة. والخامسة عشرة سمتك أنت.

1248♥ 101
playfishies@playfishies · 9m

ملف JSON واحد. أفلته في المظهر ← استيراد.

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" }
}
الإضافات

ملف واحد. start() وstop().

ملف *.plugin.js على طريقة BetterDiscord، تضعه في مجلد الإضافات وتفعّله من الإعدادات. وواجهة API مساعدة تتكفّل بالأجزاء المتعبة.

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(); }
};

واجهة API المساعدة

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

أربع عشرة منها تأتي مع 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 ابنِ عليه

النظام كله حزمة واحدة.

بيئة تشغيل الصفحة ونماذج الغلاف التي يقوم عليها wayBetter for X متاحة على npm باسم waybetter: وحدات ESM خالصة مع الأنواع، ولكل وحدة مسارها الفرعي، وبلا أي اعتماديات. خذ القطع التي تحتاجها، أو ابنِ تطبيقًا كاملًا.

الطرفية

npm i waybetter

بلا اعتمادياتESM + .d.tsruntime/* و shell/*GPL-3.0-or-later
adapter.ts · من ملف README، مختصرًا
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/*

  • siteجذر التركيب الخاص بالمحوّل
  • domHubMutationObserver واحد، وإطار واحد
  • netHubخطّاف fetch/XHR واحد لكل المزايا
  • pluginApiأدوات مساعدة لإضافات المستخدمين
  • themeTokensنموذج الألوان OKLab
  • paneNavقائمة تنقل واحدة في العرض المقسّم
  • linkRoutingبجانب، أو علامة تبويب، أو المتصفح
  • accountReportأي حساب مسجَّل الدخول

waybetter/shell/*

  • addressModelأزرار شريط العنوان
  • paneModelأجزاء مقسّمة، وروابط تُفتح بجانبها
  • linkDropأفلت رابطًا، تحصل على جزء
  • paletteترتيب نتائج لوحة الأوامر
  • profileModelملفات الحسابات الشخصية
  • updateModelزر التحديث
  • windowControlsشريط عنوان النافذة وأزرار التحكم بها
  • chromeمقاسات شريط العنوان وشريط الأدوات

06 ما التالي

X كان الأول. وأنت من يبني التالي.

أي تطبيق له نسخة ويب يمكن أن يحصل على النافذة نفسها والسمات والإضافات. هذه مرشّحة لتكون التالية. لم يُعلَن عن أي منها، ولا موعد لأي منها: إنها تنتظر من يكتب المحوّل. ومثال المحوّل في ملف README نفسه هو Kick.

محتمل

wayBetter forYouTube?

علامات تبويب وأجزاء مقسّمة للفيديوهات، وكل حسابات القنوات جنبًا إلى جنب، وسمات، وإضافات.

محتمل

wayBetter forKick?

بثوث جنبًا إلى جنب في نافذة خفيفة واحدة، مع إضافات الدردشة التي تختارها وسمتك.

محتمل

wayBetter forTwitch?

أجزاء مقسّمة لعدة بثوث، وكل الحسابات مسجَّلة الدخول، وإضافات للدردشة.

محتمل

wayBetter forDiscord?

تطبيق الويب في نافذة Tauri خفيفة بدل التطبيق الثقيل. الغلاف نفسه، والإضافات نفسها.

wayBetter forالتطبيق الذي تستخدمه.

اكتب المحوّل. الغلاف وبيئة التشغيل والسمات والإضافات تأتي معه.

npm i waybetter

ابنِ التطبيق التالي.

ابدأ من الحزمة ومن مثال المحوّل في ملف README. بنيتَ شيئًا؟ أضفه إلى قائمة «مشاريع تستخدم wayBetter» بطلب سحب.

ابدأ البناء

تطبيقات تالية محتملة، وليست منتجات معلنة. YouTube وKick وTwitch وDiscord علامات تجارية لأصحابها؛ وشعاراتها معروضة لتسمية الخدمات فقط. لا يرتبط wayBetter بأي منها، وليس معتمدًا منها ولا برعايتها.

07 مجاني ومفتوح المصدر

بلا أي خدعة. اقرأ كل سطر.

  1. i.

    مجاني

    لا خطة مدفوعة، ولا إعلانات، ولا محاولات لبيعك شيئًا. لا الآن، ولا «بعد النسخة التجريبية».

  2. ii.

    مفتوح

    GPL-3.0-or-later. إطار العمل والتطبيقات مصدرها منشور للجميع على git.crt.fyi.

  3. iii.

    خاص

    لا تحليلات، ولا تتبّع لما تقرأ أو تنشر. المسودات والإعدادات والإضافات تبقى على جهازك.

  4. iv.

    ملكك

    انسخه، صمّم له سمة، اكتب إضافات، ابنِ التطبيق التالي. والرخصة تُبقيه مفتوحًا لمن يأتي بعدك أيضًا.

08 المبادئ

أفضل، لا مختلف.

التطبيق الحقيقي، في مكانه

تسجّل الدخول في التطبيق نفسه. لا شيء يمرّ عبر وسيط ولا يُستضاف في مكان آخر؛ التغيير يحدث على جهازك فقط.

خفيف، لا متصفح آخر

نافذة Tauri على WebView النظام، واحدة لكل تطبيق، وفيها كل حساباتك.

لا يتصرّف نيابةً عنك أبدًا

الإصلاحات تجعل نقراتك أنت تصل. wayBetter لا ينشر ولا يتابع ولا يحذف شيئًا من تلقاء نفسه أبدًا.

محدَّث بهدوء

التحديثات موقَّعة وتُثبَّت بصمت، فتصل الإصلاحات من دون مثبّت جديد.

ابدأ بـ X.
وابنِ ما بعده.

شاهد wayBetter for X