A fork of Gnome-control-center with some tweaks
This patch does 2 things: 1) Defines a DrwTimer that we use instead of GTimer. This is just a thin wrapper around g_get_current_time, and it means we can accurately track typing/idle periods based on real-world wall-clock time, which GTimer is apparently not intended to do. 2) The typing monitor has some complicated state handling where it transitions between an IDLE state and a TYPING state. This transition is based on running a callback once per second, and checking whether any keystrokes have been recorded since the last time the callback was called. The actual idle *time* is tracked separately, independently of these two states, but only when we are in the IDLE *state* was the idle *time* checked to see if we should reset the break timer. This leads to a race condition -- if we suspend while in the TYPING state, then eventually we will wake up, notice that no key press has happened in the last second, *reset the idle timer*, transition to the IDLE state, and then check the amount of time on the idle timer. We will thus never notice the amount of time that the computer was suspended. I considered making the IDLE/TYPING transition code smarter, but it turns out the desired behavior for the two states is entirely identical anyway, so rather than adding more complexity to this pointless code, I just diked it out and replaced them both by a single state called RUNNING. Closes bug #430797. |
||
---|---|---|
capplets | ||
font-viewer | ||
help | ||
libslab | ||
libwindow-settings | ||
po | ||
shell | ||
typing-break | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.in | ||
COPYING | ||
git.mk | ||
gnome-control-center.doap | ||
gnome-control-center.schemas.in | ||
MAINTAINERS | ||
Makefile.am | ||
NEWS | ||
README | ||
TODO |
GNOME Control Center ==================== About - The control center is GNOME's main interface for configuration of various aspects of your desktop. Installation - See the file 'INSTALL' How to report bugs - Bugs should be reported to the GNOME bug tracking system under the product control-center. It is available at http://bugzilla.gnome.org. In the report please include the following information - Operating system and version For Linux, version of the C library How to reproduce the bug if possible If the bug was a crash, include the exact text that was printed out A stacktrace where possible [see below] How to get a stack trace - If the crash is reproducible, it is possible to get a stack trace and attach it to the bug report. The following steps are used to obtain a stack trace - Run the program in gdb [the GNU debugger] or any other debugger ie. gdb gnome-keyboard-properties Start the program ie. (gdb) run Reproduce the crash and the program will exit to the gdb prompt Get the back trace ie. (gdb) bt full Once you have the backtrace, copy and paste this either into the 'Comments' field or attach a file with it included. Patches - Patches should be submitted to bugzilla.gnome.org or emailed to the gnomecc-list@gnome.org list. If using bugzilla, attach the patch to a new bug report [or preferably, check to see if there is already a bug report that corresponds to your patch]. Bug reports containing patches should include the 'PATCH' keyword. Patches should be created using the unified diff form. ie. svn diff file-to-be-patched.c > patch.diff