1

I want to improve user experience on Linux, and one of the things that I have in mind is packaging keyboard shortcuts and tracking their usage. The benefits that I see from that:

  1. Know which package provides shortcuts
  2. Easily accessible overview of who handles and overrides which shortcut in a tree view (like cascading in CSS)

Example story is that I want to add Ctrl+Shift+PrtScrn to i3wm to take partial screenshot and save it to clipboard like it works in Gnome 3. And I want this config to be installed as a generic package for all window managers.

I wonder what is the best strategy to package this usability feature? i3wm config doesn't support config.d folders, so it should be some generator that updates configs and keeps them in sync always. Is that at all possible?

1 Answers1

1

Yeah, that's possible. But it not an easy task to maintain such project that will deal with much divergence:

  • i3wm using files (as you mention)
  • gnome/unity using gsettings api (for dconf)
  • kde using KConfig api
  • ..

May be you can stick with few WM's depending on users base.

Another issue that comes to me, about implementation, it needs run as daemon or login/logout script and get its own settings store in user data folder. Because, gsettings/dconf for example run as daemon and loads/opens user store only when that user logs in the corresponding WM.

I'm not a professional programmer, I may miss some important aspects. So look for feedback from others.

Reply for OP comment:

  • Totally agree about converters (importer/exporter from/to API's), they are few and change slowly with releases.
  • However, I'm quite concern about key:values mapping between different DE's, specially if you make it generic (not just for shortcuts). There will be many configuration keys for multiple tools, and each DE uses different value type and range.

    If you could make those key:value mapping, can be customized by end user. That will remove much maintenance burden. Here is a similar case where such setting was hard-coded.

user.dz
  • 48,105
  • 1
    The component to convert shortcut from the generic definition to specifc wm definition should be written only once, and if that idea will be popular enough, people would get incentive to maintain the converter as a part of their wm packages. – anatoly techtonik Nov 06 '18 at 08:41
  • @anatolytechtonik, I have added a reply in my answer. – user.dz Nov 06 '18 at 09:36