removed the get_num_clients function from window_switcher widget
which returned the total number of clients on the selected tag
and replaced it with the one line "#awful.screen.focused().selected_tag:clients()"
which also returns the total number of clients on the selected tag
to reduce the complexity of the code
* 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
* Prevent flashing client when only one is present
* Account for hidden clients and clients across multiple tags
Co-authored-by: SystematicError <systematicerror@users.noreply.github.com>
* 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
* Add support for multiple screens
* Add documentation
* Update wallpaper module to use single argument for screen
* Update docs for wallpaper module
* Fix arguments
* Make swallowing more robust
Changed the flags for the pstree command so it is a single line with all
ancestors.
Removed usage of sed, grep and tr so the iopopen call should be faster.
Find and match of parent pid in the ancestors string is done in lua so
should be faster.
* Improved swallow filter
Now you cna filter window swallowing with 2 tables, one for clients that
cannot be swallowed (dont_swallow_classname_list) and one for clients
that cannot swallow their parents (cant_swallow_classname_list).
* remove occurences of res var
* renamed functions and theme vars more descriptive
* updated module documentation
* check functions combined, is_in_table 1 return
* add old theme vars for compatibility
* short swallow logic and robust filter assignment
* ignore splash and dialog parents
this prevents krita and similar missbehaving programs from swallowing their
splash window.
* consistent docs formatting
* convert module to use an async function
* removed undefined error() function call
this was probably an error handling/logging on the code i used as template for
the async function and it's callback.
* deal with corner case: parent exits before client
if the parent is destroyed "on background" then awesome will show a warning.
* added meself to authors
i don't see my additions as substantial enough to justify this but... ¯\_(ツ)_/¯
* Formatting and small improvements
* Refactor to stop resubscribing each time
* Remove prints
* This is less error prone
* Fix abort when tag is switched for the new changes
* Fix animation_turn_off not getting called when only 1 animation is used
* Rename init() to reset()
* Regenerate app list when an app is installed/uninstalled
* Fix some issue with inside app content placement
* Add an option to show the generic_name of the app (used a lot in rofi text mode style)
* Set default spacing to 0
* Use a modified prompt to add methods such as :start() :stop() and some uncustomizable behaviour
* Move app_launcher into it's own folder
* Fix default values for various bools
* Why would anyone want to reverse sort alphabetically?
* Maybe someone will want that?
* Make has_value case insensitive
* Add an option to specify favorite apps (will appear first)
* Fix widget placement
* Add ctrl+v paste shortcut
* Add an option to not close the widget when launching an app
* Refactor page scrolling code to add support for wrap scrolling options
* Fix init for bool with false default values
* Fix app name halign not working
* This is padding and not margin
* Increase the height to make space for the new padding property
* Fix bg and fg setting not getting applied for the prompt
* Fix some scrolling bugs
* Add default template for text version
* Yet another scrolling issue
* This should be on by default
* Fix animation flickering
* 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
* Initial commit
* Fix missing dpi variable
* Add an option to search by command
* Add turn_on and turn_off signals
* Add options to skip apps by their names or commands
* Add an option to skip apps with no icons
* Fix looping over the wrong table
* Refactor to make it into a proper bling like widget
* Fix selecting the wrong app after a search
* Why was this in a seperate check?
* Fix various issues with toggle/show/hide
* Stop it from complaining
* Fix wrong app getting selected after scrolling up/down
* Add an option to spawn the app when pressing on it regardless if it was selected or not
* lol what?
* Don't add widgets that won't be visible after scrolling down
* Yap wasn't needed
* This is a little clearer
* Add an option 'try_to_keep_index_after_search' to mimic rofi behaviour
* Only add widgets that are visible after a search
* Fix search not adding the correct number of widgets
* Add proper customization options
* Add proper customizaiton options for the prompt
* Simplfy scroll down logic and fix possible bugs
* Add animation support
* Fix app list being empty on some occasions
* Default placement when x and y is nil
* Free up ram
* Add a default icon option
* style change
* Not needed and also hurts search peformance by a decent amount
* Fix error when trying to spawn an app when no app is currently marked
* Not needed
* Add a small debounce delay for the search to prevent it from lagging
* Formatting
* Replace menubar with app_info
* Fix the default icon option