Commit Graph

14 Commits

Author SHA1 Message Date
Nooo37 70c894e58b
fix(helpers.shape): add local (closes #180) 2022-07-23 10:36:44 +02:00
Kasper 6e4ecb334c
Improved icon theme helper (#144)
* 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
2022-05-11 18:28:32 +03:00
Kasper 338dba6292
Add playerctl v2 backends (#142)
* 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
2022-01-07 21:33:24 -08:00
Kasper e4fd438e3e
More app launcher improvements (#132)
* 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
2021-11-05 05:38:54 +02:00
Gokul Swaminathan 274df77bba Minor edits for the icon_theme and app_launcher PR 2021-11-03 14:44:03 -07:00
Kasper 7277f57730
More scratchpad fixes (#109)
* :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
2021-09-13 17:22:34 -07:00
github-actions[bot] 3fc80c7dfd Auto: format source code 2021-08-27 18:01:22 +00:00
Kasper 0fb8534191
Scratchpad improvements (#96)
* 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>
2021-08-26 10:31:27 -07:00
Nooo37 3da4906748
tab pick by direction (#78)
Adding a new way to pick a client for the tabbing groups
2021-07-27 19:54:29 +02:00
gokul swaminathan 5b6cab4099
Awestore support for scratchpads (#40)
* 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
2021-04-16 12:46:42 -07:00
Nooo37 da886cb1c4
Scratchpad feature (#35) 2021-04-08 20:17:10 +02:00
Nooo37 142b452eb2 moved sync functions to helpers 2021-03-18 15:45:37 +01:00
Grumph d41e202b43 Move helpers to one single place 2021-01-24 03:51:08 +01:00
Grumph 2ffdfc918c Add the wallpaper module 2021-01-24 03:50:44 +01:00