diogox / golauncher Goto Github PK
View Code? Open in Web Editor NEWA Linux Application Launcher (Written in Go ๐ต)
A Linux Application Launcher (Written in Go ๐ต)
Right now, the file browser mode requires you to type a valid filepath to be activated.
Ideally, it should:
Currently, when searching, the results are sorted by relevance. For convenience, the matching sub-strings should be highlighted to make the results more scanable.
Make a library that allows the community to make extensions for the launcher. Also make one for Rust (eventually).
Right now, paths starting with '~' are not detected.
For performance, the database should probably be held in memory.
Maybe a separate db needs to be made for performance critical stuff, like the app search...
ScrolledWindow would show whitespace (like a margin, of sorts), so I had to hide the whole widget on launch and on ClearResults
, then show it again after showing results.
This means that, everytime something is typed, the ScrolledWindow is hiden and shown again.
That seams very inefficient and should be fixed.
Use a ScrolledWindow to make the results scrollable.
Right now, when the app crashes, there isn't much to analyze to assert what went wrong. This needs to be fixed.
Can't detect existing app.
Eg.
Slack
Postman
When scrolling down and the mouse is on top of some previous result, the currently selected result will keep going back to the one being hovered.
Is there any way to "disable" hovering while scrolling until the mouse moves again?
Create preference for focusing an existing instance of an app when trying to open one, or create a new instance regardless?
Right now, searching 'Wikipedia', for example, won't show me the wikipedia
shortcut from shortcut mode alongside with the other results.
When the preference for keeping the input on toggle is set to true
, the launcher will show up at a slightly different position in the screen when toggled.
Keep a record of the most opened apps to improve searches based on past behaviour.
Verify this
Some icons don't show up properly in the results. They appear to be missing.
Some of these on my machine:
When launching an app, if an instance is already open, give it focus.
Allow for full text search, thus covering the description as well as the title. How would the levenshtein implementation work here?
Right now, the maximum number of results that can be shown is 6. The launcher should allow up to 9.
Apps are currently showing based on the Name
field.
Some entries, have Name[pt_PT]
(for example) that gives us the name in Portuguese. If the system language is portuguese, we should use the portuguese name, instead.
Automatically create a .desktop
file for the launcher upon first launch (Like the Jetbrains products). Probably should prompt user about this.
The current 'settings' window is not adequately styled.
Right now, the app may not compile/work correctly if one of its dependencies changes abruptly.
Currently incorrect expressions yield '0' in the result. 2+(2*3
, for example.
Right now, changing the input by adding a letter, for example, causes the launcher to delete the results, hide the scrolled window and add the new results.
That can be quite an unpleasant watch, because, sometimes, we can see the flicker caused by removing the results and adding the new ones. Maybe I should add some kind of delay before the "change" handle is executed, or simply replace the current results...
Upon installing chrome, I noticed the app wasn't added to the database as it should. Not sure why...
Right now, the database query for results, I believe, is limited to 9. Fix that, so that there are as many results as necessary.
Or maybe, make the limit a user preference.
Currently, the search functionality feels kind of clunky. Must improve it.
Right now, searching "nemo", for example, doesn't bring up the file explorer in the results on my machine.
Make a preference to whether or not the user wants the most frequent apps to show up when there's no input, or not.
Right now, the maximum number of results to be shown is fixed to 9. The user should be able to dictate how many results he wants to see.
Currently, the db is only updated when the launcher starts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.