#StackBounty: #chromium #gtk How to map super+a for select all text in chromium in gtk?

Bounty: 100

I am trying to remap the select all behavior of ctrl+a to super+a using gtk, as chromium is built with gtk. I have the following configuration in ~/.config/gtk3.0/gtk.css

    @binding-set SuperBindings {
            bind "<Super>x" { "cut-clipboard" () };
            bind "<Super>v" { "paste-clipboard" () };
            bind "<Super>c" { "copy-clipboard" () };
            bind "<Super>f" { "enable-search" () };
    }

    @binding-set SelectAll {
            bind "<Super>a" { "select-all" () };
    }
    @binding-set TextViewSelectAll {
            bind "<Super>a" { "select-all" (TRUE) };
    }

    @binding-set TextMovementBindings {
                bind "<Control>n" { "move-cursor" (display-lines, 1)};
                bind "<Control>p" { "move-cursor" (display-lines, -1)};
    }
        @binding-set WindowBindings {
                bind "<Super>q" { "close" ()};
    }
    @binding-set EntrySelectAll {
        bind "<Super>a"
        {
        "move-cursor" (paragraph-ends, -1, 0)
        "move-cursor" (paragraph-ends,  1, 1)
        };
    }
        entry {
          -gtk-key-bindings: SuperBindings, TextMovementBindings, WindowBindings, EntrySelectAll;
        }

    window {
          -gtk-key-bindings: WindowBindings;
    }

    text {
     -gtk-key-bindings: TextMovementBindings;
    }

    textview {
          -gtk-key-bindings: SuperBindings, TextMovementBindings, TextViewSelectAll;
    }

        treeview {
          -gtk-key-bindings: SelectAll;
    }

        iconview {
          -gtk-key-bindings: SelectAll;
    }

        listbox {
          -gtk-key-bindings: SelectAll;
    }

        flowbox {
          -gtk-key-bindings: SelectAll;
    }
    
        label {
          -gtk-key-bindings: SuperBindings, TextMovementBindings;
        }

With this configuration, I am able to use super+a to select all text, yet I cannot select text in search bar(in the DOM) with it. What have I missed?


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.