* Small refactor for the get_client_icon_path function
* Try to match first by icon name and then by class
* Formatting
* It's dashes
* Use methods
* Why check it every loop?
* Try to get icon by the retriving the command from the pid
* Split into multiple functions
* No newline at eof
* Remove empty line
* Gets only the process name instead of the full command
* Double quotes everywhere
* I don't need pattern matching
* I want the executable
* Check if pid is nil
* Use client icon if not found
* Class can be nil for some clients too?
* Check for nil values
* Lgi doesn't work with gtk 4.0
* Fix class being nil
* client.icon can be nil as well
* Add playerctl v2 backends
* Player should be the last arguement as it's optional
* Make v2 backwards compatible with v1
* Make cli v2 backwards compatible as well
* Delete playerctl and rename playerctl_v2 to playerctl
* Add deprecation for global signals
* Update the docs
* Player should be optional
* Fix image downloading failing on some cases
* 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
* :reset() calls :abort() anyways
* This is no longer needed
* Reduce code duplication
* A more sane name for 'current_tag_on_toggled_scratchpad'
* Don't redefine the functions on every call
* Set stickly to false
* Fix client turning on despite already being on when sticky = true
* Don't set sticky to false when the animation starts, otherwise the client in some cases will immediately disappear
* Set client.sticky = false in helpers.client.turn_off instead
* Remove unused parameter
* Better comment
* Only turn off the client when both animations have ended + stop calling :reset() on the animations
* Correctly animate non floating clients
* Fix scratchpad animations for setups with more than 1 screen
* Try to fix turn off when using multiple screens
* Make scratchpads work with rubato
* Set floating to true when animating
* Fix for clients becoming invisible after toggling off on other tags
* Fixes for animations not getting played when opening/closing scratchpad on multiple tags
* Remove old debug code
* Fix for edge case when launching an app (not via a scratchpad) and then toggle it off via a scratchpad
* Handle changing tag mid turn off animation
* Remove disable_floating_on_close
* Reorder some stuff
* Use the new ended event
* Refactor to reduce code duplication
* Fix an issue caused by not unsubscribing when switching tag mid animation
* Animate also when launching the client
* also for 4.3
* Emit the inital_apply signal on unstable
* Rename awestore to animation
* Consistency
* No need for this anymore as we are recalling :apply anyway
* Can't have scratchpads opened up as fullscreen / maximized
* Floating must be true for animations
* Rename awestore to animation
* Fix clients teleporting on turn_off when the position was changed from the initial scratchpad position
* Rename animation to rubato and notify that awestore is no longer supported
* Update documentation
* Update scratchpad.lua
Co-authored-by: gokul <33443763+JavaCafe01@users.noreply.github.com>
* remove deprecated code
* Anims
Added awestore support for scratchpad
* add checks and fixed bugs
* Fixed Bug
This fixes the weird behaviour where toggling in the middle of an
animation breaks everything.
* Tag Preview Edit (Not related to this PR)
This makes it so that hidden and minimized windows don't show up on the preview.
* add some more checks
* added docs