I came to Ubuntu for it's openness and now I feel for little practical experimenting in the realms of the current GUI. Concretely I'd like to make some little changes to the Dash behaviour (single escape to quit, having selected the first item with empty search phrase, etc.) and I'd like to look how the interactive keyboard preview in the "Keyboard Layout" works.
So I imagine the tweaking/exploring process like this:
Finding out what app I'll tweak: I'd somehow observe the name and other identification of the application behind the window which I want to inspect or modify. (I have already find that
gnome-control-center regionis the command close to the keyboard layout demo.)
- My idea is using some process monitor similar to ProcessExplorer on Windows which would give me the necessary details, but with the default System Monitor it's hard to identify what window belongs to what process (there is no view like Applications in Windows TaskManager which shows only visible windows and links them to the processes).
Get the source code: Ideally some process properties would link directly to the (minimal) source package or I'd just web-search it otherwise.
Debug the instance run from source or otherwise find the place for my tweaks (in the sources), then edit/write -> compile -> test them. Afterwards I'd probably try to replace the original executable with the modified one and potentially also submit a patch (somewhere near to where I'd find the sources, I guess).
Somehow manage to still obtain automatic updates from the original creators: This is a sheer mystery how I'd achieve something like this. That would need some trigger against the changes of the original sources and the auto-compile them in the package manager or report conflict...but this is just imagination, I really don't have more clue about this step.
So, any insights on the (hard-)customizing process will be much appreciated.