The easiest thing to do is go to lib.php, calendar_session_vars() which is supposed to initialize the session variables. This function is called from just about everywhere before any work is done. The isset() tests are there to prevent it from killing your custom filters.
function calendar_session_vars() {
global $SESSION, $USER;
if(!isset($SESSION->cal_course_referer)) {
$SESSION->cal_course_referer = 0;
}
if(!isset($SESSION->cal_show_global)) {
$SESSION->cal_show_global = true;
}
if(!isset($SESSION->cal_show_groups)) {
$SESSION->cal_show_groups = true;
}
if(!isset($SESSION->cal_show_course)) {
$SESSION->cal_show_course = true;
}
if(!isset($SESSION->cal_show_user)) {
$SESSION->cal_show_user = $USER->id;
}
}
What you want to do is change the last three var assignments and set them to false. Of course, you can also remove the isset() tests to be sure that they will never change from false. The rest of the calendar will think that you have filtered out these kinds of events, so you 're set.
Cheers,
Jon