ofhodjclfalelhgjbfmdddekoghamlge
Enhanced text interaction for Emacs: capture selections, send to org-protocol, with floating button and keyboard shortcuts. Paw: Enhanced Text Interaction for Emacs Integration Transform your web browsing experience with Paw, a powerful browser extension that seamlessly integrates with Emacs through org-protocol. Capture text selections, context, and HTML content with intuitive interactions—all designed to boost your productivity. 🎯 Smart Text Capture - Hover & Click Interaction: Underline words on mouseover and capture them with a simple click - Flexible Selection: Select entire passages or single words—the extension captures both text and surrounding context - Context-Aware: Automatically identifies and captures the parent context (e.g., paragraph) for better note organisation ⚡ Floating Action Button - Quick Access: A convenient floating "+" button appears near your text selections - Multiple Protocols: Access all configured org-protocols through an intuitive submenu - Customisable Position: Adjust button offsets to suit your workflow - Smart Visibility: Show/hide the button based on your preferences, with automatic display when text is selected ⌨️ Keyboard Shortcuts - Instant Capture: Use customisable keyboard shortcuts (e.g., Alt + S) to grab the word under your caret - Configurable Modifiers: Choose between None, Ctrl, or Alt modifiers - Efficient Workflow: Send selections to Emacs without leaving the keyboard 🗂️ OneTab-Style Tab Manager - Capture & Close: Capture the current tab or all tabs in a window — tabs are closed and saved into named sections, just like OneTab - Drag & Drop: Reorder individual tabs within and across sections, or reorder entire sections - Send to Emacs: Send a single tab, an entire section, or a batch of selected tabs to Emacs via paw-server - Multi-Format Link Copy: Copy links as Org-mode [[url][title]], Markdown [title](url), or plain URLs - Multi-Select: Checkbox selection per tab or per section for bulk actions - Live Manager: The tab manager page updates in real time as new tabs are captured 🔧 Customisable Org-Protocol Support - Multiple Protocols: Configure unlimited org-protocols using comma-separated format or JSON arrays - Format Options: Choose between text, HTML, or Markdown formats for captured content - Advanced Configuration: Support for download (save full page HTML) and deselect (clear selection after capture) - JSON Editor: The Options page displays Protocol(s) as prettified JSON with live validation - Example: [{"protocol": "paw", "format": "text"}, {"protocol": "anki", "format": "html"}] 🖱️ Single-Click Mode - Word-Level Interaction: Enable single-click mode to wrap and capture individual words instantly - Toggleable: Turn on/off from the popup or options page 🎨 Auto-Highlight - Visual Feedback: Automatically highlight known words on web pages - Server Integration: Works with optional paw-server to display your vocabulary or saved words - Info Bubbles: Hover over highlighted words to see additional information 📋 Rich Content Support - HTML Content: Send selected HTML content to Emacs for advanced processing - Full Page Capture: Optionally download entire page HTML for archival - Text & Context: Captures URL, page title, selected text, and surrounding paragraph 🌐 Server Integration (Optional) - paw-server Support: Connect to a local Python Flask server for advanced features - Endpoints: POST /paw for selections, GET /words for highlights, POST /source for full HTML - Fallback: Automatically falls back to org-protocol if the server is unavailable PERFECT FOR - Emacs Users: Seamlessly integrate your browser with Emacs workflows - Note-Takers: Quickly capture web content with full context - Researchers: Save selections with URLs and metadata for reference - Knowledge Workers: Build a personal knowledge base from web content - Language Learners: Track vocabulary and phrases from online reading Open the Options page (gear icon in the popup) to customise: - Enable/disable extension, single-click mode, auto-highlight, and floating button - Configure Protocol(s) with a prettified JSON editor and live validation - Set keyboard shortcut and modifier keys - Adjust floating button position offsets - Configure org-protocol template variables (url, title, note, body) - Set paw-server address (default: http://localhost:5001) ✅ No data sent to external servers by default ✅ Optional local server integration only (paw-server on localhost) ✅ No usage analytics or tracking ✅ No third-party telemetry ✅ Open source — inspect the code yourself - paw.el — Word and note management - org-protocol — Capture web content directly into Org mode - wallabag.el — Save articles to Wallabag - calibredb.el — Open ebooks in browser 1. Install the extension 2. Configure your org-protocols in the Options page 3. Select text on any webpage 4. Click the floating "+" button or use your keyboard shortcut 5. Watch your selection appear in Emacs via org-protocol! Or capture entire browsing sessions: Capture All → organise in the Tab Manager → send to Emacs in one click. Boost your productivity with seamless Emacs integration and powerful text interaction tools—all directly from your browser. For detailed documentation, visit: https://github.com/chenyanming/paw_browser_extension
Slash Search - Universal Search Shortcut
Press '/' to focus on the search bar on any website. Slash Search: Your Universal SearchBar Shortcut Inspired by YouTube and GitHub's popular '/' search feature, made available everywhere! Tired of hunting for the search bar on every website? Slash Search brings the convenience you love from top platforms to your entire web experience! 🔍 Press '/' to instantly focus on the search bar of any website. ⚡ Lightning-fast and works across all web pages. 🧠 Smart detection finds the search bar even on complex websites. 🔄 Fallback mechanism triggers search functionality if no bar is found. 🕶️ Sleek popup shows you when a search bar is detected. ⌨️ Keyboard shortcut (Ctrl+Shift+F or Cmd+Shift+F on Mac) to open extension's popup. Slash Search seamlessly integrates into your browsing routine, saving you time and frustration. Whether you're shopping, researching, or just surfing the web, find what you're looking for faster than ever. Perfect for: • Fans of YouTube and GitHub's quick search feature • Power users who love keyboard shortcuts • Researchers who frequently use site search • Anyone who values efficiency in their web browsing Experience the simplicity of YouTube and GitHub's search across the entire web. Install Slash Search now and transform your search experience with just one key! Note: This extension respects your privacy and does not collect any personal data.
Fast look: Mini webpage viewer
Take a fast look at any website by shaking the mouse. Fast Look: Mini Web Page Viewer" is a Google Chrome extension designed to enhance your web browsing experience by providing a quick preview of any linked webpage. 🚀 The extension achieves this functionality by allowing users to open a miniaturized version of a webpage simply by shaking the mouse cursor over a link. 🖱️ This innovative feature offers a convenient way to preview content without navigating away from the current page. 🌐✨ Instructions for Use: -Install the extension from the Chrome Web Store. -Access the extension settings through the popup by clicking on the extension icon. -Fine-tune the shake sensitivity using the slider to match your preferred level of interaction. -Apply the custom shake sensitivity effortlessly with a single click on the "Apply" button. -Navigate to a webpage and experience the mini web page viewer by shaking the mouse cursor over hyperlinks. -Immerse yourself in the convenience of fast and interactive previews without leaving your current page.
Chrome Emacs
Use Emacs to edit textareas and online editors Chrome Emacs enables seamless integration between Chrome's online text editors or textareas and Emacs, allowing you to edit online content directly in Emacs. Quick Installation and Setup: 1. Install Chrome Emacs Extension: Add Chrome Emacs from the Chrome Web Store to your Chrome browser. 2. Configure Emacs: Install the corresponding Emacs package. You can find a recommended fork or the original Atomic Chrome package for installation instructions and setup details at: https://github.com/KarimAziev/chrome-emacs 3. Run the Server in Emacs: Make sure Emacs is running and execute the atomic-chrome-start-server function. - Ensure Emacs is running with the server started. Navigate in Chrome to any editable text area or online text editor. - Activate the Chrome Emacs extension by clicking its icon or using a pre-configured keyboard shortcut to open the content in an Emacs buffer. - Edit as needed in Emacs; changes will synchronize back to Chrome in real time. Keyboard Shortcuts Configuration: - Configure keyboard shortcuts for activating Chrome Emacs by going to chrome://extensions/shortcuts in your Chrome browser. This lets you quickly access editing functions. For detailed information, including full installation and setup instructions, visit our GitHub page - https://github.com/KarimAziev/chrome-emacs. Version 1.2.0 - Improved Overleaf integration. In split view, double-clicking a location in the PDF now updates the location in Emacs as well. Also, switching to another file now updates Emacs with the new content. Version 1.1.0 - Added support for plain input editing. This feature is disabled by default, but can be enabled in the options. The only exception is context menus: manually opening the context menu on an input field starts an editing session. Version 1.0.3 - Fixed an issue with editors that use the latest Monaco (e.g., Coderpad), which prevented detection of the element to edit. Version 1.0.2 - Fixed an issue that caused marked text to reset in Emacs when used in Overleaf and other CodeMirror 6 editors. Version 1.0.1 - Reverted Version 1.0.0 to Version 0.9.1. The fix will be included in Version 1.0.2. Version 1.0.0 - Added support for collaborative editing in Overleaf and other editors based on CodeMirror 6. Previously, only changes from Emacs were visible to other collaborators, it now works both ways-remote edits are now reflected in Emacs as well. The cursor positions of other collaborators are no longer reset after changes made by Emacs. Version 0.9.1 - Fixed simulated clicks for iframe environments. Previously, when using editors like TinyMCE embedded in iframes, simulated clicks would fail to locate elements outside the iframe, resulting in an "element not found" error. This update adjusts the search context to properly locate and click the intended button elements even when the editor is isolated within an iframe. Version 0.9.0 - Added support for executing clicks on the elements defined by the user (for example, to click "Send" in Slack after editing). The list of allowed sites and elements' CSS selectors is described in the atomic-chrome documentation (https://github.com/KarimAziev/atomic-chrome?tab=readme-ov-file#simulated-clicks-via-custom-rules). Version 0.8.0 - Added support for Slack and other Quill-based editors. - Now, changes you make in content-editable elements include the full inner HTML markup. This means that when you edit text, any formatting you applied—such as bold, italic, or structured line breaks—is preserved exactly as displayed. Previously, only the plain text might have been captured, sometimes resulting in lost or altered formatting. With this update, you can expect a more consistent and faithful editing experience that mirrors what you see on screen. Version 0.7.0 - Added a context menu for editable elements. - Added basic support for TinyMCE and other iframe-based editors. Version 0.6.0 - Added support for CKEditor 4 and CKEditor 5. Introduced bidirectional editing functionality, though scroll synchronization remains unsupported. - Improved keyboard input for editable elements: Hint key presses now work reliably, thanks to a temporary textarea mask that prevents interference from active editors like rich text tools. Version 0.4.0 - Added an options page, which allows users to configure which letters to use for hints and exit keybindings. - Pinned icons are now highlighted according to the tab. Version 0.3.1 - Fixed an issue on some sites, such as replit.com, where editing failed due to weird ID attribute values in DOM elements. Although IDs that start with a digit are valid in HTML, they require special escaping in CSS selectors. Version 0.3.0 - The main feature is the experimental support for vscode.dev, codesandbox.io, and other sites that do not globally expose the Monaco API. - Improved textarea editing. Previously, e.g., on GitHub, after editing, the submit button would remain disabled. Now, it correctly recognizes changes. - Hints now also highlight and make editable areas clickable, further improving the recognition of editable areas. - Added support for coderpad.io. Version 0.2.2 - Manually configure file extensions for the Python and Latex languages in CodeMirror. Version 0.2.1 - Added selection handling in the Ace editor. - Fixed the Monaco editor issue with tab switching on some sites (e.g., StackBlitz). Version 0.2.0 New features: - Cursor and selection synchronization. - Support for auto-placing the Emacs frame. Changes: - Changed the default shortcut for activating the extension to "Ctrl+Period" (on Mac, "Command+Period"). - Changed the default shortcut for activating hints to "Ctrl+Shift+Period" (on Mac, "Command+Shift+Period"). Fixes: - Fixed detection of the Monaco editor on some sites. - Fixed mode detection in CodeMirror.
Hackernews Userscript
Play Hide and Seek Hackernews Userscript is a browser extension that enhances user experience while browsing https://news.ycombinator.com. It provides features which allow users to filter submissions based on a text or a regular expression: - Filter submissions by text in title or link - Filter comments by text - Hide submissions and comments from a specific user - Get visual feedback on how many items were hidden by a particular filter - Toggle hide of all the children for a hidden parent comment - Show `[hidden]` placeholder in place of hidden items - Hide an individual submission, without auto-loading the next one. You can hide everything on the page, and it will stay blank!