Fixed old-style function definitions, dropped unused variables, renamed
signal to xtm_signal (it shadowed a previous global declaration from
signal.h,) dropped the G_UN/LIKELY calls, missing includes and casted
here and there.
The task-manager-*.c files /would/ have to be individually fixed.
Switched the get_hostname() get_owner_uid() public in task-manager.c,
the owner uid is needed in the tree view class in order to filter out
user processes from others.
<sigh>
I started to rename "Show sytem processes" to "Show all processes"
and included a GtkTreeModelFilter in between the GtkListStore and
GtkTreeView but nooooo... I had to write private code to sort the
columns. In fact the GtkTreeViewColumn class assumes the model to
be sortable but GtkTreeModelFilter is not, although it provides an
accessor function to the underlying model which is.
And not to mention that understanding GtkTreeViewColumn is a task
on its own! Having the code under the hand is the only exit.
</sigh>
The function pid_is_sleeping() is implement by the different OS
implementations and returns TRUE or FALSE. It is used in the tree view
context menu to show either the signal Stop or Continue.
Base signals and priorities are defined inside the task-manager.h file
to be reused as general values inside the interface. The different OS
implementations have to do the conversion from the enumeration to real
values.
Changes touching the build:
- Bumped version to 0.5.0.
- Removed dependency on Xfce libs (it only depends on GTK+-2.0.)
- Updated Makefile with new source files.
- Build ChangeLog through a script (remove it from source tree.)
More generally speaking, the interface is build on top of a GtkBuilder
UI definition, with a personal GtkTreeView and a Settings GObject to
update the information shown on the interface on changes. All the code
is being written with GObjects which will make it a lot easier to
separate GUI code and system code.