This past week in Glimmer, in addition to helping partners with their projects, I have been working on some more details of the self-disclosure implementation.
I have been adding disclosure messages for more actions, and I am currently struggling to deal with a problem with slider bars. When a user slides a bar, the context setting is modified at every movement of the bar; this means that my disclosures appear every time a foreground color changes slightly, causing over fifty pop-up disclosures with one move of a slider bar. To help fix this problem, I am trying to look more closely at signals, including where they are sent and caught, to see if I can find a “mouse-up” signal that emits when a user lets go off the mouse. If I can find such a signal, I can create a callback that connects the disclosure function with the slide bar “mouse-up” signal , so that the disclosure will display only when the user stops moving the slider bar, instead of at every slight movement.
In addition to these hacks, I have begun creating an actual GUI plug-in for the disclosures, as pop-ups are unseemly and annoying. I have successfully created a window that will open by selecting a “Disclosure” option from the Filters menu (which is the location of many GIMP plug-ins, including MediaScript). My first struggle was to allow the plug-in to open without an open image in GIMP. I solved this, and am now working on two projects- designing a more polished window, and capturing signals in a buffer pane of the window, in order to catch disclosed actions.
My goal for the next week is to add several more disclosures through the current “hacking” solution in order to learn where more of the actions in the GUI are stored in the source code. Also, I want to figure out how these GUI actions are called with signals so that I may begin catching emitted signals with my plug-in. I also plan to create a more permanent and finished disclosure log by closely modeling the logging pane of the MediaScript plug-in.

