forge-ext / forge

Forge - Tiling and Window Manager for Gnome-Shell
GNU General Public License v3.0
921 stars 49 forks source link

feat: allow override shortcuts from config file #263

Open alexjjassuncao opened 1 year ago

alexjjassuncao commented 1 year ago

Is it possible to override the shortcuts, e.g., Toggle tabbed layout <Shift> + <Super> + t with a config file?

jmmaranan commented 1 year ago

Hi @alexjjassuncao, it is possible to implement but gsettings/gschema is the way to go. Due to the tight integration with some of the APIs and prefs.

I am assuming you wanted to ask this as a discussion?

It is a pretty big enhancement to do, IMO

jmmaranan commented 1 year ago

I have seen some folks using a shell script to invoke gsettings and store that in their dotconfig files

alexjjassuncao commented 1 year ago

Hi @alexjjassuncao, it is possible to implement but gsettings/gschema is the way to go. Due to the tight integration with some of the APIs and prefs.

I am assuming you wanted to ask this as a discussion?

It is a pretty big enhancement to do, IMO

It was more like something I just wanted to clarify, but it would be awesome if this extension had the possibility to write override for shortcuts.

Example of file path:

$HOME/.forgerc
or
$HOME/.config/forge/forgerc

Then within the content of the file:

# toggle layout
<Ctrl> + <Super> + t : forge tabbed-tiling-mode-enabled
gerelef commented 1 year ago

I second this, this would make forge my go-to tiling manager extension! any idea what would be the steps required for this to be implemented?

EDIT: gsettings would work just as great for me; how I see it, it's the native GNOME solution, and configuring the gsettings for any application would be as simple as running gsettings set org.gnome.shell.extensions.forge prefs-tiling-toggle ['<MOD>KEY'] once.

EDIT 2: This could also go the way of unifying all the configuration files into one. However, that might be somewhat awkward though since the implementation currently just reads from a couple of files and this adds unnecessary complexity by having to support yet another API for integration, meaning this could break in the future with GNOME 5X, if there's any significant change. However, I don't know if there are real end user benefits (as in, "integration") for using gsettings as an API to store settings. instead of a plain text file.

humanplayer2 commented 1 year ago

I'm one of those users using a shell script with gsettings set commands. I think it works very well. I have one script where I set all my Gnome and extension shortcuts. Transparent and easy to edit.

For Forge relevant gsettings, see my comment here.