Created
July 16, 2017 23:37
-
-
Save emaxerrno/c662ea5ebcc7a61e2351f427d4a1058e to your computer and use it in GitHub Desktop.
fedora.poop
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| - | |
| set_fact: | |
| key_shortcuts: | |
| - | |
| binding: "'<Super>9'" | |
| command: "'xdotool search --desktop 0 --class Emacs windowactivate'" | |
| gnome_key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" | |
| name: "'emacs'" | |
| - | |
| binding: "'<Super>8'" | |
| command: "'xdotool search --desktop 0 --class Chrome windowactivate'" | |
| gnome_key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" | |
| name: "'chrome'" | |
| - | |
| binding: "'<Super>0'" | |
| command: "'xdotool search --desktop 0 --class terminal windowactivate'" | |
| gnome_key: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" | |
| name: "'terminal'" | |
| - | |
| set_fact: | |
| global_bindings: "{% for item in key_shortcuts | map(attribute='gnome_key') %}'{{item}}'{%if not loop.last%},{% endif %}{%endfor%}" | |
| - name: set shortcuts for common programs | |
| when: ansible_os_family == "RedHat" | |
| shell: | |
| if [[ $(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:{{item.gnome_key}}/ name) != "{{item.name}}" ]]; then | |
| gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:{{item.gnome_key}}/ name "{{item.name}}" && \ | |
| gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:{{item.gnome_key}}/ binding "{{item.binding}}" && \ | |
| gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:{{item.gnome_key}}/ command "{{item.command}}" && echo "{{item.name}}"; | |
| else | |
| echo ""; | |
| fi | |
| register: gsettings_cmd | |
| changed_when: gsettings_cmd.stdout != "" | |
| with_items: "{{key_shortcuts}}" | |
| # FEDORA25 BUG :( | |
| # Cannot set the custom-keybindings - crashes the gnome sessions | |
| # - name: push global settings for gnome | |
| # when: ansible_os_family == "RedHat" | |
| # shell: | |
| # #if [[ $(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings) == "*custom*" ]]; then | |
| # # gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[{{global_bindings}}]" && echo "changed"; | |
| # #else | |
| # # echo ""; | |
| # #fi | |
| # register: global_g_cmd | |
| # changed_when: global_g_cmd.stdout != "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment