* Make sure there is always a default icon
* Use get_example_icon_path to get the default icon
* Refactor scrolling to add support for left and right scrolling
* fixup! Make sure there is always a default icon
* Fix calculation happening at the wrong time
* Fix default icons again
* Where did that come from?
* Fix calculation happening at the wrong time for scroll_up as well
* Fix error on scroll right when scrolling to page where amount of rows is smaller than the selected row
* Sort search results by string similarity
* Don't sort by similarity when the search string is empty
* Add hover effects
* try_to_keep_index_after_searching should be false by default
* This should only trigger for lmb
* Add an option to hide the app launcher when clicked with lmb/rmb outside of it
* Use gtk-launch so terminal apps spawn correctly
* Use get_executable instead of get_commandline
* Add an option to set the hover colors
* Further improvements for the spawn function
* Fix scrolling/searching errors when there app list is empty
* This should never be nil anyway
* whitespace
* Refactor show, hide and toggle method + remove support for manually setting x an y (use placement)
* Add arguements for custom icon_theme (defaults to the selected system gtk theme) and icon_size (defaults to 48)
* Pass the app table instead of individual keys to create_app_widget
* Add an arguement to pass the default terminal for terminal apps as gtk-launch only uses xterm
* Reformating
* Rename 'mark_app' and 'unmark_app' to 'select_app' and 'unselect_app'
* Call :hide() from app.spawn() to avoid calling hide() twice on some cases
* Fix escape not closing the launcher after b7e44ec4
* Reduce code duplication and only reset the launcher when the animation is over (if not nil)
* Set active_widget to nil when the grid is empty to prevent from spawning the wrong app
* Override the default exe_callback
* Override the default behaviour for 'Return' via hooks instead because overriding only exe_callback still doesn't stop it from pausing the prompt keygrabber
* Set active_widget to nil on unselect
* Unselect previous app on search to avoid from spawning it when the grid is empty
* Use double quotes for everything