diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..f233052 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# SGM: The STLWRT-ian GTK Modules +## GTK Modules of all kinds, for a classic GTK+ 2-esque user interface + +SGM is a collection of useful modules for GTK, mostly to restore a more +classic user interface and experience to GTK+ 3 and above. Currently, +this repository only contains the code for the "sgm-flexible-mnemonics" +module, but more are planned to follow. Similarly, this module is known +not to work with GTK 4 yet, but support for GTK 4 should come eventually +too, as long as the community doesn't drag their feet in adopting GTK 4 +but that's a different story). + +### sgm-flexible-mnemonics + +*Mnemonics* are the underlined portions of text which indicate which key to +press to activate a particular widget, be it a menu item or a button. +Prior to GTK+ 3.9.8, a setting called `gtk-auto-mnemonics` could be modified +to either always display these underlines, or display these underlines only +when the "modifier key" (typically Alt on many keyboards) was pressed. In +GTK+ 3.9.8, the latter mode is always used no matter the setting of +`gtk-auto-mnemonics`. This module restores the classic mnemonic behavior to +GTK+ 3.9.8 and later versions of GTK. + +### sgm-overlay-scrolling **(COMING SOON)** + +Traditionally, scrollbars have appeared to the side of scrolled content. +In GTK+ 3.15.0, a new means of displaying scrollbars was introduced: +*overlay scrolling*. When overlay scrolling is enabled, scrollbars do not +initially appear; instead they wait for mouse movement before appearing, +and even then appear *on top* of scrolled content instead of *to the side* +of said content. This is good for users with little screen space, and it +would be tolerable to other users if there were an easy way to disable it; +however, until GTK+ 3.24.9 there was only an environment variable to +disable overlay scrolling globally. An environment variable is tolerable, +but it needs to be set every time a GTK application is run, or else overlay +scrolling will be enabled again. In GTK+ 3.24.9, a new setting was +introduced to disable overlay scrolling globally, `gtk-overlay-scrolling`. +But this setting left users of older versions of GTK in the lurch; even +today, some users continue to use GTK versions as old as 3.18 because that +is the latest version shipped by their distributor for an old Long Term +Support release of their distribution. This module adds the +`gtk-overlay-scrolling` setting to GTK versions prior to 3.24.9, so that +conservative themes can universally set the `gtk-overlay-scrolling` +property to `false` to disable overlay scrolling -- even on GTK versions +prior to 3.24.9. + +I created this module not so much because doing so is a necessity; it +is mostly because I admittedly have a big, fat mouth and told a friend of +mine that I could write a module for this. But it's also good to have a +module that brings the GTK+ 3.24.9-and-later behavior to older versions +of GTK, I suppose. Either way, my fat mouth has cost me and you're seeing +the fruits of my embarassing talkativeness. But that's enough on the +topic of my fat mouth. + +### Planned modules for the future + + * A "GTK Inspector"-like tool for GTK+ 2 would be quite cool and useful. + Better yet, it doesn't need to be loaded all the time -- just when you + think you'll need to debug a GTK program! + + * A module to add scrollbar stepper buttons to the ends of scrollbars on + GTK 4 is in the works. I actually have it working, I just need to + commit it to this repository and clean it up a little. + +If you have any further ideas on what you want in GTK, please file an +issue on this repository! Pull requests are also welcome. If you +find an issue in one of these modules, please start an issue for that, +too. + +*** + +Thanks for checking out (pun intended) this repository! |