Skip to content
/ EOS Public

EOS - A Microsoft Addon A highly customizable new tab page designed to boost productivity and mindfulness. Switch between different modes like Study, Relax, and Entertainment, or create your own personalized dashboards with unique widgets, websites, and themes.

Notifications You must be signed in to change notification settings

pyouneetm/EOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 

Repository files navigation

EOS: The "Essence Of Space" New Tab Suite (Extension)

Image

(Formerly known as Minimalist-HomePage, back when I was bad at naming things) (Version 9.5 - The "I got tired of switching tabs" Update) Available on the Microsoft Edge Add-ons Store

Version Store

What is this?

Eos is a new tab page. But it's not just a pretty picture with a clock. It is a complete, offline-first productivity, learning, and discovery environment built directly into your browser because I got tired of context switching. It was mainly for me and people like me. It is not a product, so don't treat it like a product.

The Privacy Promise (Simple Version)

I don't want your data. I don't have a server to store your data. Every note, every task, every game save lives 100% locally on your machine (via IndexedDB). The AI features? They use your API key, sent directly to Google. I see nothing.

🚀 The Architecture (How it Actually Works)

Unlike standard extensions, Eos is built like a mini operating system.

1. The Workspace System (Modes)

Concept: Eos uses "Modes" (defined in script.js and stored in EOStorage) to switch contexts. Focus Mode: The default workspace. Contains specific bookmarks, search settings, and the Pomodoro widget. Custom Modes: You can create "Dev", "Gaming", or "Reading" modes. Each has its own bookmark list and quote configuration. Code Reference: script.js handles setMode(), swapping visible widgets and links based on the active mode.

2. The Visual Engine (Cosmos)

Concept: "Cosmos" is not a mode; it is the graphical engine running underneath everything. Particles: eoswallpaper.js manages cosmosCanvas, drawing the interactive starfield that reacts to your mouse. Sentience: The cursor tracker (sentient-cursor) and dynamic greetings (sentientMessages in eosquote.js) are part of this engine. Toggle: You can turn "Cosmos" off in settings to save battery, reverting to a static background.

3. The View State (Minimal Mode)

Concept: A global toggle that overrides the current Mode. Function: It strips away the dock, widgets, and wallpapers via CSS classes (.minimal-mode in style.css), leaving only the clock and the search bar for absolute zero-distraction.

🛠️ The App Suite

Everything here works offline and is contained within the extension.

✨ EosScholar (eoscholar.js): AI Study Partner: A persistent chatbot context. Tools: Pomodoro Timer, Flashcards, Study Planner, and an AI Quiz Generator.

📝 EosPad (eospad.js): A rich text editor (contenteditable) injected into the tab. Features: Multi-tab support, drawing canvas, voice recorder, and video embedding. AI Integration: Uses your API key to summarize or expand text directly in the editor.

🚀 EosOrbit (eosorbit.js): Universal Search: A custom search interface querying the Internet Archive, Open Library, and LibriVox. Zero Gravity: A physics-based view mode where search results float.

📰 EosNews (eosnews.js): A complete RSS/Atom feed reader. Features: OPML import/export, folder organization, and "Read Later" bookmarking.

🌀 Eospiral (eospiral.js): A full roguelite RPG embedded in the dashboard. Engine: Grid-based movement, turn-based combat, and branching lore logs (LOG 001...LOG 305).

📖 EosReader (eosreader.js): Sanitization: Strips ads and clutter from web pages for clean reading. AI Summary: Can generate a concise summary of the current article.

🔊 The Audio Engine (Physics-Based)

This is where it gets over-engineered.

🎚️ EosWave (eoswave.js & eoswaveprocessor.js): The Generator: Uses a custom AudioWorklet (NoiseProcessor) to generate Pink and Brown noise algorithmically. Binaural Beats: Generates precise frequencies for Alpha (Relax) and Gamma (Focus) waves.

🎼 EosPhyMusic (Eosphymusic.js): Bio-Digital Physics: Simulates sound propagation using constants like HEAD_RADIUS and AIR_ABSORPTION. Neuro-Gating: Analyzes audio transients to potentially trigger "frisson." Shield Mode: Actively cuts specific frequencies (around 3.5kHz) known to cause listener fatigue.

🧠 Philosophy & Language Reality

Pro Tip: Use the Reader Mode button available in content.js (meaning the compass on article or news websites). You want to read that article later? Just drop it in EosPad using the open EosPad icon available in EosReader. This whole extension was meant for power users and mainly students to better get their work done and decrease reliability on many extensions.

