Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add settings GUI and new configuration options (#69)
* �[200~Add support for vala-panel to the terminate_appmenu_registrar function. * Use new get_desktop_env() wrapper function to check for Budgie too. * Add gsettings option to pin HUD to screen rather that window. * Try importing xfconf regardless of desktop environment. * use gdk_screen_get_resolution to get DPI and use the get_dpi method as a fallback. * Better checking for avoiding panel overlap. * Speed up getting the process command line by only get the process command line for the process we care about. * Add internal settings store to ease keeping track of settings. Make location, menu separator, and width customizable. Try to do work only when a setting changes rather than every time we call the HUD. * Minor fixes * Actually set the custom width. * Don't use a negative margin * Fix list of valid locations and add more logging. * Add a GUI for changing the settings. Move common functions and defaults into a common file. * Update README * Actually install the common.py file. Whoops. * Improve isrtl function and add custom CSS for invalid fields. * Add custom CSS for changed values. * Rewrite hud-settings.py to split all the class methods out from __init__. * Add a dialog from kupfer to configure the keyboard shortcut. TODO: doesn't let us select a single modifier key like the default Alt_L * Update README * Move duplicate code getting the rofi theme list into common.py * Add ability to save recently selected menu items per application and show them at the top of the HUD list * Change the menu separator to being selectable from a list of left/right arrow pairs rather than a free for all. * Make sure the session store of the recently used list is updated when updating from gsettings or the settings app. * Add a way to select single modifier keys for the shortcut in the settings app. * Give the fields in the settings app better names. * Groundwork for making the program translatable. * Change the gettext domain to 'mate-hud' * Change all the python script shebangs to python3 from python * Add some comments. Update the separator on each invocation in case interface direction changes. * Store the menu separator pair so we don't query from gsettings every invocation but can still set to the LTR or RTL variant. * Set the preferences-system icon in the desktop file too (pending our own) * Update README * Remove validate_menu_separator function that was based on the old way of storing it * Change the width entry to a SpinButton. Don't allow invalid entries for width or theme -- if the value in gsettings is wrong, change it back to the default. Remove invalid style. * Don't accidentally add 'Recently Used ------...' to the list of recently used menu items. * Change how the values for 'recently-used-max' are interpreted to give an option to disable saving recently used menu items * Add our own icon * Update the keyboard shortcut dialog ui file against GTK3 (3.16+) * Install the rofi themes to rofi's prefix regardless where we set the prefix for the mate-hud installation. * Add plotinus service as a last method to try to retrieve menus (credit to gnome-hud). * Support plotinus from original repo: https://github.com/p-e-w/plotinus or unityx-plotinus. * Remove deprecated functions. Correctly return whether the GTK interface succeeded or not. * Remove an duplicate output option passed to inkscape in the gen_icons script * Add @2 png icons and install the scalable icon to the right directory in the hicolor icon theme. * Watch for changes to the panel and update the margin asynchronously as needed. * Get xfconf information over dbus rather than through GI -- removes optional dependency on gir1.2-xfconf0 * Add some budgie support. * Make the panel property listeners work. * Remove last xfconf gi code and switch to dbus. * Fix checking if appmenu loaded when running mate-panel * Remove unused get_desktop_env function * Add support for avoiding overlapping vala-panel. * Check which plank dock is running in case it's not the default when we're calculating the margin. * Terminate registrar (if appmenu isn't running) and kill plotinus on keyboard interrupt. * Only look in the user config dir for vala-panel config. * Try to make hud_settings.py a little more maintainable and fix using a custom width in units other than pixels. * Make sure the vala panel config directory exists before we try to watch it. * Add recently used max and none to the defaults constants. * Make HUD prompt configurable. * Add placeholder text for the prompt so you can see what the default is * Only create the settings store once. Try using a color from the theme to indicate changes in the settings app. * Do a better job using the theme color to indicate changes in the settings app. * Pipe menu items to rofi one at a time so we can show the HUD before we have collected all the menu items. For programs with many menu items makes the HUD launch almost instantly instead of having a lag. (Credit to zren/plasma-hud) * Explore the menus from first to last when using the GTK interface too. * Add HUD transparency option in gsettings. * Add transparency controls to the settings app. * Wait until we're sure we have a menu to display to start rofi. Co-authored-by: Martin Wimpress <[email protected]>
- Loading branch information