CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 18:25:03 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/RSSNext/Folo.git
etag: W/"90ee25fe6e49f0cff6adc8f1dd77910e"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=5IQ38nGI018DkFL49nEswVsJ%2B6si7AGRXOT1G%2BmH7brW0ZYo%2B5OvZY%2FvzVvcjOo1Ehj%2Bmm5JHjYD3B%2BhV5jrerIUYonMvLl92XxG6bqOKsEoCBce4z250hFxRJ55tPRp%2BQJJAjhPpEm5aU5K%2BspspXhnyPpBBrO0LlWqfOPY0dNeZg2DQ5Oa3Ewh4zm1uLo5Hehvxi3CQ%2Bqi3WfHtnDWFPZFx%2FJr%2Fzbr8iU%2FJ%2BgDUW%2FqFmwoWGn2n0AklWiGvjkFL5vGtWh3kZnFB7cgNsbycw%3D%3D--AM0CF88udWqwPPO6--4fg4USxH9IO0SZL1lK8EEQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1270115383.1753295102; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 18:25:02 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 18:25:02 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: C90A:26221E:FC3F41:12A70F0:688128FE
feat: customize shortcuts (#3786) · RSSNext/Folo@62fc0a0 · GitHub
Dismiss banner
Copy file name to clipboardExpand all lines: apps/desktop/changelog/next.md
Copy file name to clipboard
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/background/WindowUnderBlur.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/dropdown-menu/dropdown-menu.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/media/VideoPlayer.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/modal/stacked/modal.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/constants/copy.ts
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/constants/hotkeys.ts
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit 62fc0a0
authored
feat: customize shortcuts (#3786)
* refactor: update command categories and labels for consistency
- Replaced existing command categories with more descriptive names such as "Entry Render", "Global", "Integration", "Layout", "List", "Settings", "Timeline", and "Subscription".
- Updated command labels to remove unnecessary prefixes, enhancing clarity and uniformity across the application.
- Adjusted imports to include the new CommandCategory type for better type safety.
This refactor improves the organization and readability of command definitions, contributing to a more intuitive user experience.
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* update
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance command shortcut customization and recording functionality
- Added a new hotkey scope for recording commands.
- Introduced a mechanism to override command shortcuts using local storage.
- Implemented a key recorder for capturing user-defined shortcuts with validation rules.
- Updated the UI for editing command shortcuts, allowing users to customize their key bindings more intuitively.
This enhancement improves user experience by providing more flexibility in managing command shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance command shortcut customization by adding new commands
- Updated the default command shortcut for toggling the timeline column.
- Expanded the set of customizable commands to include various subscription and entry actions, improving user flexibility in managing shortcuts.
This update enhances the customization capabilities for command shortcuts, allowing users to tailor their experience more effectively.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: scope
Signed-off-by: Innei <tukon479@gmail.com>
* feat: add global commands for quick add and toggle corner play
- Introduced new global commands: "Quick Add" and "Toggle Corner Play" with associated keyboard shortcuts.
- Updated command IDs and types to accommodate the new functionalities.
- Enhanced the event bus integration for better command handling.
This update improves user interaction by providing quick access to essential features through keyboard shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: remove unused hotkey scope and streamline command bindings
- Deleted the `useSwitchHotkeyScope` hook and its references to simplify the hotkey management.
- Updated command bindings to ensure they function correctly without the removed scope.
- Enhanced the logic for determining when commands should be active based on the current focus and active scopes.
This refactor improves the clarity and efficiency of the command handling system, reducing unnecessary complexity.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: add shortcut conflict detection and enhance shortcut customization UI
- Introduced a new hook `useIsShortcutConflict` to check for conflicts between user-defined shortcuts and existing ones.
- Updated the `EditableCommandShortcutItem` component to visually indicate when a shortcut is customized by the user.
- Enhanced the `ShortcutInputWrapper` to display conflict warnings and improve user interaction when editing shortcuts.
This update improves the user experience by allowing users to easily identify and resolve shortcut conflicts, enhancing the overall customization capabilities of command shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: update command structure and enhance shortcut descriptions
- Changed the command ID for toggling the timeline column to toggle the subscription column for better clarity.
- Updated command labels to include descriptions for various commands, improving user understanding of their functionalities.
- Enhanced localization files to reflect the new command descriptions, ensuring a consistent user experience across different languages.
This update improves the usability of command shortcuts by providing clearer descriptions and a more intuitive command structure.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: introduce new keyboard shortcuts system
- Added a comprehensive command shortcut system that supports multiple categories including global operations, layout controls, timeline navigation, content rendering, subscription management, and entry actions.
- Users can access and customize key bindings through `Settings` -> `Shortcuts`.
This enhancement improves user efficiency by providing a structured way to manage keyboard shortcuts.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance focusable component with presets for improved command handling
- Introduced `FocusablePresets` to encapsulate common focus-related logic, improving code reusability.
- Updated command bindings in various components to utilize the new presets, streamlining the focus management process.
- Enhanced the `Focusable` component to support additional scopes, improving the overall functionality and user experience.
This update simplifies the management of focusable elements and enhances the command handling system.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: enhance Focusable component with asChild prop for improved flexibility
- Updated the Focusable component to support an `asChild` prop, allowing it to render a child element with focusable properties.
- Modified the BizFocusableProps interface to align with the new FocusableProps structure.
- Adjusted usage in the FeedColumn component to utilize the new `asChild` feature, enhancing the component's flexibility.
This change improves the usability of the Focusable component by allowing it to wrap existing elements while maintaining focus management capabilities.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update WindowUnderBlur and FeedColumn components for improved structure and functionality
- Refactored the WindowUnderBlur component to accept a customizable `as` prop, enhancing its flexibility in rendering.
- Updated the FeedColumn component to utilize the new `WindowUnderBlur` structure, allowing it to wrap the Focusable component directly.
- Enhanced the Focusable component's logic to include additional conditions for the SubscriptionList scope, improving focus management.
These changes streamline the component architecture and improve the overall user experience by allowing for more versatile component usage.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: update command bindings in SubscriptionList for improved focus management
- Replaced the `isFocus` variable with `inSubscriptionScope` to streamline focus handling in the SubscriptionList component.
- Updated command bindings and hotkey conditions to utilize the new `inSubscriptionScope` logic, enhancing the clarity and functionality of focus management.
These changes improve the overall structure and usability of the SubscriptionList component, ensuring better focus handling within the subscription context.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>1 parent 75e0c06 commit 62fc0a0Copy full SHA for 62fc0a0
File tree
Expand file treeCollapse file tree
80 files changed
+1411
-860
lines changedFilter options
- apps/desktop
- changelog
- layer/renderer/src
- components
- common
- ui
- background
- dropdown-menu
- media
- modal/stacked
- constants
- hooks
- biz
- common
- modules
- app-layout
- entry-column
- entry-content
- feed-column
- subview
- command
- commands
- hooks
- registry
- shortcuts
- entry-column
- components
- layouts
- entry-content
- modal
- panel
- player
- settings
- modal
- subscription-column
- sort-by
- timeline-column
- pages/settings/(settings)
- providers
- plugins/vite
- locales
- app
- shortcuts
- packages/internal/components/src
- common/Focusable
- ui/kbd
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Expand file treeCollapse file tree
80 files changed
+1411
-860
lines changedapps/desktop/changelog/next.md
Copy file name to clipboardExpand all lines: apps/desktop/changelog/next.md+2Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| 5 | + | |
| 6 | + | |
5 | 7 |
| |
6 | 8 |
| |
7 | 9 |
| |
|
apps/desktop/layer/renderer/src/components/common/Focusable.tsx
Copy file name to clipboard+27Lines changed: 27 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + |
apps/desktop/layer/renderer/src/components/ui/background/WindowUnderBlur.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/background/WindowUnderBlur.tsx+21-12Lines changed: 21 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 |
| - | |
2 | 1 |
| |
3 | 2 |
| |
| 3 | + | |
| 4 | + | |
4 | 5 |
| |
5 | 6 |
| |
6 | 7 |
| |
7 |
| - | |
8 |
| - | |
9 |
| - | |
10 |
| - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
11 | 12 |
| |
12 |
| - | |
13 |
| - | |
14 |
| - | |
15 |
| - | |
16 |
| - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
17 | 17 |
| |
18 |
| - | |
19 |
| - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
20 | 29 |
| |
21 | 30 |
| |
22 | 31 |
| |
|
apps/desktop/layer/renderer/src/components/ui/dropdown-menu/dropdown-menu.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/dropdown-menu/dropdown-menu.tsx+13-15Lines changed: 13 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6 | 6 |
| |
7 | 7 |
| |
8 | 8 |
| |
| 9 | + | |
9 | 10 |
| |
10 |
| - | |
11 | 11 |
| |
12 | 12 |
| |
13 |
| - | |
14 |
| - | |
15 |
| - | |
16 | 13 |
| |
17 | 14 |
| |
18 | 15 |
| |
19 | 16 |
| |
20 | 17 |
| |
21 |
| - | |
22 | 18 |
| |
23 | 19 |
| |
24 | 20 |
| |
| |||
95 | 91 |
| |
96 | 92 |
| |
97 | 93 |
| |
98 |
| - | |
99 |
| - | |
100 |
| - | |
101 |
| - | |
102 |
| - | |
103 |
| - | |
104 |
| - | |
105 |
| - | |
106 |
| - | |
107 |
| - | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
108 | 106 |
| |
109 | 107 |
| |
110 | 108 |
| |
|
apps/desktop/layer/renderer/src/components/ui/media/VideoPlayer.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/media/VideoPlayer.tsx+8-2Lines changed: 8 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 |
| - | |
| 1 | + | |
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
| 26 | + | |
26 | 27 |
| |
| 28 | + | |
27 | 29 |
| |
28 | 30 |
| |
29 | 31 |
| |
| |||
137 | 139 |
| |
138 | 140 |
| |
139 | 141 |
| |
140 |
| - | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
141 | 147 |
| |
142 | 148 |
| |
143 | 149 |
| |
|
apps/desktop/layer/renderer/src/components/ui/modal/stacked/modal.tsx
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/components/ui/modal/stacked/modal.tsx+7-7Lines changed: 7 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
30 | 31 |
| |
31 | 32 |
| |
32 | 33 |
| |
33 | 34 |
| |
34 |
| - | |
35 | 35 |
| |
36 | 36 |
| |
37 | 37 |
| |
| |||
192 | 192 |
| |
193 | 193 |
| |
194 | 194 |
| |
195 |
| - | |
196 |
| - | |
197 | 195 |
| |
198 | 196 |
| |
199 | 197 |
| |
| |||
253 | 251 |
| |
254 | 252 |
| |
255 | 253 |
| |
256 |
| - | |
| 254 | + | |
| 255 | + | |
257 | 256 |
| |
258 | 257 |
| |
259 | 258 |
| |
| |||
282 | 281 |
| |
283 | 282 |
| |
284 | 283 |
| |
285 |
| - | |
| 284 | + | |
286 | 285 |
| |
287 | 286 |
| |
288 | 287 |
| |
| |||
304 | 303 |
| |
305 | 304 |
| |
306 | 305 |
| |
307 |
| - | |
| 306 | + | |
| 307 | + | |
308 | 308 |
| |
309 | 309 |
| |
310 | 310 |
| |
| |||
395 | 395 |
| |
396 | 396 |
| |
397 | 397 |
| |
398 |
| - | |
| 398 | + | |
399 | 399 |
| |
400 | 400 |
| |
401 | 401 |
| |
|
apps/desktop/layer/renderer/src/constants/copy.ts
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/constants/copy.ts+3-1Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 | 3 |
| |
4 |
| - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
5 | 7 |
| |
6 | 8 |
| |
7 | 9 |
| |
|
apps/desktop/layer/renderer/src/constants/hotkeys.ts
Copy file name to clipboardExpand all lines: apps/desktop/layer/renderer/src/constants/hotkeys.ts+9Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3 | 3 |
| |
4 | 4 |
| |
5 | 5 |
| |
| 6 | + | |
6 | 7 |
| |
7 | 8 |
| |
| 9 | + | |
8 | 10 |
| |
9 | 11 |
| |
10 | 12 |
| |
11 | 13 |
| |
12 | 14 |
| |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + |
You can’t perform that action at this time.
0 commit comments