Language Reality: It has 17 languages to choose from. The quote updates to match the selected language, but if you select any other language than English, it will show quotes from your selected language and English. Justification: This is because I cannot dump everything into the quote file; it will be too big for now (it is too big), and we humans see English as a native language, so this is justifiable. Quote Engine: The quotes update not only based on language, but time, selected or created mode, or things like idle, etc. It is a work of different combinations that select specific quotes. If quotes reach its data limit, it switches to eosquotedata.js for more quotes.

🧭 A Guide for Compass: Why and Why Not to Use It (content.js)

The compass was introduced for people who want to use the browser in F11 mode or fullscreen mode. It helps you to open new tabs by searching on the compass search bar, manage your opened tabs, or open new tabs, and to avoid switching on and on by pressing F11 for users like me to use the extension without any problem.

Fullscreen Trigger: The fullscreen toggle enables the welcome modal. The welcome modal is a trigger for F11, so the user gets into F11 automatically. Clicking on the welcome modal closes it and triggers the F11 function. This is why the compass is important. Music Icon: A music icon in it only appears in your new tab, not every opened website. If someone is using it thinking why it's not working, kindly upload your music files on EosMusic. The music icon is used to play and pause the music, not to play random music from the web.

📂 File Structure (Complete Reference)

File Type Function
index.html HTML The Face: Main layout structure for the new tab page.
script.js JS The Muscle: Initializes UI, Mode switching logic, and ties all modules together.
manifest.json JSON The Brain: Defines permissions, content scripts, and extension structure.
background.js JS The Nervous System: Service worker for cross-tab messaging, tab management, and API proxy (e.g., RSS fetching).
style.css CSS The Skin: Core UI styling and minimal mode view state.
eosadaptiveui.js JS Adaptive Theme Engine: Extracts colors from the background and applies themes dynamically.
eoswallpaper.js JS Cosmos/Wallpaper Logic: Manages background image setting and the starfield animation.
eosthemeloader.js JS FOUC Prevention: Pre-loads basic theme settings before script.js.
eostorage.js JS Data Monolith: IndexedDB wrapper for all app data (with middleware support).
eosprevent.js JS Security Layer: Sanitization, XSS mitigation, and JSON parsing safety.
EosLanguage.js JS Language Core: Internationalization library.
EosTranslations.js JS Language Data: Dictionary for 17 languages and UI mappings.
eosicon.js JS Icon Utility: Replaces tags with in-line SVGs.
eostime.js JS Clock Logic: Manages the digital clock, date display, and timer controls.
eosquote.js JS Quote Logic: Manages time/mode-based quote selection and history.
eosquotedata.js JS Quote Database: Contains the large library of quotes and sentient messages.
eosdropdown.js JS UI Utility: Custom implementation of the select/dropdown element for styling.
content.js JS Compass Injector: Injects the floating "Compass" UI onto external web pages.
eosearch.js JS Search Engine: Fuzzy search utility used for tab filtering and general search.
eoswave.js JS Wave Engine UI: Controls and initializes the EosWave audio worklet.
eoswaveprocessor.js JS Audio Worklet: Performs real-time Pink and Brown noise synthesis (CSP safe).
Eosphymusic.js JS Music Player Engine: Implements the physics-based audio playback and psychoacoustic effects.
eospiral.js JS RPG Engine: Contains all game logic, map generation, combat, and lore.
eoscholar.js JS Scholar App Logic: Handles AI chat, Pomodoro state, and tool integration.
eospad.js JS Pad App Logic: Manages the multi-tab rich text editor and media embedding.
eosnews.js JS News App Logic: Handles RSS fetching, feed management, and UI.
eosorbit.js JS Orbit App Logic: Manages archive searching, results display, and Zero Gravity mode.
eosreader.js JS Reader Mode Logic: Parses articles, applies persona filters, and manages annotation/TTS.
content.css CSS Compass Styling: Styles for the floating widget injected into external sites.

💾 Installation (Unpacked)

  • Download or clone this repo.
  • Open Chrome/Edge and go to chrome://extensions.
  • Toggle "Developer mode" (Top right).
  • Click "Load unpacked".
  • Select the folder containing these files.
  • Open a new tab.

Built by Pyouneetm At last, if there is any so called Writing mistakes just avoid it. You are human or even AI you will get what I meant not what I writted.

About

EOS - A Microsoft Addon A highly customizable new tab page designed to boost productivity and mindfulness. Switch between different modes like Study, Relax, and Entertainment, or create your own personalized dashboards with unique widgets, websites, and themes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published