I posted last September about using a theme’s gtk.css file in ~/.themes to modify some keyboard shortcuts in Geary. This was for Geary installed from apt-type repos. Now that I have Geary v40 via Flatpak I find that it doesn’t use the same theme directory. Here is a way to specify a theme and keyboard shortcuts for Geary installed via Flatpak. I changed one or two of the shortcut command letters and also added the “step-up” feature, so after delete or archive, the next (newer) message is selected.
First run:
flatpak info org.gnome.Geary | grep Runtime
Suppose the output is:
Runtime: org.gnome.Platform/x86_64/40
Then the Flatpak theme dir is:
/var/lib/flatpak/runtime/org.gnome.Platform/x86_64/40/active/files/share/themes
Let’s call this $theme-dir. And let’s say your preferred theme is Blue-Submarine. Your preferred theme must have a gtk3.0 subdir.
Create a Geary-Blue-Submarine dir in $theme-dir:
mkdir $theme-dir/Geary-Blue-Submarine
Copy some of the files from /usr/share/themes/Blue-Submarine (as root):
# cd /usr/share/themes/Blue-Submarine
# cp -r gtk-3.0 index.theme $theme-dir/Geary-Blue-Submarine
Now go into the $theme-dir/Geary-Blue-Submarine directory.
Add these lines to gtk.css (I put them at the top). Adjust bindings as you wish.
@binding-set SingleKeyShortcuts {
bind "c" {
"archive-conversations" ()
"navigate" (step-up)
};
bind "d" {
"trash-conversations" ()
"navigate" (step-up)
};
/*
bind "r" { "reply-conversation-sender" () };
bind "f" { "forward-conversation" () };
bind "R" { "reply-conversation-all" () };
bind "slash" { "find" () };
bind "k" { "navigate" (step-up) };
bind "j" { "navigate" (step-down) };
*/
}
window.geary-main-window {
-gtk-key-bindings: SingleKeyShortcuts;
}
Then to test, run
GTK_THEME=Geary-Blue-Submarine flatpak run org.gnome.Geary
If you use a .desktop file in ~/Desktop, use this for the Exec line:
env GTK_THEME=Geary-Blue-Submarine flatpak run org.gnome.Geary
I got a lot of the above info from here:
https://forums.linuxmint.com/viewtopic.php?t=284418
I am not a theme expert or a Flatpak expert, so there may be other/better ways to do this .
Also note that the theme directory location for Geary may change after a Geary update. So you would need to do this (as root):
mv gtk-3.0/ index.theme $newdir
or
cp -r gtk-3.0/ index.theme $newdir
Also, since the above changes are in /var, you should back up any added files in case some system update/re-install wipes them out.