-
Notifications
You must be signed in to change notification settings - Fork 17
Feat. .Desktop Actions #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Feat. .Desktop Actions #109
Conversation
|
Can you resolve the conflicts? |
|
Also please un-draft it if it's ready... |
Logs shows, it's docker's issue, as the image is unable to fetch details required. |
No like, rebase the branch on top of main. Not talking about the CI failure. Had seen already seen the logs for that. |
SoumyaRanjanPatnaik
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Preliminary review. Haven't looked at the DesktopAppPage.vala file yet. LMK if you have any queries. Will do a more thorough review later.
f379a1f to
2b8ba1e
Compare
- Fix incorrect UP/DOWN key code constants (65362/65364 swapped) - Improve cursor positioning after paste operations - Enhance keyboard navigation handling for dialog pages - Add proper Alt+D key event delegation to active pages - Improve dialog resizing for both X11 and Wayland - Add get_wm_name() method to SessionController interface
- Add fuzzy_match_score() function for string matching - Add character sequence matching - Include fuzzy_match() helper with configurable threshold - Replace old compare_desktop_apps sorting logic - Improve search accuracy for application names and keywords
- Implement desktop actions popover accessible via Alt+D - Add favorites system with Ctrl+S toggle and star indicators - Support .desktop file actions and generic actions - Include workspace management for next workspace launches - Integrate fuzzy search with favorites prioritization - Add GSettings storage for favorite apps list - Enhance app sorting to prioritize favorites over launch history
822c815 to
a7772c3
Compare
- Create standalone HelpPage class implementing DialogPage interface - Add comprehensive keybinding documentation with TreeView - Remove inline help implementation from DialogWindow
a7772c3 to
b9ef838
Compare
src/DialogWindow.vala
Outdated
| case "clipboard": | ||
| dialog_pages[0] = new ClipboardPage (); | ||
| dialog_pages[0].initialize.begin(settings, arg_map, entry, this, this.wm_name, this.is_wayland); | ||
| break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove clipboard page.
src/DialogWindow.vala
Outdated
| dialog_pages[6] = new ClipboardPage (); | ||
| dialog_pages[6].initialize.begin(settings, arg_map, entry, this, this.wm_name, this.is_wayland); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove clipboard page
src/DialogWindow.vala
Outdated
| */ | ||
| private int create_all_pages(HashTable<string, string ?> arg_map, string focus_page, ref uint start_page) { | ||
| int page_count = 6; | ||
| int page_count = 7; // increased for clipboard page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be 6 without clipboard page.
| return; | ||
| } | ||
|
|
||
| if (dialog_pages[page_num] is HelpPage) { // On help page |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HelpPage doesn't exist at this point.
src/Util.vala
Outdated
| if (pos > 0 && (s_lower[pos - 1] == ' ' || s_lower[pos - 1] == '-' || s_lower[pos - 1] == '_')) { | ||
| return 85 + int.min(10, 10 * pattern.length / source.length); | ||
| } | ||
| // Regular substring match - penalize based on position | ||
| return 75 + int.min(10, 15 * pattern.length / source.length) - int.min(10, pos / 3); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Refer to my comment on the old commit. See if you can generalize these cases and make the formula more readable. Also is there a specific reason for prioritizing cases with _,- or space?
src/Util.vala
Outdated
| // Check for acronym match (first letters of words) | ||
| if (check_acronym_match(s_lower, p_lower)) { | ||
| return 70 + int.min(15, 20 * pattern.length / source.length); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can skip this check also. We want to minimize the number of checks we do.
src/Util.vala
Outdated
| // Bonus for matching at the start | ||
| if (j == 0) { | ||
| start_bonus += 10; | ||
| } | ||
|
|
||
| // Bonus for matching at word boundaries | ||
| if (j > 0 && (s_lower[j - 1] == ' ' || s_lower[j - 1] == '-' || s_lower[j - 1] == '_')) { | ||
| word_boundary_bonus += 5; | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again not sure how this helps.
9ec7749 to
d6308c8
Compare
Added .desktop actions popover.
Works with :
Screencast_20250607_183046.mov
Added libNotify for notification (Added to Favourite)
TO DO