Add a setting to customize how article links are opened in a browser #32

Closed
opened 2026-06-30 06:05:58 -07:00 by serrebi · 2 comments
Owner

Currently, the context menu for an article in the feed list contains two items: “Open Article” and “Open in Browser”. In practice, both options behave identically — they open the article link in the system’s default browser. This makes the distinction between the two menu items redundant and confusing for users.

Additionally, there is no way to customize how the article is opened. For example, a user might want to:

  • Open articles in a browser other than the system default;
  • Launch the browser with specific command‑line arguments (e.g., --incognito for private browsing);
  • Use a particular profile or configuration for reading articles separately from regular browsing.

This lack of flexibility limits how users can integrate BlindRSS into their workflows. For instance, they may need to open some articles with logged‑in sessions in their main browser (to post comments, etc.), while preferring an isolated or incognito session for general reading.

Desired behavior

Provide a configurable way to define how articles are opened, while keeping the option to fall back to the system’s default browser behavior when needed.

Proposed solution

UI changes

Update the context menu to clearly differentiate the two options:

  • “Open Article” — opens the article using the user’s configured method (from settings). This should also be the action triggered by pressing Enter when an article is focused.
  • “Open in Default Browser” — ignores any custom settings and opens the link directly in the OS’s default browser, as it does now.
Settings changes

Add a new setting in BlindRSS preferences: “Article Opening Method” (default: “Default Browser”).

The setting should allow two modes:

  1. “Default Browser” — use the system’s default browser (current behavior).
  2. “Custom Command” — let the user specify a command template, e.g.:
    • chrome --incognito %1
    • "C:\Program Files\Mozilla Firefox\firefox.exe" --private-window %1

Where %1 is a placeholder that will be replaced with the actual article URL at runtime.

The settings UI should:

  • Provide a text field for the custom command.
  • Include a small help note explaining the %1 placeholder.
  • Optionally, provide a “Test” button to validate that the command can be executed and that the placeholder substitution works.
  • Show clear error messages if the specified command cannot be found or executed.

Acceptance criteria

  • The context menu clearly distinguishes between “Open Article” (uses user settings) and “Open in Default Browser” (ignores settings).
  • Pressing Enter on a selected article behaves the same as clicking “Open Article”.
  • A new preference option “Article Opening Method” is available in settings.
  • Users can choose between “Default Browser” and “Custom Command”.
  • Custom commands support the %1 placeholder to inject the article URL.
  • Invalid or non‑executable custom commands are detected and reported with a helpful error message.
  • Opening via “Open in Default Browser” always uses the OS default, regardless of any custom setting.
  • Keyboard navigation and accessibility requirements are preserved for all new UI elements.
Currently, the context menu for an article in the feed list contains two items: “Open Article” and “Open in Browser”. In practice, both options behave identically — they open the article link in the system’s default browser. This makes the distinction between the two menu items redundant and confusing for users. Additionally, there is no way to customize *how* the article is opened. For example, a user might want to: - Open articles in a browser other than the system default; - Launch the browser with specific command‑line arguments (e.g., `--incognito` for private browsing); - Use a particular profile or configuration for reading articles separately from regular browsing. This lack of flexibility limits how users can integrate BlindRSS into their workflows. For instance, they may need to open some articles with logged‑in sessions in their main browser (to post comments, etc.), while preferring an isolated or incognito session for general reading. #### Desired behavior Provide a configurable way to define how articles are opened, while keeping the option to fall back to the system’s default browser behavior when needed. #### Proposed solution ##### UI changes Update the context menu to clearly differentiate the two options: - **“Open Article”** — opens the article using the user’s configured method (from settings). This should also be the action triggered by pressing `Enter` when an article is focused. - **“Open in Default Browser”** — ignores any custom settings and opens the link directly in the OS’s default browser, as it does now. ##### Settings changes Add a new setting in BlindRSS preferences: **“Article Opening Method”** (default: “Default Browser”). The setting should allow two modes: 1. **“Default Browser”** — use the system’s default browser (current behavior). 2. **“Custom Command”** — let the user specify a command template, e.g.: - `chrome --incognito %1` - `"C:\Program Files\Mozilla Firefox\firefox.exe" --private-window %1` Where `%1` is a placeholder that will be replaced with the actual article URL at runtime. The settings UI should: - Provide a text field for the custom command. - Include a small help note explaining the `%1` placeholder. - Optionally, provide a “Test” button to validate that the command can be executed and that the placeholder substitution works. - Show clear error messages if the specified command cannot be found or executed. #### Acceptance criteria - [ ] The context menu clearly distinguishes between “Open Article” (uses user settings) and “Open in Default Browser” (ignores settings). - [ ] Pressing `Enter` on a selected article behaves the same as clicking “Open Article”. - [ ] A new preference option “Article Opening Method” is available in settings. - [ ] Users can choose between “Default Browser” and “Custom Command”. - [ ] Custom commands support the `%1` placeholder to inject the article URL. - [ ] Invalid or non‑executable custom commands are detected and reported with a helpful error message. - [ ] Opening via “Open in Default Browser” always uses the OS default, regardless of any custom setting. - [ ] Keyboard navigation and accessibility requirements are preserved for all new UI elements. <!-- forgejo-github-sync: issue github=serrebidev/BlindRSS#31 -->
Author
Owner

Implemented in v1.71.0.

UI

  • The article context menu now distinguishes Open Article (uses your configured method) from Open in Default Browser (always the OS default, ignoring any custom setting). Pressing Enter on a selected article behaves like Open Article.

Settings

  • New Settings → General → "Article opening method": Default browser (default) or Custom command.
  • The custom command uses %1 as the article-URL placeholder (the URL is appended if you omit it), e.g.
    • chrome --incognito %1
    • "C:\Program Files\Mozilla Firefox\firefox.exe" --private-window %1
  • There's a help note explaining %1 and a Test button that launches the command with a sample URL.
  • Empty, unparseable, or not-found commands are reported with a clear error message; if a custom command fails at open time, BlindRSS reports it and falls back to the default browser so you still get the article.

Keyboard navigation and accessibility are preserved for all the new controls.

Implemented in **v1.71.0**. **UI** - The article context menu now distinguishes **Open Article** (uses your configured method) from **Open in Default Browser** (always the OS default, ignoring any custom setting). Pressing **Enter** on a selected article behaves like **Open Article**. **Settings** - New **Settings → General → "Article opening method"**: **Default browser** (default) or **Custom command**. - The custom command uses **%1** as the article-URL placeholder (the URL is appended if you omit it), e.g. - `chrome --incognito %1` - `"C:\Program Files\Mozilla Firefox\firefox.exe" --private-window %1` - There's a help note explaining `%1` and a **Test** button that launches the command with a sample URL. - Empty, unparseable, or not-found commands are reported with a clear error message; if a custom command fails at open time, BlindRSS reports it and falls back to the default browser so you still get the article. Keyboard navigation and accessibility are preserved for all the new controls. <!-- forgejo-github-sync: comment github=serrebidev/BlindRSS#31/4845533158 -->
Author
Owner

Thanks! The issue is resolved and I’m closing it now.

Thanks! The issue is resolved and I’m closing it now. <!-- forgejo-github-sync: comment github=serrebidev/BlindRSS#31/4847350668 -->
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
serrebi/BlindRSS#32
No description provided.